初级会员

- 积分
- 109
- 金钱
- 109
- 注册时间
- 2016-4-30
- 在线时间
- 44 小时
|
20金钱
本帖最后由 stayhungry 于 2016-10-22 13:53 编辑
我用原子的模板工程作APP(串口接收采用中断的方式)和ST的IAP例程,用的Hypter Terminal作上位机软件。
在IAP->APP时候是成功的。
然后我在APP的串口接收中断里面,跳转到IAP,然后也是成功的。
此时,我尝试再次跳转到APP,而此时的APP是正常运行的,但就是进不了串口接收中断,无法再跳到IAP了。
这是啥问题呢。
APP的主函数
int main()
{
NVIC_SetVectorTable(NVIC_VectTab_FLASH,0x3000);
__set_PRIMASK(0);//开全局中断
__ASM("CPSIE I");//开中断
USART_RX_STA =0;
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
......
}
APP的接收中断函数部分跳转程序
{
RCC_DeInit();
__set_PRIMASK(1);
__ASM("CPSID I");
JumpAddress = *(__IO uint32_t*) (0x8000000 + 4);
Jump_To_Application = (pFunction) JumpAddress;
__set_MSP(*(__IO uint32_t*) 0x8000000);
Jump_To_Application();
}
编译器的设置没问题,我都看过.map里面的内容了。[size=18.018px]
|
|