几款单片机的BOOTLOADER汇总

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同个项目工程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值