I can update the application source code, rebuild it with idf.py build, then encrypt it with my key and espsecure.py tool, and re-upload it, and it also works.
Now I am trying to upload a bin that was built in Arduino IDE (versus the above, built by IDF environment). I encrypt the bin with my key, and write just the encrypted flash the same way I did above, but now I get "No MD5 found in partition table". I'm not touching the partition table, what does the application flash area have to do with the MD5 for the partition table? I can go back to the IDF built bin again, and the MD5 error disappears. Odd!
Any thought what is going on? How to fix it? Here's a comparison of the sections of the log, success versus broken:
Code: Select all
I (256) boot: Checking flash encryption...
I (257) flash_encrypt: flash encryption is enabled (3 plaintext flashes left)
I (260) boot: Disabling RNG early entropy source...
I (276) cpu_start: Pro cpu up.
...
Code: Select all
I (323) boot: Checking flash encryption...
I (323) flash_encrypt: flash encryption is enabled (3 plaintext flashes left)
I (328) boot: Disabling RNG early entropy source...
E (356) partition: No MD5 found in partition table
E (356) partition: load_partitions returned 0x105
assert failed: esp_ota_get_running_partition esp_ota_ops.c:553 (it != NULL)
Backtrace:0x40083625:0x3ffbca100x4008b40d:0x3ffbca30 0x400906c9:0x3ffbca50 0x400d793e:0x3ffbcb80 0x400d366c:0x3ffbcba0 0x400d3fc8:0x3ffbcbd0 0x40148b7b:0x3ffbcc00
ELF file SHA256: 0000000000000000
Rebooting...