打印

DSP2812的FLASH烧写成功

[复制链接]
1844|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jxmzzr|  楼主 | 2013-9-9 21:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    初次接触DSP2812的FLASH烧写,在“成功”锁死2块DSP2812和处理了一堆报错后,终于烧写成功。其中CMD\LIB\ASM文件,可以在网上下载到,大家可以找到的。
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引脚的F4\F12\F3\F2决定了DSP2812的启动顺序,而从FLASH必须要在F4(SCITXDA)为1,而F12\F3\F2随意的状态下启动。请大家启动前确认F4引脚电压。
TMS320F2812 量产型编程器采用XDS510仿真器加TQFP176的座子来实现对TMS320F2812的编程和测试,编程底板带基本功能测试硬件电路,可以对芯片的 部分IO、串口、CAN总线、复位等功能进行测试,直接在CCS3.3里面编程和测试,无需熟悉新的编程软件,即可以做为量产前的芯片编程,也可以对芯片基本功能进行测试,主要适用于以下情况:
1、TMS320F2812芯片的批量烧录
2、TMS320F2812的芯片功能测试;
3、维修检验TMS320F2812芯片功能是否正常。
评分
参与人数 1威望 +6 收起 理由
zhangmangui + 6 赞一个!

相关帖子

沙发
zhangmangui| | 2013-9-9 23:19 | 只看该作者
感谢分享   不错   

使用特权

评论回复
板凳
拿起书本| | 2013-9-11 11:25 | 只看该作者
步骤详细,清晰,让人一看就懂。楼主辛苦!顶

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

460

主题

2188

帖子

12

粉丝