说明是针对野火的DSP28335开发板里的例程进行实验的,环境是CCS5.5,已经验证。开发板里的例程都是在RAM里运行的,每次开机都是祝你生日快乐的音乐,经过一周的努力终于不用再受音乐的困扰。可以随意烧写任何程序。
把一个原来是烧写到DSP的片内RAM的程序修改成是烧写到DSP片内FLASH的程序,
需要以下几个步骤:
1.添加DSP2833x_CodeStartBranch.asm文件
添加D:\tidcs\c28\DSP2833x\v131\DSP2833x_common\source\DSP2833x_CodeStartBranch.asm文件,此文件负责上电后程序执行顺序跳转的;
2.添加DSP281x_Headers_nonBIOS.cmd文件
添加D:\tidcs\c28\DSP2833x\v131\DSP2833x_headers\cmd\DSP2833x_Headers_nonBIOS.cmd文件,用于将DSP28头文件中的外设结构与存储器地址对应起来;
3.删除28335_RAM_lnk.cmd文件
把28335_RAM_lnk.cmd文件从project中移除,用右键选择28335_RAM_lnk.cmd然后选delete;
4.添加F28335.cmd文件
右键选择project名称,然后选add file to project,然后出现浏览框,在D:\tidcs\c28\DSP2833x\v131\DSP2833x_common\cmd这个子文件夹下,选择F28335.cmd,点OK,至此可以在project的文件列表内看到F28335.cmd被添加到project中;
5.添加两行代码
在main()函数开头添加如下语句:
MemCopy(&RamfuncsLoadStart, &RamfuncsLoadEnd, &RamfuncsRunStart);
InitFlash();
注意不要添加错了,每一个字母都要正确,括号也要用英文括号;
6.添加DSP2833x_MemCopy.c文件
右键选择project名称,然后选add file to project,然后出现浏览框,找到D:\tidcs\c28\DSP2833x\v131\DSP2833x_common\source文件夹中的DSP2833x_MemCopy.c文件,然后点OK;
7.选择Boot mode
把拨码开关拨到1、2、3、4处,即将Boot mode选择为1111。
8.编译后进行Debug
编译没有错误后即可进行Debug,此时将代码烧写到FLASH中,而不是RAM中。
9.注意事项
(1)下载完如果想要脱离仿真器重新上电运行,必须断掉仿真器与板子的JTAG连接,否则运行程序会出错,之前我只把仿真器上的USB和电脑断开,而JTAG接口未断开,所以出现运行不正常的现象,这一点很重要!