在线升级是一个boot,一个APP,boot对APP升级,我能不能不要这里的boot,而是两个APP,分别为APP1区和APP2区,APP1和APP2是相互升级的,每个APP包含了升级程序和主程序。一开始下载APP1,串口接收到特殊帧时开始升级写进app2区,写完之后跳转至app2,app2也是接收到特殊命令帧开始升级,对app1区写,写完之后跳转至app1运行.....,当然重新上电运行哪个app由标志确定,这样可行吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
bootloader只是在起始地址的程序而已,它和程序A、B一样,都只是程序,只不过一个里面代码是串口读升级包再跳转,而另一个是各种打印加控制,你把固定的A程序放在0x8000000这个位置也行啊。任务量大不大,你试试嘛,我觉得并不大,逻辑整明白点。二楼说的我也没弄明白
不过这个是对的“STM32上面常用的是 boot+app+swap
新APP先下载到SWAP,校验通过后再由boot复制到app区。
然后跳转过去运行。”,也比较易实现
一周热门 更多>