解决方法:ESP32同时打开蓝牙、WIFI和OTA后程序过大导致无法启动
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决方法:ESP32同时打开蓝牙、WIFI和OTA后程序过大导致无法启动相关的知识,希望对你有一定的参考价值。
参考技术A使用 ESP32-WROOM-32E(4MB) 模组,同时使用了蓝牙模块、WIFI模块功能,编译的时候没问题,然后运行的时候报以下错误:
ESP32 如果使同时使用了蓝牙模块、WIFI模块和OTA的话很有可能会导致程序过大(超过1M),系统无法启动的情况。这里提供一种通过 修改分区表 扩大程序储存空间的方法来避免这一问题。这一解决方法同样只用于因为其他问题导致的程序过大的情况。
在 esp-idf/components/partition_table 有多个分区表文件供参考。
简单的来说,分区表就是对Flash进行划分,不同区域存放不同的东西。如下面一个是双OTA备份分区表文件 partitions_two_ota_coredump.csv 对应的是下图的划分。通过对比文件和图片,很容易理解分区表。每一行对应的内容顺序分别是Name, Type, SubType, Offset,Size。如果Offset没有填写则默认在上一个分区的末尾添加。
在项目下创建一个分区表 partitions.csv
• 由 Leung 写于 2022 年 3 月 4 日
• 参考: esp32 同时打开蓝牙,wifi和ota后程序过大导致无法启动
以上是关于解决方法:ESP32同时打开蓝牙、WIFI和OTA后程序过大导致无法启动的主要内容,如果未能解决你的问题,请参考以下文章
解决方法:ESP32同时打开蓝牙WIFI和OTA后程序过大导致无法启动
esp32 同时打开蓝牙,wifi和ota后程序过大导致无法启动