DSP2812的FLASH烧写成功

2019-08-06 15:48发布

    初次接触DSP2812的FLASH烧写,在“成功”锁死2块DSP2812和处理了一堆报错后,终于烧写成功。其中CMDLIBASM文件,可以在网上下载到,大家可以找到的。
1. 一定要下载最新的FLASH烧写插件,可以避免很多奇怪的错误出现,这一点非常重要,本人就是在此问题困扰了一整天。
2.下载烧写FLASH配套CMD文件,LIB文件以及起始代码asm文件。CMD文件名称:
DSP281x_Headers_nonBIOS.cmd
CMD文件名称:F2812.cmd
LIB文件名称:rts2800_ml.lib
ASM文件名称:DSP281x_CodeStartBranch.asm
另外在RAM调试时用以下两个文件:: F2812_EzDSP_RAM_lnk.cmd DSP281x_Headers_nonBIOS.cmd
3.配置C文件 配置好主程序的C文件,才能将FLASH成功烧录,并且将FLASH中的文件拷贝到RAM中运行。
关于C文件的配置:
首先在F2812.CMD文件中,我们可以看到有关于加载FLASH到RAM的内容,以及在C文件中调用FLASH 到RAM的函数memcpy,将它放在系统初始化(InitSystem();)之后即可,所以,我们需要定义所用变量,这些定义都是:DSP281x_GlobalPrototypes.h 当中,当然,也可以放在其他系统初始化的地方。Memcpy这个函数应该是rts2800_ml.lib库文件中自带的,不需要我们定义。关于FLASH的初始化配置Initflash(); 我把它放置在Memcpy函数之后。关于ramfuncs,则在系统初始化中定义即可。如:sysctrl.c中#pragma CODE_SECTION(InitFlash, "ramfuncs"); 另外,许多朋友没有注意需要定义自己其他子程序,导致最终运行的主程序还是在FLASH中,比如你需要运行的子程序ABC,则需要定义#pragma
CODE_SECTION(ABC, "ramfuncs") 烧写成功后的注意事项:
1 。一定要拔除仿真器(JTAG端),给电路板重新上电,方能实现FLASH启动。
2.注意MP/MC引脚的电压。0为方式MC来作为计算机模式启动,3.3V为方式MP作为微处理器模式启动
3 由于GPIO引脚的F4F12F3F2决定了DSP2812的启动顺序,而从FLASH必须要在F4(SCITXDA)为1,而F12F3F2随意的状态下启动。请大家启动前确认F4引脚电压。
TMS320F2812 量产型编程器采用XDS510仿真器加TQFP176的座子来实现对TMS320F2812的编程和测试,编程底板带基本功能测试硬件电路,可以对芯片的 部分IO、串口、CAN总线、复位等功能进行测试,直接在CCS3.3里面编程和测试,无需熟悉新的编程软件,即可以做为量产前的芯片编程,也可以对芯片基本功能进行测试,主要适用于以下情况:
1、TMS320F2812芯片的批量烧录
2、TMS320F2812的芯片功能测试;
3、维修检验TMS320F2812芯片功能是否正常。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。