ESP32加密后重新刷新



我已经使用"idf.py menuconfig"配置了我的esp32 s3项目。并将参数设置如下:

Security features ->
Enable flash encryption on boot ->
```
Size of generated AES-XTS key (AES-128 (256-bit key))
Enable usage mode (Release)
```
Partition Table ->
(0x10000) Offset of partition table

然后,在构建我的项目"idf.py build"之后,我使用下面的命令刻录了我的密钥以进行加密:

espsecure.py generate_flash_encryption_key my_flash_encryption_key.bin
espefuse.py --port PORT burn_key BLOCK_KEY0 my_flash_encryption_key.bin XTS_AES_128_KEY

最后,我已经flash项目(idf.py flash)和程序工作良好。

但是现在我需要再次修改我的项目flash。问题是监控发给我的数据如下:无效报头:0xdffde09a">

所以我想我在刷新设备的过程中忘记了一些东西。

你可以看到下面,他们使用的命令:

espsecure.py encrypt_flash_data --aes_xts --keyfile /path/to/key.bin --address 0x10000 --output my-app-ciphertext.bin build/my-app.bin
esptool.py --chip esp32s3 --port /dev/ttyUSB0 --baud 460800 write_flash 0x10000 my-app-ciphertext.bin

启用Flash加密的释放模式后,不能再Flash此设备。这就是它的全部目的。

如果您的固件有内置的OTA客户端与闪存加密支持,请随意使用它。否则这个板现在是不可更改的。

最新更新