加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

dsp学习之如何烧录程序到FLASH

(2016-04-05 16:57:20)
分类: dsp
三个必要条件:
1.在工程中添加MemCopy.c文件
2.在工程中添加F28335.cmd文件(可能是别的名字,内容是定义了寄存器映射地址)
3.将存放在FLASH中的部分代码复制到RAM区执行,主要为void InitFlash()函数,主要分以下几部:
  • 编写InitFlash()代码,用来初始化FLASH状态寄存器,该段代码在SysCtrl中:
  • void Init_Flash(void){
  • ……
  • }
  • 通过伪指令将InitFlash函数分配至初始化自定义段ramfuncs,该段代码在SysCtrl中:
  • #pragma CODE_SECTION(InitFlash,"ramfuncs");
  • 定义初始化段ramfuncs,并通过SECTION伪指令规定段将装在在存储器内的何处以及在存储器内何处运行,该段代码在F28335中:
  • SECTION
  • {
  • ramfuncs:LOAD=FLASH,
  • RUN=RAML,
  • LOAD_START(_RamLoadStart),
  • LOAD_END(_RamloadEnd),
  • RUN_START(_RamRunStart),
  • ……
  • }
在main.c中添加如下语句:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();
另:如果要换成烧录到ram,则只须将上述的两行代码注释掉,并且将F28335.cmd换成28335_ram_link.cmd文件,一个简便的方法便是将两个文件都加入工程,并且将其中一个设定为禁止编译即可。设定方法右键文件打开属性对话框,选中Exclude resource from build


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有