参考原子例程《串口IAP实验》,自己设计的STM32的硬件板,主控芯片STM32F405,由于要更新的代码有150K+,不能直接套用原子的例程。由于原子的例程是通过串口一次接收APP程序的,定义了USART_REC_LEN为120K,串口最大一次接收120K字节数据,存在ram中,超过120K的大小程序 就不能成功存储,就无法写入到flash中去了。所以我更改了读写方式,添加自己的协议方式,并不是一下子把所有BIN文件都接收过来写入FLASH,把BIN文件分成若干包,如每2K传送一次,传送当中加上帧头,帧尾,CRC,及总共多少包,及这是第几包等信息封装好的数据包,每接收一包写相应FLASH,下一包对应的FLASH地址++,具体说明见附件。附件包括有:bootloader程序 、上位机程序源码 ,说明等
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
本着开源交流分享的态度,之前遇到做这个在网上查的资料,看见你的那个回复。所以就把链接加到那去了,不好意思。 这个flash读写分段传输很平常的思路,就弄了弄。既然你有做好的产品 肯定比我的好 还是有市场的
一周热门 更多>