mc9s08dz60 BootLoader基于bin文件

来源:互联网 发布:卡来宝网络培训诈骗 编辑:程序博客网 时间:2024/06/07 23:42

项目需求:

  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


原创粉丝点击