mc9s08dz60 BootLoader基于bin文件

项目需求:

 

  1. 统一BootLoader下载协议为客户协议。
  2. 统一BootLoader下载文件类型为bin文件。
  3. Boot时需要备份,如果中途下载失败需要恢复成之前版本。

硬件环境:

 

 

  1. MCU: mc9s08dz60.
  2. ZLG USB-CAN II.
  3. 项目控制器。

软件环境:

 

 

  1. WIN7.
  2. CodeWarrior10.7.

通常来说,大家写NXP的BootLoader用s19文件进行下载的较多。使用CW10.7编译,默认生成abs文件及s19文件。实际上可以通过修改设置直接生成bin文件,但是十分不建议这样做。实测CW10.7直接生成bin文件有bug(全局变量初始化代码丢失)。如下是s19文件转化为bin文件的步骤:

 

 

  1. 打开buner如下图,路径为CW10.7安装路径/MCU/prog。
  2. 点击burner dialog,选择input file(生成的abs文件),选择file(转换后文件储存路径及名称)如下图
  3. Content的选择如下图
  4. 点击该按钮

这里需要着重说明一下,bin文件不包含程序的地址和长度。步骤3填写的0x8500是程序的起始flash地址,0x6900是程序的长度。生成的bin文件用FlexHEX打开如下图:

 

可以看到,bin文件从地址为0x0000开始到0x68FF结束,长度一共0x6900,与事先设定相符。最后实现的结果为,刷写后MCU Flash中地址0x8500 - 0xEDFF与上图打开0x0000- 0x68FF数据完全相同。刷写后可以通过PE对比查看Flash中的数据。

BootLoader的工作过程如下:

                                                                                                                                                                                                  

源码链接:http://pan.baidu.com/s/1hsgWbcC

删除了源码链接

写博客的目的为了促进大家学习交流。如果有同学想直接获得bootloader+app+上位机源码,看需求定价格(3000以上)。

联系方式,邮箱:448088798@qq.com

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值