微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

DSP28335通过CCS将程序从Flash复制到RAM里的方法

DSP28335通过CCS6.0下载到片内Flash中,并将片内FLASH程序搬运到RAM中运行,是为了加快运算速度,有两种不同的方法

第一种是将必要代码函数搬运至RAM运行,适合代码量大的工程;

第二种是将所有代码搬运到RAM中运行,适合小工程项目。下面对第二种方法进行了描述。

1、添加DSP28xxx_Sectioncopy_nonBIOS.asm到工程目录下;

2、添加启动文件DSP2833x_CodeStartBranch.asm,并修改

注:程序运行后,从FLASH启动,会调用code_start,关闭看门狗后通过调用c_int00,来调用main()函数,所以程序从FLASH拷贝到RAM需要在c_int00之前完成。

3、修改DSP2833x_SysCtrl.c文件

4、修改DSP2833x_usDelay.asm文件,如下所示:

 5、将程序所用CMD文件换成F28335.cmd文件,并对文件内容修改(主要是SECTIONS修改,MEMORY可以不用动);

1)在SECTIONS中删除或注释掉Ramfuncs,由于amfuncs段是之前在FLASH中运行时需要把部分程序搬移到RAM中定义的段,  _DSP28x_usDelay函数就定义在该段,现在要把所有程序都搬到RAM中,故不再需要,此外,添加以下部分:

 2)修改.stack栈、.ebss全局数据、静态数据.esysmem堆;

可以修改存储大小与位置,但必须在低64K地址中即(M0,M1,L4-L7)中,(L1 -L3受保护的,放代码段的)

 3)修改代码存储位置与运行位置,具体如下:

 

 以上即修改好了,编译生成.out文件,下载到DSP中,运行时即可将FLASH中程序完全复制到 RAM中运行了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐