请选择 进入手机版 | 继续访问电脑版
搜索
查看: 730|回复: 4

关于IAP的一些疑问

[复制链接]

该用户从未签到

1

主题

12

帖子

0

蝴蝶豆

中级会员

最后登录
2020-3-26
发表于 2019-8-8 11:25:13 | 显示全部楼层 |阅读模式
初学IAP,有点头大。比如做串口IAP,按照正点原子教程说的,跳转到APP后,产生串口中断后会去执行APP的中断服务程序,那串口IAP的串口中断服务函数就不能执行?
回复

使用道具 举报

该用户从未签到

0

主题

9

帖子

0

蝴蝶豆

高级会员

最后登录
2022-11-5
发表于 2019-8-8 17:05:02 | 显示全部楼层
通电->IAP(主函数开始前,设置中断向量,此时运行IAP中断函数)->APP(一样设置中断向量,运行APP中断函数)。运行那个中断函数,看你这时候单片机在跑IAP还是APP。
需要更新的时候通常是APP接受到升级命令,跳转到IAP(可以用看门狗复位单片机,每次复位单片机会从IAP开始运行)。IAP需要判断是否升级,还是跳转APP正常运行(可以用按键、一段时间内串口有没有指令数据、读flash内特定地址值来判断)。需要升级的话此时不会跳转APP,单片机在IAP运行,进入IAP的中断函数。
回复 支持 1 反对 0

使用道具 举报

该用户从未签到

0

主题

5

帖子

0

蝴蝶豆

新手上路

最后登录
2019-8-8
发表于 2019-8-8 15:27:03 | 显示全部楼层
不是把中断的地址偏移了嘛,就相当于产生中断以后先跳转到0x08000000那段代码的中断处,然后跳转到你的app中断函数处吧
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

12

帖子

0

蝴蝶豆

中级会员

最后登录
2020-3-26
 楼主| 发表于 2019-8-8 16:02:06 | 显示全部楼层
lichenghou 发表于 2019-8-8 15:27
不是把中断的地址偏移了嘛,就相当于产生中断以后先跳转到0x08000000那段代码的中断处,然后跳转到你的app ...

都跳到app的中断函数。那我再次更新app程序的不还是执行的app的中断函数,那这样就更新不了程序了?
回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

12

帖子

0

蝴蝶豆

中级会员

最后登录
2020-3-26
 楼主| 发表于 2019-8-8 17:20:48 | 显示全部楼层
yzzhh18 发表于 2019-8-8 17:05
通电->IAP(主函数开始前,设置中断向量,此时运行IAP中断函数)->APP(一样设置中断向量,运行APP中断函数 ...

正点原子的IAP例程的APP只能下一次,再次下就出错搞得想了好久,是他们app例程的问题。现在明白了。谢谢!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-3-29 17:05 , Processed in 1.152392 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表