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
相关推荐
z203483152037 分钟前
如何用状态机解决按键状态识别问题(一)
c语言·单片机
之歆3 小时前
Heartbeat 高可用集群完全指南
单片机·嵌入式硬件
浩子智控4 小时前
提升linux串口通信实时性的编程实践
linux·单片机·嵌入式硬件
Tyrion.Mon4 小时前
5脚188数码管驱动
单片机
国科安芯19 小时前
高可靠性电源方案的高温降额设计与热管理策略——基于ASP3605的温域特性实证研究
单片机·嵌入式硬件·安全威胁分析·安全性测试
白太岁19 小时前
操作系统开发:(9) 从硬件复位到程序执行:如何编写符合硬件动作的启动文件与链接脚本
c语言·汇编·嵌入式硬件·系统架构
逻辑流19 小时前
《精准测量的起点:STM32中的电压电流有效值计算算法》
stm32·单片机·嵌入式硬件·算法
隔壁大炮20 小时前
MPU6050
stm32·单片机·嵌入式硬件
麦德泽特1 天前
STM32与Linux的无缝协作:通过USB CDC/VCP实现高效数据交互
linux·stm32·单片机·嵌入式硬件·安全
良许Linux1 天前
FPGA原理和应用
stm32·单片机·fpga开发·程序员·嵌入式·编程