关于网上大量出现的ch582代码被分为jumpIAP,app,IAP等分区,并非强制要求吧。

我看这样分区好像是南京沁恒的例子程序是这样分的,实际是不需要的。我们自己自定义flash的分区。

另外,jumpIAP实际就是跳转到IAP,也就是完全可以将jumpIAP与IAP写成一个bootloader程序,放一个分区。

这样分区复杂度会下降很多。我们是不是可以这样做,就两个分区,一个bootloader从flash启动位置开始,一个app分区放后面一点的位置。

开机时先进bootloader,判断要iap则启动蓝牙更新app分区,否则直接跳进app运行主程序,这样即使更新app更新坏了,也可以断电重启进入bootloader对其再次更新,这样分区复杂度下降很多。但是为什么网上大量例子都是写着又是jumpIAP,又是app,又是app2,又是IAP的呢?事情搞那么复杂是有什么好处吗?


应用场景的问题吧,你发到客户那的机器,升级过程中种种原因失败了,种种原因客户又没法升级了,着急要用这个设备,请问现在怎么办,


使用jumpiap可以防止两点(基于例程的FLASH分配),①避免APP代码被恶意读取,擦除的时候会直接擦除0-8K的数据,这样APP的代码的前4K一定会被擦除掉;②防止芯片升级被打断变砖,即使升级失败,也可以进行下一次的升级。



反正就是可以。


只有登录才能回复,可以选择微信账号登录