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
相关推荐
望云山19017 小时前
ESP32—S3学习--入门五个基础实验
嵌入式硬件·学习
wit_yuan17 小时前
openbmc 支持mctp over pcie(三)(支持作为endpoint)
linux·服务器·嵌入式硬件
小郭团队17 小时前
1_2_五段式SVPWM (传统算法反正切+DPWMmin)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·matlab·dsp开发
小郭团队17 小时前
1_3_五段式SVPWM (传统算法反正切+DPWMmax)算法理论与 MATLAB 实现详解
开发语言·嵌入式硬件·matlab·dsp开发
2301_7722042818 小时前
51单片机——UART
单片机·嵌入式硬件·51单片机
Zeku18 小时前
Linux应用与驱动开发:mmap和内存映射
stm32·freertos·linux驱动开发·linux应用开发
qq_4112624218 小时前
如果 4G 模块的 UART TX 高电平真的是 3.7V,直接接到 ESP32 的 UART RX/GPIO 不建议,存在风险。
单片机·嵌入式硬件
电化学仪器白超18 小时前
计量室电路板长期稳定性自动化测试系统开发与部署
python·单片机·嵌入式硬件·自动化
小郭团队18 小时前
1_1_七段式SVPWM (传统算法反正切)算法理论与 MATLAB 实现详解
人工智能·stm32·嵌入式硬件·算法·dsp开发
松涛和鸣18 小时前
DAY53 UART Serial Communication
c语言·单片机·嵌入式硬件·tcp/ip·51单片机