关于STM32的IAP和APP之间跳转升级的问题

2019-08-14 03:14发布

原子大哥, 我买了你的MINI战舰开发板. 目前正在做一个项目. 需要用到IAP功能

看了MINI板的IAP介绍和源码. 结合我的项目. 我有几个疑问想请教

1:  看战舰开发板的IAP例子.  IAP和应用程序是2个keil工程的.  这个能合并到一个KEIL工程里吗?

2: 如果不能开机升级的话. 有什么工具可以把IAP和应用程序都烧录到一个新的MCU里呢?


总的来说.我是希望在一个工程里实现IAP和应用部分. IAP和应用代码部分可以互相跳转. 原子哥能给个思路吗?


以上问题暂时弄清楚了.  下面还有个问题请教:

如果我要在APP程序执行的时候. 跳转到IAP程序来更新MCU. 

那跳转过去后. 要拿什么来判断是否更新呢?(因为是2个工程.全局变量都都没办法共享);

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
小温
1楼-- · 2019-08-14 08:47
 精彩回答 2  元偷偷看……
zf1127
2楼-- · 2019-08-14 13:34
回复【2楼】小温:
---------------------------------
如果我要在APP程序执行的时候. 跳转到IAP程序来更新MCU.

那跳转过去后. 要拿什么来判断是否更新呢?(因为是2个工程.变量都都没办法共享);
小温
3楼-- · 2019-08-14 17:54
APP在运行过程中,接收到外部发送的更新指令后,跳转到Bootloader中运行,外部把最新的APP的BIN文件通过某种方式(例如串口)传送给MCU进行APP区的更新,当整个APP区更新完后,通过函数指针跳转至APP区运行最新的程序
zf1127
4楼-- · 2019-08-14 19:20
回复【4楼】小温:
---------------------------------
APP在运行过程中,接收到外部发送的更新指令后,跳转到Bootloader中运行,

这一步我已经实现. 但是进入Bootloader后. 依据什么来进行更新程序呢.  如果没有依据. 那开机又怎么判断进入APP呢.还是更新MCU
小温
5楼-- · 2019-08-14 21:56
回复【5楼】zf1127:
---------------------------------
为什么跳进bootloader,是因为要进行IAP操作才进入bootloader,进入bootloader后,程序只是在等待升级数据的到来,如果没有升级数据的到来,则超时跳回APP区运行
zf1127
6楼-- · 2019-08-15 02:48
 精彩回答 2  元偷偷看……

一周热门 更多>