这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » stm32H750使用FreeRTOS有时死机

共3条 1/1 1 跳转至

stm32H750使用FreeRTOS有时死机

高工
2023-05-21 10:31:56     打赏

stm32H750使用FreeRTOS,偶尔会出现所有线程停止运行的状况(流水指示灯不闪,程序不跑),此时点击触摸屏触发一下串口中断,所有的线程又会恢复运行,从堆栈调用情况看,有点像是串口发送时与串口接收冲突了,但是串口不应该是全双工的吗!不知道是不是Hal库搞得比较复杂带来的Bug,从图上可以看到,经过数次单步运行后程序自动退出了死机状态,同时RXNE标识被清零了(?单步调试触发的中断导致了串口发送状态退出)。




关键词: stm32H750     FreeRTOS     死机    

院士
2023-05-21 10:37:11     打赏
2楼

这个问题和我之前谈到的中断问题相关。

RTOS是实时响应系统,出现类似的“假死”是由于线程抢占导致的。

常常出现此问题的原因是由于串口中断优先级配置。

如果通讯是关键线程,则把串口中断的优先级调高,否则调低。

在使用FreeRTOS时,须将串口通讯放入FreeRTOS的管理范围。ST官方也是推荐这样设置。


工程师
2023-06-21 18:06:08     打赏
3楼

感谢分享


共3条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]