lxllhplyq183
基础c
采纳率0%
2021-03-07 10:31

STM32F7使用FreeRTOS死机问题——精准的数据访问冲突

       大家好,最近学习在STM32F7上使用FreeRTOS,程序运行一段时间后进入HardFault_Handler,该时间不定。故障分析器给的报错信息为“总线,存储器管理或使用失败(FORCED)”,“精准的数据访问冲突(PRECISERR)”。

      其中工程中线程共6个。线程A每秒打印时间;线程B负责串口1发送命令;线程C负责接收串口1数据,并通过队列给线程D、线程E、和线程F发送数据;线程D负责通过队列获取C发送的数据,并将数据处理后通过队列将结果发送给线程F;线程E负责将接收的数据保存到SD卡;线程F负责将接收的数据通过串口2发送出去。其中线程优先级从大到小为C=E>D>F>B>A,每个线程使用堆栈空间设的在10*1024左右。

       附件图片为程序运行时抓取的各线程情况,其中线程G并不是我所创建,程序通过STM32CubeIDE生成后就有,而且线程名称也是乱码,不知道是什么情况,死机会不会是G造成的那?

       该问题没有任何头绪,特来求助各位大佬!

 

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • x779250919 神思?學海無涯:萬劫不復 5天前

    优先级范围不该是0-31?怎么出现32的?

    点赞 评论 复制链接分享