【问题标题】:Stm32 hardfault exception at RtosRtos 的 Stm32 硬故障异常
【发布时间】:2021-09-19 07:39:31
【问题描述】:

task_create

tasks

rtos_config

debug

我是 RTOS 的新手,在 stm32cubeide 上创建了两个任务,但我在调试时遇到了 HardFault_Handler 异常。为什么会这样?我有需要你的帮助。所有文件 --> link 谢谢....

【问题讨论】:

  • 请张贴代码而不是图片。并显示异常在哪里,或者至少详细说明一下。
  • 我很确定(最小的)任务堆栈大小太小,主要是因为调用了 printf,众所周知,它非常需要堆栈。增加它(例如使用 > 500)并重试。更重要的是启用 FreeRTOS 堆栈溢出检查和 configASSERT 进行开发。
  • freertos.org/… 享受你的周五之夜 ;)

标签: stm32 freertos stm32f4discovery stm32f4


【解决方案1】:

这通常发生在 RTOS 中,因为某些任务需要更多内存。通过编辑您的任务来增加堆栈大小。

如果您添加大量任务或使用更多内存,您可能会溢出 FreeRTOS 中分配的默认总内存堆。您可以在“配置参数”选项卡中增加它。 请记住,FreeRTOS 分配的内存越多,可用 RAM 内存就越少。

【讨论】: