[STM32F1] 请教一个极端的IAP升级问题,求牛人

[复制链接]
 楼主| 陈永宾0 发表于 2014-3-13 15:30 | 显示全部楼层 |阅读模式
本帖最后由 陈永宾0 于 2014-3-13 17:19 编辑

一个APP的main是一个while(1); 可以用IAP的方式把APP替换掉吗?APP里没开中断。
int main()
{
     while(1)
     {
          Flag=1;
     }
}
求牛人!
香水橙 发表于 2014-3-13 17:13 | 显示全部楼层
我不是牛人,不明白你的问题。
 楼主| 陈永宾0 发表于 2014-3-13 17:19 | 显示全部楼层
香水橙 发表于 2014-3-13 17:13
我不是牛人,不明白你的问题。

就是想把死循环用IAP升级的方式给替换掉。
香水橙 发表于 2014-3-13 22:35 | 显示全部楼层
陈永宾0 发表于 2014-3-13 17:19
就是想把死循环用IAP升级的方式给替换掉。

IAP升级与APP无关,APP开没开中断不影响IAP。
604603487 发表于 2014-3-14 11:26 | 显示全部楼层
。。。语文不过关呀,我没听懂。。。
604603487 发表于 2014-3-14 11:27 | 显示全部楼层
。。。语文不过关呀,我没听懂。。。
yugen 发表于 2014-3-14 11:41 | 显示全部楼层
如果单片机正在运行这个程序,是没有办法替换掉的,除非外部加个单片机来烧写它
nienianhong 发表于 2014-3-14 12:55 | 显示全部楼层
huzi2099 发表于 2014-3-14 13:58 | 显示全部楼层
我明白你的意思,你是想在别人的while循环里插入你的代码,理论上是可以的,但有几点注意
1.    while(1)翻译成汇编后就是一条跳转指令,可以跳到你的函数里,但指令字长得够.
2.    flah烧写入后是可以加锁的,如果加锁比较严密就没戏了.
3.    随便加入的代码可能破坏整体性能,不能整体调试可能有意外的状况出现.

huzi2099 发表于 2014-3-14 13:58 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:这点困难算个球儿

4

主题

967

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部
个人签名:这点困难算个球儿

4

主题

967

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部