DSP2808_FLASH烧写成功经验总结
2. 下载烧写FLASH配套CMD文件、LIB文件以及起始代码asm文件。
CMD文件名称:DSP280x_Headers_nonBIOS.cmd
CMD文件名称:F2808.cmd
LIB文件名称:rts2800_ml.lib
ASM文件名称:DSP280x_CodeStartBranch.asm
另外在RAM调试时用以下两个文件:
F280x_EzDSP_RAM_lnk.cmd
DSP280x_Headers_nonBIOS.cmd
附件给出了2个CMD文件、ASM文件、LIB文件以及C文件。
其中C文件仅仅作为大家参考。
3. 配置C文件
配置好主程序的C文件,才能将FLASH成功烧录,并且将FLASH中的文件拷贝到RAM中运行。
关于C文件的配置。
首先在F280x.CMD文件中,我们可以看到有关于加载FLASH到RAM的内容:
ramfuncs : LOAD = FLASHD,
RUN = RAML0,
LOAD_START(_RamfuncsLoadStart),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
PAGE = 0
以及在C文件中调用FLASH 到RAM的函数memcpy,将它放在系统初始化(InitSystem();)之后即可:
InitSysCtrl();
memcpy(&RamfuncsRunStart,
&RamfuncsLoadStart,
&RamfuncsLoadEnd - &RamfuncsLoadStart);
所以,我们需要定义所用变量:
extern Uint16 RamfuncsLoadStart;
extern Uint16 RamfuncsLoadEnd;
extern Uint16 RamfuncsRunStart;
我的这些定义都是:DSP281x_GlobalPrototypes.h 当中,当然,也可以放在其他系统初始化的地方。
Memcpy这个函数应该是rts2800_ml.lib库文件中自带的,不需要我们定义。
另外,许多朋友没有注意需要定义自己其他子程序,导致最终运行的主程序还是在FLASH中,比如你需要运行的子程序ABC,则需要定义#pragma CODE_SECTION(ABC, "ramfuncs")
烧写成功后的注意事项:
要拔除仿真器(JTAG端),给电路板重新上电,方能实现FLASH启动。
2808使用的人比较少了 但是比较经典 稳定性比较好 公司要开发一个新的伺服驱动器,就是用2808,我也是刚接触 puu1111 发表于 2015-3-7 11:01
公司要开发一个新的伺服驱动器,就是用2808,我也是刚接触
恩现在整体使用28035等相关的比较多了 zhangmangui 发表于 2015-3-6 22:39
2808使用的人比较少了 但是比较经典 稳定性比较好
请教版主,93c66能用dsp spi通讯吗 puu1111 发表于 2015-3-9 21:12
请教版主,93c66能用dsp spi通讯吗
肯定是可以的 zhangmangui 发表于 2015-3-9 21:34
肯定是可以的
是硬件的spi是吧,你实现过吗,我一直搞不定 puu1111 发表于 2015-3-10 09:28
是硬件的spi是吧,你实现过吗,我一直搞不定
具体没操作过93C66 SPI肯定是可以实现的
GPIO模拟都可以 请问楼主所举的#pragma CODE_SECTION(ABC, "ramfuncs")这个例子,针对所有子程序还是一些特殊的子程序呢?我最近在琢磨这个,每太琢磨清楚 和cmd一块使用
页:
[1]