F28335 学习之FLASH 搬移到RAM 运行实现方法

来源:本站
导读:目前正在解读《F28335 学习之FLASH 搬移到RAM 运行实现方法》的相关信息,《F28335 学习之FLASH 搬移到RAM 运行实现方法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《F28335 学习之FLASH 搬移到RAM 运行实现方法》的详细说明。
简介:在DSP28335中,我们一般先下载到RAM中运行调试,调试完之后下载到flash中,然后flash启动,但是要将flash的内容搬到ram中运行的话,速度会快很多,本人在研一的时候就遇到过这样的问题,很容易在论坛看到了这样的方法,下面分享给大家:

使用过TI DSP 或正在使用的人都知道,DSP 程序可以放在RAM 里面运行,也可以放在FLASH 里面运行。两者有一定的区别:

(1)前者程序运行时,连接着仿真器,后者脱离仿真器;

(2)前者断电程序丢失,后者不会;

(3)前者程序运行速度快,后者慢;

(4)二者空间大小可能不一样(取决于芯片型号);

(5)前者没有烧写次数的限制,而后者有;

所以在RAM 里面运行适合项目的初期调试,方便快捷,当最终程序全部调试完后,做成产品销售时,将程序烧写到FLASH 里面(特殊场合,比如在做高压的实验时,可以考虑将程序烧写到FLASH 里面调试)。

在上面5 点当中,第3 点我加了强调,在一个实际的项目里面,程序的运行速度是很受关注的,我曾对F28335在FLASH 里运行程序和在RAM 里面运行程序做过对比,相同的代码在FLASH 和RAM 里面运行时间如下表:

表1 FLASH 和RAM 里程序运行区别表

一段程序代码 运行时间RAM 里运行 5usFLASH 里运行 25us

从上表可以看出,RAM 里面运行程序比FLASH 里面运行程序快近5 倍(只对F28335,其它芯片不一定适用),所以寻找一种可以提高程序在FLASH 里运行速度的方法,对提高程序总体性能很有帮助。

通过很多前辈们的努力,终于寻找到一种方法:将程序烧写到FLASH 里面,上电时将程序搬移到RAM 里面运行。这即满足了掉电程序不丢失,又满足了程序运行速度高的要求,可谓一箭双雕。

本人在遇到这个问题以后,对这种方法很感兴趣,想尝试一下,找了很多资料(包括理论和实践),摸索了一天一点头绪都没有,用TI FLASH 例程也能够烧进去,但程序执行不对。开始有点灰心了,但又不死心。继续研究了一天,发现TI 给的例程和网上一些热心网友们给的例程都是将指定的代码搬移到FLASH 里面,可以通过:

#pragma CODE_SECTION(函数名, "存储器入口地址");语句完成,感觉很简单,但就是调试不出来。最后,突然想起来,可不可以不这样做,找一个能够将所有程序均搬移到RAM 里面的方法。

……

中间省略号就是本人奋斗的过程,开始之前就讲了,写这些文字是将一种方法分享给大家,至于研究奋斗的过程就不详细描述,不然恐怕说几十页纸都讲不清楚。接下来就一步步教大家如何建立一个能够将FLASH 里面程序上电时搬移到RAM 里面运行的工程。

1、 建立一个工程;(怎么建立省略)

2、 将工程里面源文件(source)的“DSP2833x_SysCtrl.c”、“DSP2833x_usDelay.asm”和“DSP2833x_CodeStartBranch.asm”文件(如果用的是TI 提供的文件就是这四个文件) 分别替换成“ DSP28xxx_SysCtrl.c ”、“ DSP28xxx_usDelay.asm” 和“DSP28xxx_CodeStartBranch.asm” 。

另外,在将“DSP28xxx_SectionCopy_nonBIOS.asm”文件添加到工程里面;

备注: “ DSP28xxx_SysCtrl.c ” 、“ DSP28xxx_usDelay.asm ” 、

“DSP28xxx_CodeStartBranch.asm”和“DSP28xxx_SectionCopy_nonBIOS.asm”

我已经放在附件里面上传了。

3、 添加CMD:“DSP2833x_Headers_nonBIOS.cmd”和“F2833x_nonBIOS_flash.cmd”。

如果工程里面已经有了CMD,要换成这2 个。

备注:“DSP2833x_Headers_nonBIOS.cmd”和“F2833x_nonBIOS_flash.cmd”也

已经放在附件里。

4、 编译烧写。

提醒:《F28335 学习之FLASH 搬移到RAM 运行实现方法》最后刷新时间 2024-03-14 00:55:53,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《F28335 学习之FLASH 搬移到RAM 运行实现方法》该内容的真实性请自行鉴别。