执行Update.writeStream()时,ESP32无效的段长度0x15abb12



由于组件不可用,我最近不得不将我的ESP32 WROVER包从之前的16MB缩减到8MB。

这中断了我的更新过程,在执行Update.writeStream()时显示了invalid segment length 0x15abba12错误消息。

我写了我的新8MB分区如下(我使用FFAT(:

# Name,   Type, SubType, Offset,  Size, Flags
nvs,        data,    nvs,   0x9000,     0x5000,
otadata,    data,    ota,   0xE000,     0x2000, 
app0,       app,    ota_0,  0x10000,    0x2A0000,   
app1,       app,    ota_1,  0x2B0000,   0x2A0000,   
ffat,       data,    fat,   0x550000,   0x2B0000,   

我的firmware.bin大小为1.4MB(1411248,或0x1588B0(。

我错过了什么?

好的。真奇怪。平台通常生产的firmware.bin似乎存在一些问题,因此出现了分段故障。通过简单地重新编译并再次链接,生成的firmware.bin正常,更新成功完成。

=>因此,如果您面临类似的段故障问题,请尝试在浪费时间调试实际工作代码之前重建固件bin文件。

最新更新