关于IAP实现flash方式更新程序

2019-07-20 19:05发布

小弟想实现一个IAP远程升级,通过局域网TCP/IP方式实现.下面是我的设计思路:
1>使用单片机内部flash,额,stm32f4zgt6内部的flash多达1M,不使用不是很浪费?
2>如下是小弟对flash资源的分配方式,大神觉得合理吧???(因为bootloder和APP都是采用lwip+ucos,比较大,所以各个分配了384KB字节空间).
0.jpg
3>大概我想使用10M字节作为缓存,一次从网口读取10M字节,然后写入单片机flash.
4>问题来了,内部flash前4个扇区是16KB,第i5个扇区是64KB,后面的就是128KB,那我假如每次写入10KB,那第二次写入数据不是会把第一次写入
的数据给删除了嘛?这个如何破(flash只能在擦除之后才能写,如果是采用扇区擦除,那10KB缓存还不够写满一个扇区,我又没有太大的ram,所以
不能采用原子的那种很粗暴的一次完全写入方式)?恳请大神指教~~~
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。