STM32F4 IAP升级方案探讨

2019-07-20 12:08发布

最近打算做IAP升级,用的STM32F4,遇到一个问题,就是IAP升级时是一边收数据一边写flash好还是等bin文件都收完了一次写flash好。因为有时APP程序会大于SRAM的大小,这样就不能一次收完bin文件再写了。但是一边收一边写flash(假如收2k的数据后就写flash),如果中间通信故障,那么升级失败,连原来的APP程序也运行不了了。

有什么好的办法可以避免这种问题。(也想过先把原来的APP备份在某个扇区,如果中间升级失败在回退,但是不知道这样会不会很耗时间)
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
ZhuMX
1楼-- · 2019-07-21 13:37
 精彩回答 2  元偷偷看……
Mrzeng
2楼-- · 2019-07-21 17:59
可以用外部spi flash,先将待烧录的程序通过BootLoader写入外部FLASH中,写完之后,再将数据从SPI flash读取并写入内部flash中。
ZhuMX
3楼-- · 2019-07-21 18:38
Mrzeng 发表于 2017-9-5 17:29
可以用外部spi flash,先将待烧录的程序通过BootLoader写入外部FLASH中,写完之后,再将数据从SPI flash读取 ...

嗯,但是这样会不会很耗时间?我Bin文件大约135K,以后可能还会变大
adlu
4楼-- · 2019-07-21 22:18
 精彩回答 2  元偷偷看……
Mrzeng
5楼-- · 2019-07-22 00:19
ZhuMX 发表于 2017-9-5 18:02
嗯,但是这样会不会很耗时间?我Bin文件大约135K,以后可能还会变大

看你采用的是什么通信方式来升级,usb的话也可以很快,主要看你的硬件上有什么资源,F4是自带USB OTG驱动的.

一周热门 更多>