STM32 FreeRTOS 内存问题

1. STM32L151C8T6 内存,64Kb 的Flash(代码就是烧录在这里面的),16Kb 的RAM,程序跑起来之后的内存,相当于我们高考时发的草稿纸,直接影响程序的运行速度,可以用STM32 CubeMx 软件直接下载数据手册datasheet

2. 实际使用64KB Flash (ROM), 10KB RAM,ROM还没用完了

3. 编译信息提供的内存具体大小

4. 搞OLED 的时候搞了一个2KB 的全局数组,直接导致程序运行不起来,Debug 都进不了main 主函数了,把数组调小一点,就可以正常运行起来,所以怀疑是内存溢出了

复制代码
#define OLED_SCREEN_PAGE    8 // page [7 - 0]
#define OLED_SCREEN_COLUMN    128 // 128 column

uint8_t g_OLED_RAM[OLED_SCREEN_PAGE][OLED_SCREEN_COLUMN] = {0x00};

5. FreeRTOS 的堆内存大小

复制代码
#define configTOTAL_HEAP_SIZE    ((size_t)(10 * 1024)) // all the size of system heap

6. 调小一点,10Kb 调到8Kb 就OK了,创建任务的时候都是从这个堆里面申请内存的,申请的内存用作任务堆栈大小

复制代码
#define configTOTAL_HEAP_SIZE    ((size_t)(8 * 1024)) // all the size of system heap
相关推荐
Y1rong9 小时前
STM32之中断(二)
stm32·单片机·嵌入式硬件
Y1rong9 小时前
STM32之中断(一)
stm32·单片机·嵌入式硬件
LaoZhangGong12310 小时前
学习TCP/IP的第3步:和SYN相关的数据包
stm32·单片机·网络协议·tcp/ip·以太网
小郭团队10 小时前
2_1_七段式SVPWM (经典算法)算法理论与 MATLAB 实现详解
嵌入式硬件·算法·硬件架构·arm·dsp开发
持戒波罗蜜10 小时前
ubuntu20解决intel wifi 驱动问题
linux·驱动开发·嵌入式硬件·ubuntu
不做无法实现的梦~10 小时前
使用ros2来跑通mid360的驱动包
linux·嵌入式硬件·机器人·自动驾驶
bai54593610 小时前
STM32 CubeIDE 使用蓝牙模块实现手机控制LED灯
stm32·单片机·嵌入式硬件
gihigo199812 小时前
基于DSP28335 SCI模块控制ESP8266 WiFi模块的实现方案
单片机·嵌入式硬件
想放学的刺客12 小时前
单片机嵌入式嵌入式试题(第16期):硬件可靠性设计与复杂状态机架构设计
c语言·stm32·单片机·嵌入式硬件·物联网
qq_73917536912 小时前
stm32h743单片机驱动dac8568失效问题分析
stm32·单片机·嵌入式硬件