[串口烧写] DSP2808_FLASH烧写成功经验总结

[复制链接]
3364|9
 楼主| puu1111 发表于 2015-3-6 12:05 | 显示全部楼层 |阅读模式

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启动。

评分

参与人数 1威望 +6 收起 理由
zhangmangui + 6 很给力!

查看全部评分

zhangmangui 发表于 2015-3-6 22:39 | 显示全部楼层
2808使用的人比较少了   但是比较经典   稳定性比较好     
 楼主| puu1111 发表于 2015-3-7 11:01 | 显示全部楼层
公司要开发一个新的伺服驱动器,就是用2808,我也是刚接触
zhangmangui 发表于 2015-3-8 22:08 | 显示全部楼层
puu1111 发表于 2015-3-7 11:01
公司要开发一个新的伺服驱动器,就是用2808,我也是刚接触

恩  现在整体使用28035等相关的比较多了
 楼主| puu1111 发表于 2015-3-9 21:12 | 显示全部楼层
zhangmangui 发表于 2015-3-6 22:39
2808使用的人比较少了   但是比较经典   稳定性比较好

请教版主,93c66能用dsp spi通讯吗
zhangmangui 发表于 2015-3-9 21:34 | 显示全部楼层
puu1111 发表于 2015-3-9 21:12
请教版主,93c66能用dsp spi通讯吗

肯定是可以的  
 楼主| puu1111 发表于 2015-3-10 09:28 | 显示全部楼层

是硬件的spi是吧,你实现过吗,我一直搞不定
zhangmangui 发表于 2015-3-10 21:20 | 显示全部楼层
puu1111 发表于 2015-3-10 09:28
是硬件的spi是吧,你实现过吗,我一直搞不定

具体没操作过93C66     SPI肯定是可以实现的
GPIO模拟都可以
zlh8318 发表于 2015-3-31 09:41 | 显示全部楼层
请问楼主所举的#pragma CODE_SECTION(ABC, "ramfuncs")这个例子,针对所有子程序还是一些特殊的子程序呢?我最近在琢磨这个,每太琢磨清楚
njyangzhifei 发表于 2015-4-1 16:51 来自手机 | 显示全部楼层
和cmd一块使用
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

14

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部