ESP32 分区介绍

软件设计分区表

ESP32 分区介绍_第1张图片
如上图是正常运行需要的分区,一个系统的正常运行是需要这么多分区的。

分区表,我们软件默认配置的分区表如下

# Espressif ESP32 Partition Table
# Name, Type, SubType, Offset, Size, Flags
nvs,data,nvs,0x9000,16K,
otadata,data,ota,0xd000,8K,
phy_init,data,phy,0xf000,4K,
factory,app,factory,0x10000,1216K,
coredump,data,coredump,0x140000,64K,
ota_0,app,ota_0,0x150000,1216K,
ota_1,app,ota_1,0x270000,1216K,

开机的时候也会对应打印分区信息,对应的日志如下

I (49) boot: Partition Table:
I (52) boot: ## Label            Usage          Type ST Offset   Length
I (60) boot:  0 nvs              WiFi data        01 02 00009000 00004000
I (67) boot:  1 otadata          OTA data         01 00 0000d000 00002000
I (74) boot:  2 phy_init         RF data          01 01 0000f000 00001000
I (82) boot:  3 factory          factory app      00 00 00010000 00130000
I (89) boot:  4 coredump         Unknown data     01 03 00140000 00010000
I (97) boot:  5 ota_0            OTA app          00 10 00150000 00130000
I (104) boot:  6 ota_1           OTA app          00 11 00280000 00130000
I (112) boot: End of partition table
I (116) boot: OTA data offset 0xd000

里面的大小是这样定义的, 0x130000 bytes = ‭1,216‬ kb

后续固件如果加大,我们需要对应增加这部分大小,要不然程序不能正常执行。

硬件设计 SPI flash

上面要求了软件的分区大小,硬件的flash 理论是要大于上面的大小总和的。
ESP32 分区介绍_第2张图片
右边框图出来的是分区的大小,硬件设计需要注意型号来确定flash 大小,同时要注意主控和SPI FLASH配合,是否属于支持列表范围的。

你可能感兴趣的:(嵌入式学习)