乐鑫技术交流
直播中

闷~~

9年用户 759经验值
擅长:可编程逻辑
私信 关注
[问答]

请问ESP32-WROVER-B的高4M地址是否可以作为APP分区?

尝试使用WROVER-B的8M SPI FLASH 作为设备的分区,使用的IDF版本是V3.1-rc1,分区列表如下:

    ota_0,    app,  ota_0,   0x10000, 0x380000,
    ota_1,    app,  ota_1,          0x390000, 0x380000,

在调用esp_ota_begin时,程序重启且falsh数据被清空。


高4M空间的使用是否需要特殊配置?
                                                                                                                                                              

回帖(1)

他在笑

2024-6-26 17:29:52
ESP32-WROVER-B的8M SPI Flash可以用于设备的分区。根据您提供的分区列表,您已经为OTA(Over-The-Air)更新分配了两个app分区。然而,在调用esp_ota_begin时,程序重启且flash数据被清空。这可能是由于分区配置不正确或分区表未正确应用导致的。

首先,确保您的分区表格式正确。根据ESP-IDF文档,分区表应该是一个CSV文件,每行包含以下字段:

1. 分区名称
2. 分区类型
3. 分区子类型
4. 分区起始地址(以0x开头的十六进制数)
5. 分区大小(以0x开头的十六进制数)

根据您提供的分区列表,它应该是这样的:

```
ota_0,app,ota_0,0x10000,0x380000
ota_1,app,ota_1,0x390000,0x380000
```

接下来,请确保您的ESP-IDF版本是最新的,因为V3.1-rc1可能是一个预发布版本,可能存在一些已知问题。您可以使用以下命令更新ESP-IDF:

```
cd ~/esp/esp-idf
git pull
git checkout v3.1
```

然后,重新构建并烧录您的应用程序。如果问题仍然存在,请尝试以下步骤:

1. 检查您的烧录命令是否正确。确保您使用了正确的分区表和应用程序二进制文件。

2. 检查您的应用程序代码,确保在调用esp_ota_begin之前,您已经正确初始化了OTA更新功能。

3. 如果您使用的是自定义分区表,请确保在烧录应用程序之前,先烧录分区表。您可以使用以下命令烧录分区表:

```
esptool.py --port COMx write_flash 0x8000 partition_table.bin
```

其中,`COMx`是您的设备连接到计算机的串行端口,`partition_table.bin`是您的分区表文件。

4. 如果问题仍然存在,您可以尝试使用ESP-IDF的默认分区表,看看是否解决了问题。这可以帮助您确定问题是否与自定义分区表有关。

总之,高4M空间的使用不需要特殊配置,但请确保您的分区表格式正确,ESP-IDF版本是最新的,并正确烧录分区表和应用程序。希望这些建议能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分