因为项目需要,使用TMS320F28034PNT这款MCU来进行开发。官网资源还是很多的,这里不去描述怎么安装的开发环境。
开发环境:Code Composer Studio Version: 12.8.1.00005 ,无需破解。
可以在软件中获取例程,可能28035和28034极为接近又或许我操作有误,获取到的GPIO翻转例程居然是28035的。型号改为28034会有一些警告,暂时先不管这些,28035例程用在28034上实测GPIO翻转正常。
主要记录第一次使用这款DSP芯片觉得与普通MCU不同的地方,本人使用的xds100V3仿真器。之前开发其它MCU通过开发环境仿真一般都是会先把程序下载到MCU的FLASH中然后运行,断电后重新上电会自动执行。而这款芯片不同,当我将下载到的官方GPIO翻转例程编译成功并且连接好目标板进行仿真时一切正常。断电后发现程序却没有执行,后来了解到仿真时居然把程序放到了RAM中运行,所以断电后程序不会保存。当然,也可以将程序放到FLASH中,下面只是其中的一种方法。
右键工程进入Properties

如果仿真程序保存在RAM就选择RAM_Link.cmd,如果程序保存在FLASH就选择F28035.cmd

你以为这么简单就结束了?
烧录到FLASH:
1.修改上面的cmd文件,同时记得停用其它RAM_lnk.cmd文件(在工程中.cmd文件上右键勾选Exclude from Build)
2.打开F28035.cmd文件修改屏蔽部分文件,如下图:

3. 在主函数.c文件中添加
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadSize;
extern Uint16 RamfuncsRunStart;
4. 在main主函数中的InitPieVectTable();函数后面添加:
memcpy((Uint16 *)&RamfuncsRunStart,(Uint16 *)&RamfuncsLoadStart,(unsigned long)&RamfuncsLoadSize);
InitFlash();
这样就完成了,对于网上别人说的仿真速度与脱机速度不同应该是FLASH与RAM运行速度区别导致的。另外在InitFlash();函数中记得启用Flash Pipeline模式以提高性能。
想要回到RAM仿真运行就撤销前面的修改回到最初设定。
但是FLASH中的程序不会被修改,所以重新上电还是会执行之前保存到FLASH中的程序。
总而言之,主要就是修改.cmd文件来实现烧录到FLASH或者RAM中运行调试。
以上是本人学习的部分记录,希望对大家有所帮助。
2631

被折叠的 条评论
为什么被折叠?



