新手上路
- 积分
- 36
- 金钱
- 36
- 注册时间
- 2017-12-14
- 在线时间
- 4 小时
|
10金钱
本帖最后由 qr04wg 于 2017-12-19 10:08 编辑
通过IAP来更新APP程序,大体的实现过程是APP程序从串口UART4收到更新命令,跳转到IAP更新APP程序,更新完程序后跳转到APP继续执行。从网上查看资料目前两个程序之间能实现跳转。
通过ULINK2烧录IAP程序,然后通过电脑串口模拟发送升级指令以及升级数据,可以更新APP程序,跳转到APP程序执行没有问题
在APP程序接收电脑串口指令跳转到IAP后,定时器正常(LED灯正常闪烁),UART4发送正常(打印信息正常,UART4发送中断正常),但是一旦这个时候通过电脑串口向UART4发送数据,IAP程序卡死,LED灯闪烁停止,串口打印停止,因为开启了看门狗,5秒后复位,复位以后再通过电脑串口发送数据到UART4则正常。
现在的问题是机器直接上电从IAP更新APP正常,但是从APP跳到IAP去更新,UART4接收数据卡死。
请教下各位,通过这些描述大体能分析下是哪里问题吗,程序从APP跳到IAP卡死,用ULINK2不知道怎样调试,或者请告知下怎样进行调试分析问题,谢谢。
问题应该还是中断导致的,APP中使用了freeRTos,如果APP跑裸机就没有问题,看了很多网上的帖子,出问题大多数都是中断问题,很多网友建议boot不使用中断,我就把boot的Uart改成了查询方式,目前程序可以跑了
|
最佳答案
查看完整内容[请看2#楼]
感谢,这样需要的flash空间就不够了,我解决了,还是中断导致的,在boot里面uart改用查询了就没事了
|