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
相关推荐
Zw-awa6 小时前
八路循迹模块的 DO:先让小车沿着线跑起来
stm32
黑妹天下第一乖7 小时前
第09讲 · 多媒体与音频 SDK:硬件编解码与端侧语音
人工智能·嵌入式硬件·深度学习·机器人·音视频·iot
comyccccc7 小时前
LM2596电源PCB布局布线全解析学习笔记
单片机·嵌入式硬件
恒锐丰科技林技术员9 小时前
EG2122 半桥栅极驱动芯片原理与工程应用解析
经验分享·嵌入式硬件·硬件工程
qq_401700419 小时前
FreeRTOS 堆内存管理源码剖析:释放一块内存,空闲块数量反而变少了?
单片机·freertos
新晨单片机设计10 小时前
S017C-基于STM32汽车防酒驾系统(心率、血氧、短信)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·防酒驾报警系统
fly_sunnn11 小时前
STM32-GPIO输出以及按键控制LED&光敏传感器控制蜂鸣器
stm32·单片机·嵌入式硬件
数字新视界11 小时前
U位资产管理系统发布全面数字化监控解决方案
嵌入式硬件·物联网·系统架构·机房管理·动力与环境监控系统
qq_4017004113 小时前
FreeRtos:SysTick的功能分析
单片机·嵌入式硬件
zbyyd14 小时前
i.MX6ULL 裸机开发|GT9147 触控 + SPI 与 ADXL345 加速度传感器驱动
单片机·嵌入式硬件