打印

关于IAP的设计

[复制链接]
2104|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
roc_qiu|  楼主 | 2009-9-22 11:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家好!
关于IAP的设计,我有点疑问。
按照我的理解,IAP应该是在用户界面上选择升级,然后系统调用IAP程序,然后与PC通讯来完成升级。但我有两点疑问如下:
1、IAP程序是边与PC通讯,边将Flash擦除重新写吗?如果是这样,万一升级到一半的时候出现问题(例如断电、拔线等等),系统能恢复吗?
2、听有的人讲,IAP是将PC传送过来的升级程序进行备份,当传送完毕了,在执行擦除和重新写的动作。如果是这样,那Flash不是要有两倍的Code空间,一半正常工作,一半预留升级?
哪位大侠讲解一下。谢谢!
沙发
香水城| | 2009-9-22 23:07 | 只看该作者
1)IAP程序本身不会被擦除,所以总能恢复。
2)如果要求在升级过程中,系统还能照常工作,则需要这种一半正常工作、一半预留升级的方式。

使用特权

评论回复
板凳
roc_qiu|  楼主 | 2009-9-23 10:01 | 只看该作者
香版,您好!
请教如下:
1、IAP不会被擦除的意思是IAP固化在芯片上对吗?那么IAP通常是用户程序跳转到IAP处,如果升级中途出错了,再升级该如何跳转到IAP处运行呢?有这方面的资料吗?
2、升级过程中要保证正常工作,就是意味着需要两倍的代码空间对吗?
3、目前STM32采取什么样的方式进行IAP升级,对升级过程中可能出现的意外情况有些什么保护措施吗?
谢谢!

使用特权

评论回复
地板
McuPlayer| | 2009-9-23 10:20 | 只看该作者
楼主的所有疑问都是有道理的
1、全IAP升级的时候,确实不能断电,否则OVER;半IAP可以断电,所谓半IAP就是代码只有一部分被更新
2、这个办法是冗余,以空间来换取安全的办法,如果确实有空间采用此法确实可以

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

198

帖子

1

粉丝