1.DSP-C2000系列
(1)TMS320F28335
方案1:BootLoader和APP不同项目工程
①Flash分配与cmd文件配置
a.bootloader工程的cmd文件
本例存放FLASH A区域(可根据自己实现情况重新划分区域、重新命名)
b.APP工程的cmd文件(FLASH C -- FLASH区域)
②FLASH_API使用(擦除、编写、校验Flash)
需要将TI官方提供的API库(Flash28335_API_V210.lib)等文件导入工程:
③BootLoader和APP之间程序跳转
a. 汇编指令跳转 ----- asm(" LB 0x338000");
b. 指针形式跳转 -----
④烧录程序的合并
C2000编译生成的烧录文件一般为.out后缀的文件,而我们生产烧录时候经常是用hex文件,因此需要将.out文件转换为hex文件,或者配置IDE生成hex文件,同时可将hex文件转为bin文件,方便在线升级时候使用!
Ⅰ.通过配置Code Composer Studio 开发环境的设置生成hex文件
a. 选择Project->Properties
b.勾选“Enable C2000 Hex Utility”
c.根据实际情况,配置General Option
Ⅱ.通过写入命令代码设置生成hex文件:
a.依次打开Project->Properties->Build->Steps->Post-build steps选项框加入如下命令
"${CG_TOOL_HEX}" -i "${BuildArtifactFileName}" -o "${BuildArtifactFileBaseName}.hex" - order MS -romwidth 16
同样的选框中,加入命令字符串可生成bin文件(需更改tiobj2bin文件内容,这里不详述):
"${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
Ⅲ.通过hex2000.exe工具的批处理命令:
a. out文件转hex文件
TMS320F28335.out
-map TMS320F28335.map
-o TMS320F28335.hex
-order MS
-romwidth 16
-memwidth 16
-i
--swapbytes
b. out文件转bin文件
c. hex文件转bin文件
⑤注意事项
方案2:BootLoader和APP同个项目工程
①Flash分配与cmd文件配置
整个工程只需要一个CMD文件,
②FLASH_API使用(擦除、编写、校验Flash)
③BootLoader和APP之间程序跳转
④烧录程序的合并
此方案不需要执行合并hex文件操作,生成的烧录文件自动包含Bootloader和APP的程序!
⑤注意事项
(2)TMS320F280039
方案1:BootLoader和APP不同项目工程
方案2:BootLoader和APP同个项目工程
2.ST-STM32系列
(1)STM32F1
(1)STM32F4
3.Microchip-dsPIC/PIC系列
(1)dsPIC
以dsPIC33CH512MP508为例子
方案1:BootLoader和APP不同项目工程
①存储空间分配和cmd文件配置
(2)PIC
以PIC18F为例子
4.TI-UCD系列
(1)UCD3138
(2)UCD3138128A
方案1:BootLoader和APP不同项目工程
该方案的总体框架是BootLoader1+APP1+BootLoader2(预留)+APP2!
在BootLoader和APP两个工程中,BootLoader1和APP1两个工程均有擦除、写flash操作,因此BootLoader和APP两个程序均可以将升级的数据写进APP2区域!
在BootLoader1程序中,将会判断APP1和APP2程序的完整性(CRC校验或Hash计算),以及是否需要升级等情况;
若需要升级,则将APP2的数据复制到APP1,然后跳转到APP1区域;
若不需要升级,则直接跳转到APP1区域。
①CMD文件的配置
与TMS320F28335类似,我们需要重新改写cmd文件。
②ASM文件的改写
需要改写load.asm文件..........
③FLASH操作
④烧录文件的合并
UCD3138系列的烧录文件为.x0文件,目前的方案是将.x0文件转换为hex文件后再合并完整BootLoader+APP烧录文件。
转换操作如下:
⑤注意事项
5.NXP-MC56F系列
(1)MC56F83763
方案1:BootLoader和APP不同项目工程
⑤注意事项
APP程序,重新映射中断向量表,即使只烧录APP工程的程序,程序依然可以运行!
(2)MC56F83783
方案1:BootLoader和APP不同项目工程
方案2:BootLoader和APP同个项目工程