乐鑫技术交流
直播中

贾埃罗

7年用户 1670经验值
私信 关注
[问答]

请教大神我可以在OTA分区运行时更改分区子类型吗?

我有一个当前使用标准 1 Factory Partition / 2 OTA 布局的应用程序。我想向用户推送一个新的 OTA 更新,当应用程序从其中一个 OTA 分区运行时,它会更改工厂分区的分区子类型。
我无法在 esp-idf 中找到任何允许这样做的现有功能,但如果我知道引导加载程序中的位置,大概可以更改它?
有什么建议吗?
         

回帖(4)

何禄蔓

2023-3-2 14:42:17
为此,您必须擦除现有的分区表,如果由于某些原因(例如断电)而无法编写有效的替换表,则设备将变砖。你还必须启用 SPI_FLASH_DANGEROUS_WRITE
举报

李可仪

2023-3-2 14:42:21
我是否需要擦除现有的分区表?
举报

张淑兰

2023-3-2 14:42:27
假设 SPI_FLASH_DANGEROUS_WRITE 已启用,如果我知道正确的偏移量,我是否可以不使用 esp_flash_write 或类似的东西在闪存中写入单个字节来更改子类型?(也许还有一个新的 CRC)。
举报

崔丹

2023-3-2 14:42:32
您只能擦除整个扇区,不这样做就不能更改单个字节。从技术上讲,您可以将 1 更改为 0,但在这种情况下,值已经为 0,并且新的哈希/校验和几乎肯定需要将 0 设置为 1。
举报

更多回帖

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