打印
[STM32F1]

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

[复制链接]
1547|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
陈永宾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。

使用特权

评论回复
5
604603487| | 2014-3-14 11:26 | 只看该作者
。。。语文不过关呀,我没听懂。。。

使用特权

评论回复
6
604603487| | 2014-3-14 11:27 | 只看该作者
。。。语文不过关呀,我没听懂。。。

使用特权

评论回复
7
yugen| | 2014-3-14 11:41 | 只看该作者
如果单片机正在运行这个程序,是没有办法替换掉的,除非外部加个单片机来烧写它

使用特权

评论回复
8
nienianhong| | 2014-3-14 12:55 | 只看该作者

使用特权

评论回复
9
huzi2099| | 2014-3-14 13:58 | 只看该作者
我明白你的意思,你是想在别人的while循环里插入你的代码,理论上是可以的,但有几点注意
1.    while(1)翻译成汇编后就是一条跳转指令,可以跳到你的函数里,但指令字长得够.
2.    flah烧写入后是可以加锁的,如果加锁比较严密就没戏了.
3.    随便加入的代码可能破坏整体性能,不能整体调试可能有意外的状况出现.

使用特权

评论回复
10
huzi2099| | 2014-3-14 13:58 | 只看该作者
over

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

4

主题

967

帖子

1

粉丝