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之前完成。
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受保护的,放代码段的)
以上即修改好了,编译生成.out文件,下载到DSP中,运行时即可将FLASH中程序完全复制到 RAM中运行了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。