2019-07-14 15:15发布
hy381 发表于 2018-12-13 15:35 1.在升級時,boot不會掛掉,可重新再升級APP 2.flash足夠,且可重映多個中斷向量下,理論上,可做到boot+APP1+APP2,由boot決定要進入APP1或APP2,由boot決定要升級哪個
60user179 发表于 2018-12-13 15:52 这里的boot能不能不要,就是app里面包含了boot部分,app里面既有主程序,又有升级跳转程序(在特定情况下执行,如串口收到特殊帧)。两个app都是这样,相互升级,相互跳转
hy381 发表于 2018-12-13 15:22 試想,開机要如何選擇APP1或APP2,沒有確定不被破壞的區,那程式就有机會跑飛掉 若一定要在APP1和APP2更新,也可,但還是要有開机區,確定跑到好的APP區 即START+APP1+APP2,但APP還要多更新的程式,只會加大程式的flash
最多设置5个标签!
这里的boot能不能不要,就是app里面包含了boot部分,app里面既有主程序,又有升级跳转程序(在特定情况下执行,如串口收到特殊帧)。两个app都是这样,相互升级,相互跳转
如果没有 boot,上电后,MCU一般从 0 地址开始取指运行。
怎么来确保处于低段地址的那个 APP 不会出错呢?
必须保证有一段代码是安全的、可运行的,不会在升级的过程中被破坏的。
那这段代码,不就是 boot 了吗?
本帖最后由 NapoleonWang 于 2017-11-16 16:17 编辑
大概理解,现在另外一个问题,如果两个app,我要keil生成bin文件的时候,要怎么设置rom的起始地址呢?毕竟对用户来说不知道现在是要升级app1还是app2@atm8686@chuan199
我的認知,用戶更新的軟件就要給他選擇更新哪個區域
rom的起始位置,就看你要分配多大給他,較要注意的應該是中斷向量的設定
不知什麼情況要用到兩個APP,正常情況是一個boot+一個APP,因為boot一定會是活著的,也不需要再更新boot區
一周热门 更多>