在STM32F030上使用引导加载程序的问题-擦除扩展页没有返回



我使用ESP32使用ST引导加载程序将固件写入STM32F030,使用ST AN3155文档中的信息。扩展擦除命令的详细信息见第25页。

我已经成功地处理了在unprotect命令后引导加载程序重新启动的问题,但是当我试图发送扩展擦除命令时,我遇到了一个问题。如果我使用Mass erase (0xFFFF)选项擦除整个闪存,它会起作用……但我有配置信息在最后一页,所以我想擦除代码页(0..16页中的12页)。根据数据表,页擦除时间为30ms,因此等待返回1秒应该足够了。

如果我尝试擦除仅一页的消息序列:我是否在扩展擦除消息中犯了错误?

Unprotect
tx 73
tx 8c
rx 79
Sync
tx 7f
rx 79
Erase extended
tx 44
tx bb
rx 79
tx 00
tx 01
tx 00
tx 00
tx 01
rx -
No ack at Erase2

问题解决。扩展擦除命令的前两个字节表示要擦除多少页。如果数字为N,则N+1页被擦除:因此,要擦除一页,N必须为零。这是擦除一页(第0页)的正确顺序:

Erase extended
tx 44
tx bb
rx 79
tx 00
tx 00
tx 00
tx 00
tx 00
rx 79

最新更新