首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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

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中的程序地址处是否一致。
继承事业,薪火相传
返回列表