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
后一篇:C语言之可变参数