P01_Flash分区表
P01_Flash分区表-分区表的说明和使用
一、 Arduino中选择和修改分区表
二、PIO中修改分区表
-
使用Vscode+Platformio开发ESP32,因为代码量过大,超过了默认的程序分区大小,所以就需要修改默认的分区表以扩大程序分区。
-
在PlatformIO中添加、编译分区表
-
首先在工程路径下建立一个partition.csv文件.
-
然后在工程下的platformio.ini文件中添加编译命令board_build.partitions,在后面输入创建的.csv文件名全称,需要带上文件后缀,如下。
board_build.partitions = partition.csv
-
然后在创建的.csv文件中填写自定义的分区表。
分区表的格式和内容在乐鑫官方的编程指南上写的非常清楚,并且也解释了各个字段对应的功能,同时也列出了好几种格式,,可以在以下链接查看 https://github.com/espressif/arduino-esp32/tree/master/tools/partitions
- default 4M带OTA
# Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x140000, app1, app, ota_1, 0x150000,0x140000, spiffs, data, spiffs, 0x290000,0x170000,
- default8 8M带OTA
# Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x330000, app1, app, ota_1, 0x340000,0x330000, spiffs, data, spiffs, 0x670000,0x190000,
- default16 16M带OTA
# Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x640000, app1, app, ota_1, 0x650000,0x640000, spiffs, data, spiffs, 0xc90000,0x370000,
- no_ota.csv 4M不带OTA
# Name, Type, SubType, Offset, Size, Flags nvs, data, nvs, 0x9000, 0x5000, otadata, data, ota, 0xe000, 0x2000, app0, app, ota_0, 0x10000, 0x200000, spiffs, data, spiffs, 0x210000,0x1F0000,
- default 4M带OTA
- 编译,查看输出flash空间占用即可
三、参考链接
下面附上一些链接: PlatformIO在线说明文档 :https://docs.platformio.org/en/latest/what-is-platformio.html.
PlatformIO中有关ESP32的配置命令,如端口波特率、主频设置、flash模式、分区表编译调用等: https://docs.platformio.org/en/latest/platforms/espressif32.html.
乐鑫有关分区表说明文档:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-guides/partition-tables.html.
github上一些分区表示例:https://github.com/espressif/arduino-esp32/tree/master/tools/partitions.
!!! note "The End"