好大一阵风

    1. 6 代码烧写固化代码需要固化,工程特性下的CMD文件肯定需要更换,即将2837xS_Generic_RAM_lnk.cmd更换为2837xS_Generic_FLASH_lnk.cmd,F2837xS_Headers_nonBIOS.cmd文件不需要变动。在RAM里调试时用的两个CMD文件分别为2837xS_Generic_RAM_lnk.cmd和F2837xS_Headers_nonBIOS.cmd,烧写到flash里时用的两个CMD文件分别为2837xS_Generic_FLASH_lnk.cmd和F2837xS_Headers_nonBIOS.cmd,其中F2837xS_Headers_nonBIOS.cmd文件可以在所有工程文件中通用,主要作用是把外设寄存器产生的数据段映射到对应的存储空间,可以跟F2837xS_GlobalVariableDefs.c文件对照一下看看。完成CMD文件更换之后,需要在工程特性下对Debug下Flash Settings进行设置,主要是设置系统时钟和分频等关系,具体设置如下图所示,设置完成后建议重新编译整个工程,最好选择Project下的Clean..进行整个工程的重新编译,编码如很多网友遇到的问题说自己代码明显做了修改编译后下载没有任何变化,这主要是没有选择Clean进行整个工程的重新编译造成下载的还是上次的可执行文件。基于Flash的CMD编译没有错误之后,进行CCS Debug,这时软件将会对MCU内部的flash进行擦除、编写等操作,也就是代码固化的过程,这个过程非常重要,烧写过程中编码目标板的断电,仿真器的断开等操作都可能造成MCU的锁死或损坏,将无法再次使用。烧写完成后点击Refume(F8)将开始运行代码,用户LED灯D10开始闪烁,为了验证代码是否固化成功,我们可以断电再次上电看看有没有正确运行,如果LED灯正常闪烁,说明我们的代码已经固化到MCU内部Flash中,并且上电后自动引导并开始执行。同时我们可以对比一下,相同的代码和时钟配置,在RAM中运行的效率和在Flash中运行的效率,据了解在Flash中运行的效率只是RAM中的70-80%,当然没有做过详细的验证,大家可以通过LED灯的闪烁频率目测一下。注意:MCU的系统时钟在配置的时候不能超过200MHz,不然编译没有错误,但是烧写Flash时会报错。 7 总结C2000 Delfino LaunchPad是一款价格低廉的评估套件,它为设计人员或入门学习者提供方便,无需单独供电电源和仿真器,只需mini USB线即可开始入门学习,评估套件设计文件和源代码都免费提供,可以快速实现产品的升级和更新换代。C2000 Delfino LaunchPad板载单核F28377S微控制器,可在200MHz C28x CPU和200MHz实时协处理器(CLA)之间提供400MIPS的系统性能,同系列产品丰富,同时可以选择双核器件2837xD系列完成更高性能产品的设计。总之,C2000 Delfino LaunchPad物美价廉,你值得拥有!
    2. 4 工具安装4.1 CCS安装下载完成的离线安装包打开运行可执行文件,关闭一些杀毒工具,同意安装协议,进行下一步。选择安装路径,避免中文路径,进行下一步。选择需要安装的产品系列,本次演示只安装C2000 MCU系列,右侧提示信息可以看到所支持产品系列,进行下一步。选择安装仿真器,选择安装TI XDS系列,其他系列可以选择安装,后期使用可能会有冲突等,选择下一步。CCS拥有的App Center,根据个人情况选择安装,最后选择Finish开始软件安装。等安装完成之后,选择在桌面和开始菜单里面创建快捷方式,方便软件启动时使用。4.2 仿真器驱动安装安装CCS过程中TI XDS仿真器的驱动已正常安装,可以通过安装CCS的路径下进行查看,路径为TIccsv6ccs_baseemulationdrivers tdi_drivers,进入可以看到基于windows的USB驱动文件,如下图所示。通过Mini USB线缆将LAUNCHXL-F28377S LaunchPad板卡和PC机连接,可以看看是否自动完成仿真器驱动的安装,如果没有可以选择手动安装,将驱动的查找目录指定到TIccsv6ccs_baseemulationdrivers tdi_drivers下,即可完成仿真器驱动的安装。安装完成后在资源管理器中可以看到TI XDS100串行设备和USB转串设备,具体显示如下图所示。4.3 遇到错误及解决办法在实际连接使用过程中可能遇到如下图所示的错误,解决办法是将资源管理器中USB转串的通用COM口强制改为COM65,波特率为9600,再次连接将不会出现类似错误。具体方法为打开COM口属性,选择高级属性。COM端口号选为COM65,点击确定。在目标板和CCS首次连接过程中,可能会进行一些配置,如果正常通讯了可以看看LaunchPad板上仿真器部分电路的LED灯D7开始闪烁,说明上位机软件已经和板载仿真器开始通信。个人在完成驱动等安装之后,使用CCSv6.1.1进行Debug时遇到了如下图所示错误,可以看出是TI XDS510驱动的问题,最后还是没能解决,最后选择安装CCSv6.1.0直接连接没有遇到类似问题。注:如果打开CCS找不到2837xS Delfino系列,说明CCS版本太低,建议安装更高版本。4.4 controlSUITE安装controlSUITE是一套基于C2000微控制器的必备软件和工具,此工具完全免费,主要是用来缩短软件开发周期,里面有很多EVM板的详细资料和例程供参考设计使用,其最大的缺点是不能自动升级更新,所以建议使用者下载最新版的进行安装。如下图所示,安装后最长使用的是development_kits和device_support,前者针对TI的一些EVM开发套件;后者是C2000系列的支持库,里面主要包括目前主要的系列,如F2837xS系列。进入F2837xS系列我们可以看到主要包括文档(doc),通用文件(F2837xS_common),单核例程(F2837xS_examples_Cpu1)和头文件(F2837xS_headers),后面将进行的工程演示主要借助通用文件和头文件进行。5 CCS工程新建1) 启动CCSv6软件,选择File—>New—> CCS Project,Target选择2837xS Delfino,目标器件选择F28377S LaunchPad板上核心器件TMS320F28377S,需要注意的是如果CCS版本比较低,可能就找不到目标器件型号,建议安装最新版CCS;Connection选择板载仿真器XDS100v2 USB Debug Probe;给工程命名(英文)如gpio,选择工程路径Location;最后选择一个空的工程(Empty Project),点击Finish。2) 工程新建完成后,gpio工程下Includes将包括了编译器自带的各种通用头文件,如"string.h"等,但不是MCU的头文件,MCU的相关头文件后面将会讲解如何添加或指定搜索路径;同时在新建完成后工程经会自动生成28377S_FLASH_lnk.cmd文件,后面可以根据自己的需要修改CMD文件。3) 接下来进行工程特性的配置,基于工程名gpio右击选择“Properties”,首先进行“Include Options”配置,也就是借助controlSUITE提供的各个系列型号的头文件等资源指定到当前工程中来,这样编译调用的时候将会根据指定路径自动查找;根据自己安装的controlSUITE工具路径分别指定到F2837xS_commoninclude和F2837xS_headersinclude下;如果不想基于controlSUITE,就需要你有自己工程中将使用的所有头文件直接添加到工程下或指定到自己存放的路径。4) 预定义设置,TMS320F28377S为单核,如下图所示方法增加Pre-define命名为"CPU1",这样确保头文件等在调用编译时能正确的选择CPU。5) 设置文件搜索路径,主要设置库文件和CMD文件输入名称和对应的搜索路径,搜索路径为F2837xS_commoncmd和F2837xS_headerscmd,同时也可以将自己需要的库文件和cmd文件直接添加到工程目录或指定到自己存放的目录下。6) 在C2000 Linker Advanced Options下设置程序入口为code_start。7) 按照上面的方式设置完成,点击“OK”确定,设置中增加的Include路径在工程中都将体现出来。接下来我们需要添加一些TI提供的源文件用于GPIO的配置和工程的运行,在工程中右击选择“Add files..”,按照下面路径添加需要的源文件:n F2837xS_commonsource F2837xS_CodeStartBranch.asmn F2837xS_commonsource F2837xS_usDelay.asmn F2837xS_commonsource F2837xS_SysCtrl.cn F2837xS_commonsource F2837xS_Gpio.cn F2837xS_headerssource F2837xS_GlobalVariableDefs.c最好选择Copy files将文件拷贝到工程目录下来,这样在我们做相关修改或工程拷贝比较方便。添加完所需源文件后如下图所示。8) 创建一个我们需要的源文件,在工程上右击选择New—>Source File,输入源文件名称,选择文件类型,选择“Finish”文件将自动创建并添加到当前工程中来。9) 在新建的源文件中编写代码,如下面代码用来控制F28377S LaunchPad板卡上用户LED灯D10开始闪烁。/** gpio.c** Created on: 2015年12月25日* Author: zhangmangui*/#include "F28x_Project.h"void main(void){uint32_t delay;InitSysCtrl();EALLOW;GpioCtrlRegs.GPADIR.bit.GPIO13 = 1;EDIS;GPIO_SetupPinOptions(17, GPIO_OUTPUT, GPIO_PUSHPULL);GPIO_SetupPinMux(17, GPIO_MUX_CPU1, 0);GpioDataRegs.GPADAT.bit.GPIO13 = 1;while(1){GpioDataRegs.GPADAT.bit.GPIO13 = 0;for(delay = 0;delay
    3. 【MSP430趣谈】MSP430第十二讲之ADC(下) 4/3680 微控制器 MCU 2016-03-30
      (*@ο@*) 哇~又出新帖了 说真的,感谢楼主,这一系列内容让我收获不少。
    4. 猜猜看——图中Vout 是多少? 26/4338 模拟与混合信号 2016-03-28
      看看答案
    5. MARK,慢慢消化!
    6. 【MSP430趣谈】MSP430第十二讲之ADC(上) 9/5551 微控制器 MCU 2016-03-22
      来晚了,好帖!这一系列帖子都写的很好!

最近访客

< 1/1 >

统计信息

已有7人来访过

  • 芯积分:--
  • 好友:--
  • 主题:10
  • 回复:6

留言

你需要登录后才可以留言 登录 | 注册


sanbu 2020-4-1
你好 看到您对TI的这个很熟悉 我们有与NIR SCAN NANO相关的项目 不知可否找您咨询或合作? 详情可加我微信同手机号:13601846772  谢谢  张
查看全部