你说的这种方式风险很大。原本IAP就是个高风险的过程,代码从SRAM刷入Flash的过程要谨防断电、动作越快完成越好;你可倒好,一边低速接收一边慢慢改写Flash的内容,将这个高风险的刷机时间人为延长了N倍。
更可怕的是你对Flash完全没有认知,还想不缓冲直接写Flash?连扇区缓冲都不用?整个扇区你不问青红皂白先一股脑擦掉、再慢悠悠地一个字节一个字节接收写入?
这个思路,做做论文、搞搞研究还行,真用到产品里面会坑死一家厂的。
双buf,交替读写,当然如果你外部SRAM够大就直接写SRAM,完成后读出即可
STM32官方有示例程序。