esp32的内存布局

0 阅读1分钟

image.png

分析

  • 外部flash:通过cache映射到CPU;存放代码.text和只读常量.rodata;执行速度慢。
  • IRAM:放中断处理函数ISR和FreeRTOS的关键路径;执行速度快。
  • DRAM:FreeRTOS的主要运行空间。放.data、.bss、stack、heap
  • PSRAM:伪随机存储拓展内存。放大的buffer、图片数据、网路缓存,速度慢。
  • RTC内存:深度睡眠保存数据,少量变量。

注意:

栈被开辟出来后,其使用特性决定了其自动回收。

不同于冯诺依曼架构,esp32是改良版本哈佛架构,指令和数据总线物理上分开,使用上未严格区分。