打印

F2812烧写FLASH及其搬移程序(bootloader)方法

[复制链接]
781|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Plantt|  楼主 | 2017-10-13 10:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
F2812烧写FLASH及其搬移程序(bootloader)方法


F2812烧写FLASH及其搬移程序(bootloader)方法所需准备“材料”:

1、F2812评估板一套
2、DSP.com/forum.php?mod=forumdisplay&fid=58" target="_blank" class="relatedlink">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中的程序地址处是否一致。

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

637

主题

901

帖子

4

粉丝