本帖最后由 tian213 于 2017-3-7 17:12 编辑
我目前的项目:用探索者开发板的IAP例程为基础修改,IAP接收下载APP程序(裸奔)可以正确跳转运行,此种方式已经批量在用一年多了,没有出问题。
现在由于系统性能要求,对原裸奔的APP程序移植到ucos系统上,此程序直接下载到我的板子上可以正常运行并连续测试了48小时正常,IAP程序不变。但是用IAP接受下载新的UCOS程序以后。APP程序不能正常运行,后来我仿真调试IAP程序,接受的数据与发送的bin文件是一致的,但是在执行完jump2app()后,IAP程序就进入hardFault_Handler了。
我自己估计问题可能出在UCOS这边,工程配置与原裸奔程序配置一样,同样在main函数第一行增加了SCB->VTOR=FLASH_BASE | 0X10000,但是又找不到问题在哪里。
哪位大侠可以帮我分析一下,指点一下迷津?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
好了,我鼓捣一通,可以正常启动了。
我的IAP内有CRC传输校验,有文件解密算法,可能是这些有问题。
我还不知道怎么回事,我需要静静.............................
我的IAP是每次接受512BYTE的数据,然后写FLASH,直到上位机软件发来完成信号,才执行一次跳转。 我是要在每次写FLASH前都关闭一次中断,然后再开启中断吗?
是用INTX_DISABLE()禁止中断,用INTX_ENABLE()开中断吧?
你说的是APP的中断向量表偏置吗?我在APP的main函数内第一行增加了偏置的语句。
一周热门 更多>