IAP在线烧录实现记录(蓝牙->CAN->LPC1114)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gkxg001/article/details/81203226

最近接手一个项目是对现有设备实现在线烧录的功能,各种坑完来来回回一个月了,才通过内部测试,趁着热乎,总结一下。

需求原因:由于外围设备较多,现场烧录不便,所以迫切需要解决外围设备的在线烧录问题。

整体方案:手机APP+蓝牙模块+系统控制器+外围设备。通过手机或平板中的APP加载烧录文件,通过蓝牙将烧录文件传输到控制器,控制器通过原有的CAN发送至外围设备。

编程环境:

APP: 安卓、eclipse

主控:STM32105 KEIL

外围:LPC111系列 KEIL

具体实现:

1、内部bootloader转换部分的具体实现方法主要参考LPC的参考手册,21,7IAP命令章节。

2、关于编译器配置问题主要参考网上一个资料,https://blog.csdn.net/jdsnpgxj/article/details/71479995,需要注意的是同一个扇区不可分到两个程序中去。

3、加密策略采用AES,主要参考:http://csrc.nist.gov/publications/fips/fips197/fips-197.pdf这个是原理级别的说明,只看了个大概,具体的参考的百度文库里的一个文件,找不到了,我看周立功官网也有,有需要的可以去找下。

扫描二维码关注公众号,回复: 3473801 查看本文章

4、具体的流转图如下:

踩过的坑无数,最大的是一个小的注意事项:当调用IAP的接口函数时注意需要将所有中断暂时关闭,否则可能偶尔出现烧录失败的问题。

项目是给公司做的,肯定不能外发。但有个参考的DEMO大家有需求的可以看下,应该会有帮助。

demo程序、芯片手册及注意事项:https://download.csdn.net/download/gkxg001/10564368

猜你喜欢

转载自blog.csdn.net/gkxg001/article/details/81203226
GT4
今日推荐