没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
1
F28335 学习系列一
——FLASH 搬移到 RAM 运行实现方法
本人学习 28335 有一段时间了,每次都有这样的感觉:“讲解 F28335 的资料太少了!”。
特别是在使用 F28335 遇到困难时,往往要调动百度, google 等各大搜索引擎,方能寻觅点
零星的资料。店面上出售的 TI C2000 系列 DSP 中文资料以 2407 和 2812 为多,全部讲解的
28335 的中文资料没有(不知道是不是我没有发现,有的同志,麻烦您给我留个言啊)。我
现手上有一本参考书:<<TMS32x28xxx 原理与开发>>,电子工业出版社,这里面讲到了
28335 的几个模块,刚开始学习的同志可以借鉴下。
学习的方法主要有 2 种,理论学习和实践学习。在正式讲述本节内容之前我先强调下,
我写这些文字没有很复杂的理论知识介绍,也没有很详细的原理讲述,我传递的只是一种方
法,能够帮你解决问题的方法。当然,我不是强调理论知识不重要,因为这里如果理论也介
绍,方法也介绍,恐怕每个方面都讲不清楚,而且看起来也比较费劲,理论知识总让我想起
一串串复杂的公式。本节就是教会你怎样将 F28335 在 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 里运行
5us
FLASH 里运行
25us
从上表可以看出,RAM 里面运行程序比 FLASH 里面运行程序快近 5 倍(只对 F28335,
其它芯片不一定适用),所以寻找一种可以提高程序在 FLASH 里运行速度的方法,对提高
程序总体性能很有帮助。
通过很多前辈们的努力,终于寻找到一种方法:将程序烧写到 FLASH 里面,上电时将
程序搬移到 RAM 里面运行。这即满足了掉电程序不丢失,又满足了程序运行速度高的要求,
可谓一箭双雕。
本人在遇到这个问题以后,对这种方法很感兴趣,想尝试一下,找了很多资料(包括理
论和实践),摸索了一天一点头绪都没有,用 TI FLASH 例程也能够烧进去,但程序执行不
对。开始有点灰心了,但又不死心。继续研究了一天,发现 TI 给的例程和网上一些热心网
友们给的例程都是将指定的代码搬移到 FLASH 里面,可以通过:
#pragma CODE_SECTION(函数名, "存储器入口地址");语句完成,感觉很简单,但就是调试
不出来。最后,突然想起来,可不可以不这样做,找一个能够将所有程序均搬移到 RAM 里
资源评论
- vicnic2014-07-11还需要修改CMD
- shibeizhe2015-08-01实现了将代码从flash搬到RAM中运行,代码执行小效率快了3倍! 哈哈~
- kunmanaurora2015-04-21没有附件,
- dugong842013-03-13看一下,是不是不是原创呢,没有附件,但看文档不知道如何实现的,总体应该是改cmd文件吧,自己再摸索摸索,感谢分享
yejieku
- 粉丝: 1
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功