FreeRTOS STM32 线程创建失败,单步运行一看才发现是内存不够

文章目录

  • 一、FreeRTOS线程创建失败
  • 二、失败的解决方法
  • 三、成功的解决方法

一、FreeRTOS线程创建失败

今天用STM32板子跑一个测试demo,结果一上车就翻车。

一个简简单单的线程起不来。断点进不去,单步运行一看,才发现是内存不够

FreeRTOS STM32 线程创建失败,单步运行一看才发现是内存不够_第1张图片
FreeRTOS STM32 线程创建失败,单步运行一看才发现是内存不够_第2张图片

二、失败的解决方法

内存太小,就扩大内存。

我一看他是动态内存分配,第一直觉就想到要增加堆栈。

错误的!!!

FreeRTOS STM32 线程创建失败,单步运行一看才发现是内存不够_第3张图片

三、成功的解决方法

FreeRTOS的动态内存不是使用C语言的malloc,是其自主造出来的米其林三星大轮毂超跑轮胎

需要增大configTOTAL_HEAP_SIZE,默认是5K,我给增大到50K。

OK,最终顺利解决问题

在这里插入图片描述

觉得好,就一键三连呗(点赞+收藏+关注)

你可能感兴趣的:(STM32应用,stm32,单片机,FreeRTOS,内存,线程)