请教个问题 我给大家描素下 我测试的现象
1.IAP下载成功 直接复位跳转到APP,APP延时 长延时死机,短延时第一个延时可以 第二个又死了,这个延时放置在中断向量映射前后都试过,在这个延时前系统没运行操作系统,只有个CPU初始化 ,CPU初始化仅仅是系统时钟配置 GPIO口设置没了。
2.我测过 IAP+个裸机程序 长延时 都没问题 但是+这个系统就有问题
3.我用官网的DEMO YMODEM协议下载这个APP,带系统的 长延时
没问题 没死机
4.我在跳转时做的处理 和DEMO 的处理是一样的,
JumpAddress = *(__IO uint32_t*) (IAPAddress + 4); //把复位地址赋值给JumpAddress
Jump_To_Application = (pFunction) JumpAddress;//初始化用户程序的堆栈指针
__set_PSP(*(__IO uint32_t*) IAPAddress);
__set_CONTROL(0); //选择主堆栈指针MSP
__set_MSP(*(__IO uint32_t*) IAPAddress); //STM32 跳转,将主堆栈指针指向用户区域,堆栈
Jump_To_Application(); // 付给PC指针
5.我怀疑过IAP是不是下载的问题 但是 换成裸机试过 长延时没问题啊 这就搞不明白了
已经想不出问题了 麻烦大家给看看
谢谢相关的 |