你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

关于IAP的问题

[复制链接]
NapoleonWang 提问时间:2017-11-16 12:00 /
按照传统IAP的设计方法,一个boot,一个APP,在升级的时候如果断电了整个产品的程序部分就挂了,在内部flash足够的情况下,我能不能做两个APP,相互之间切换升级。比喻说,这次运行APP1,升级就是写APP2,升级完运行APP2,再升级就是写APP1,升级完运行APP1。这样掉电了原来的程序还在,当然防掉电的方法好像还可以先存EEPROM,但是我说的这种方法可不可靠呢?
收藏 评论8 发布时间:2017-11-16 12:00

举报

8个回答
chuan199 回答时间:2017-11-16 15:37:12
試想,開机要如何選擇APP1或APP2,沒有確定不被破壞的區,那程式就有机會跑飛掉
若一定要在APP1和APP2更新,也可,但還是要有開机區,確定跑到好的APP區
即START+APP1+APP2,但APP還要多更新的程式,只會加大程式的flash
參考看看

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

chuan199 回答时间:2017-11-16 13:49:17
1.在升級時,boot不會掛掉,可重新再升級APP
2.flash足夠,且可重映多個中斷向量下,理論上,可做到boot+APP1+APP2,由boot決定要進入APP1或APP2,由boot決定要升級哪個
NapoleonWang 回答时间:2017-11-16 13:59:18
chuan199 发表于 2017-11-16 13:49
1.在升級時,boot不會掛掉,可重新再升級APP
2.flash足夠,且可重映多個中斷向量下,理論上,可做到boot+AP ...

这里的boot能不能不要,就是app里面包含了boot部分,app里面既有主程序,又有升级跳转程序(在特定情况下执行,如串口收到特殊帧)。两个app都是这样,相互升级,相互跳转
arm8686 回答时间:2017-11-16 14:06:25
NapoleonWang 发表于 2017-11-16 13:59
这里的boot能不能不要,就是app里面包含了boot部分,app里面既有主程序,又有升级跳转程序(在特定情况下 ...

如果没有 boot,上电后,MCU一般从 0 地址开始取指运行。
怎么来确保处于低段地址的那个 APP 不会出错呢?
必须保证有一段代码是安全的、可运行的,不会在升级的过程中被破坏的。
那这段代码,不就是 boot 了吗?

评分

参与人数 2ST金币 +4 收起 理由
zero99 + 2
chuan199 + 2 赞一个!

查看全部评分

NapoleonWang 回答时间:2017-11-16 16:16:10
本帖最后由 NapoleonWang 于 2017-11-16 16:17 编辑
chuan199 发表于 2017-11-16 15:37
試想,開机要如何選擇APP1或APP2,沒有確定不被破壞的區,那程式就有机會跑飛掉
若一定要在APP1和APP2更新 ...

大概理解,现在另外一个问题,如果两个app,我要keil生成bin文件的时候,要怎么设置rom的起始地址呢?毕竟对用户来说不知道现在是要升级app1还是app2@atm8686@chuan199
chuan199 回答时间:2017-11-16 16:26:43
小弟我沒用過二個APP
我的認知,用戶更新的軟件就要給他選擇更新哪個區域
rom的起始位置,就看你要分配多大給他,較要注意的應該是中斷向量的設定
不知什麼情況要用到兩個APP,正常情況是一個boot+一個APP,因為boot一定會是活著的,也不需要再更新boot區
cloudcn 回答时间:2017-11-17 09:03:46
1 刷FLASH可以用MCU内置的  也可以自己写
STM32上电一般情况是从 0x0800 0000处运行 在这个位置放 APP1程序
APP1功能主要是 校验APP2,成功则执行APP2 否则强制在线升级
开发完APP1后预留好足够的空间 再开发APP2 假如地址是 0X0800 4000

在编译器设好FLASH超始地址为0X08004000 并修改VECT_TAB_OFFSET 为0X4000
开发完成一起烧进去就OK了

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

回答时间:2017-11-17 09:28:05
理论是可以的,但是还需要boot程序,boot用与选择运行的区域。可以在备份寄存器中用一个标志位告诉boot当前需要执行的区域。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版