参考原子例程《串口IAP实验》,自己设计的STM32的硬件板,主控芯片STM32F405,由于要更新的代码有150K+,不能直接套用原子的例程。由于原子的例程是通过串口一次接收APP程序的,定义了USART_REC_LEN为120K,串口最大一次接收120K字节数据,存在ram中,超过120K的大小程序 就不能成功存储,就无法写入到flash中去了。所以我更改了读写方式,添加自己的协议方式,并不是一下子把所有BIN文件都接收过来写入FLASH,把BIN文件分成若干包,如每2K传送一次,传送当中加上帧头,帧尾,CRC,及总共多少包,及这是第几包等信息封装好的数据包,每接收一包写相应FLASH,下一包对应的FLASH地址++,具体说明见附件。附件包括有:bootloader程序 、上位机程序源码 ,说明等
IAP_release.zip
2016-11-10 10:53 上传
点击文件名下载附件 |