[资料分享] F2812烧写FLASH及其搬移程序(bootloader)方法

Aguilera   2018-6-22 22:41 楼主
F2812烧写FLASH及其搬移程序(bootloader)方法所需准备“材料”:


1、F2812评估板一套
2、DSP-CCS平台
3、仿真品一套
4、要烧写及搬移的程序
5、TI的烧写插件
6、合众达烧写算法程序
7、自己的搬移程序


bootloader操作步骤


(前提是程序编译通过,并且可以通过仿真器在RAM中运行)


(假设要烧写的程序为app.pjt,烧写算法程序为lash_p.pjt,搬移程序为schlep.c)


1、  将要烧写的app.pjt程序的CMD文件进行改写,保证其程序部分放到一个连续的数据空间中(要将生成的程序块定义到数据空间,下一步的flash_p算法程序对其顺序烧写到指定的FLASH块中)。


2、  编译成功后,对其进行load program ,将其load到指定的RAM中。


3、  打开工程文件flash_p,将算法部分的源程序地址及目标地址进行修改,源程序地址根据app.pjt中CMD文件配置的地址;目标地址即要将程序放置的FLASHF地址;定义的烧写长度一定得不小于所要烧写的程序的长度。(对app.pjt进行编译后,可在生成的app.map文件中查看其程序段的起始地址及长度。)


4、  编译flash_p.pjt文件,编译成功后,对其进行load program,可在程序中校验完成后设置断点(否则程序会进入循环,另:烧写部分有擦除、烧写、校验三个部分),到达断点程序停止运行,如果没有出错的话,这一步已经完成了烧写FLASH的工作。若要查看烧写的情况,可打开汇编窗口(菜单—>windows—>assembly)对源地址(数据空间中)及目标地址(FLASH空间中)进行比对,看其是否一致。


5、  采用TI的烧写插件烧写自己的搬移程序。在自己的搬移程序中要正确写入程序入口地址,即要搬移到RAM中的入口地址,此地址也可在app.map文件中查看到。有个前提条件:即此处搬移的RAM地址要和第一次load app.out的起始地址完全相同,这样才可保证入口地址的一致性。此步骤完成后,可打开汇编窗口观察是否搬运成功。查看0x3f7ff6处,是否是一条跳转指令 LB  _c_int00,再察看FLASH中的程序地址处与要搬移至RAM中的程序地址处是否一致。

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复