我看老工程师在做IAP的时候会习惯将flash分成三个区:boot app app_back
即一个引导升级区 一个用户程序区 一个用户程序备份区
要用户程序备份区的原因是怕升级过程中出问题
但他们这样分了三个区 flash占太多
我在想用USB DFU的方式进行IAP能不能直接两个区::boot app
这种方式会不会出现升级有问题导致无法启动的问题
理论上,一个boot,一个app是完全满足的。
只要你的BOOT程序写的稳定,升级机制和算法方式的当。
大不了,这次程序升级失败,我在升级一次就可以得到解决。
不过,如果你的程序如果只升级了一半之后,就被中断了,
程序设计不合理,再次重启,整个程序卡死。不能重新升级,那就变砖了。所以,你设计BOOT的时候,需要考虑到这样的状况。
这个就与你的BOOT程序 有很大的关系。