C/C++教程

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

本文主要是介绍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中运行了。

这篇关于DSP28335通过CCS将程序从Flash复制到RAM里的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!