NXP

mc9s08dz60 BootLoader基于bin文件

2019-07-12 13:25发布

项目需求:  
  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