韦东山Linux嵌入式课程社区
直播中

陈军

7年用户 208经验值
私信 关注

串口高频词收发数据有一定概率程序跑飞

注意:如果点击空白处无法输入,则点击字会有输入提示符 | 则可以使用键盘进行输入!

此板块为  [ARM裸机加强版]
  • 问题所在章节:nor_flash
  • 发生问题的运行环境:nor_flash
  • 问题发生描述:
在串口高频次传输数据时,会有一定概率程序跑飞,跑飞后主循环卡死、所有中断失去响应,感觉应该是进入了一种异常模式,因为学到nor_flash这一节的start.s文件中的几个异常跳转到了halt死循环。就像nor_flash这一节,如果不停地按s打印nor_flash信息,程序就会跑飞,跑飞后按键中断、定时器中断均失去响应。排除内存溢出的可能,因为在程序中并未设置接收缓存区,那么请问还有什么原因可能导致高频次收发数据下的程序跑飞呢?往老师同学解答,不胜感激~

  • 输出的错误信息:

回帖(2)

茹然

2019-3-6 10:04:14
查出原因是在main函数中没有将timer_init()注释掉,那么长按s打印nor_flash信息时,只要一进入定时器中断,那么打印停止,或者按一下外部中断按键,打印也停止。初步判断是中断冲突导致,待解决
举报

倪驰銮

2019-3-6 10:20:52
读写NORFLASH的时候需要关闭中断    https://www.cnblogs.com/zongzi10010/p/10023620.html

因为我们使用NOR启动的时候,cpu执行中断的时候会跳回到0地址,也就是NOR中去读取指令,这个时候如果在操作NOR,很明显取址有问题了,会死机等.之前串口有时候没输出死机可能就是这个原因了.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分