|
|
|
|
|
by garaetjjte
828 days ago
|
|
My guess is that the chip doesn't have enough RAM to store firmware image, verify it, and only then write it to flash. So instead it needs to write it on the fly as it receives data in chunks of 0x400 byte pages. It starts by erasing first page, but instead of immediately writing it instead keeps buffer for that page for later. Then it transfers remaining pages normally, and at the end only when signature is correctly verified it goes back to write the first page. |
|
However, it seems the firmware was written as 0x800 byte pages:
https://cdn.cs50.net/2014/fall/lectures/1/w/src1w/iUnlock.c