打印
[STM32F1]

关于IAP与APP相互跳转问题 麻烦帮忙看看 谢谢

[复制链接]
916|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
现在的现象是  IAP调到APP   APP调到IAP  IAP调到APP后 APP就跳不回去了


APP1.png (18.04 KB )

APP1.png

APP2.png (14.41 KB )

APP2.png

APP3.png (16.04 KB )

APP3.png

IAP1.png (18.6 KB )

IAP1.png

IAP2.png (14.69 KB )

IAP2.png

IAP3.png (15.47 KB )

IAP3.png
沙发
feelhyq| | 2017-11-9 15:34 | 只看该作者
跳转之前确保中断是关闭的,否则的话,有可能就Hardfualt伺候了,如果楼主的需求仅仅只是 2个功能的切换,建议使用RTOS创建线程解决或者利用RTOS线程之间入栈出栈的思想进行切换

使用特权

评论回复
板凳
香水城| | 2017-11-9 15:39 | 只看该作者
不管是从IAP跳到APP还是从 APP调到IAP, 你保证2点,一点重新运行相应的复位程序,重新定义中断矢量表;
在这个调整的交接过程中不会发生中断事件。

使用特权

评论回复
地板
feelhyq| | 2017-11-9 15:44 | 只看该作者
香水城 发表于 2017-11-9 15:39
不管是从IAP跳到APP还是从 APP调到IAP, 你保证2点,一点重新运行相应的复位程序,重新定义中断矢量表;
在 ...

城主的帖子 我一定要第一个赞

使用特权

评论回复
5
我就是我哈哈|  楼主 | 2017-11-10 10:28 | 只看该作者
香水城 发表于 2017-11-9 15:39
不管是从IAP跳到APP还是从 APP调到IAP, 你保证2点,一点重新运行相应的复位程序,重新定义中断矢量表;
在 ...

运行相应的复位程序指得是什么
中断向量表在main开始 SCB->VTOR定向了

我在跳转前都关闭了中断  
//关闭所有中断
void INTX_DISABLE(void)
{                  
        __ASM volatile("cpsid i");
}
然后在main初始化时   开启了中断  

使用特权

评论回复
6
我就是我哈哈|  楼主 | 2017-11-10 10:31 | 只看该作者
香水城 发表于 2017-11-9 15:39
不管是从IAP跳到APP还是从 APP调到IAP, 你保证2点,一点重新运行相应的复位程序,重新定义中断矢量表;
在 ...

system_stm32f10x.c  在这个文件 改SCB->VTOR   也试了

使用特权

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

本版积分规则

18

主题

62

帖子

2

粉丝