Closed tannewt closed 3 years ago
Two other things:
Thank you for figuring this out!
yeah, I could reproduce the issue, troubleshooting on the way, will post more update when available.
Write addr = 0x000ACD00, block = 2142 (2142 of 2191)
Write addr = 0x000ACE00, block = 2143 (2143 of 2191)
Write addr = 0x000ACF00, block = 2144 (2144 of 2191)
I found the issue, the bootloader is limited its size to 512KB since it reserved the rest for internal file system ( for all boards), since the very first implementation of the bootloader.
For that I think we will increase reserved size to 40KB. The overflow to fatfs should be checked by circuitpyhon linker, just try DEBUG=1 with boards internal flash, it overflows and won't linked which is good.
Set up Feather nRF52840 Express with 6.0.0 bootloader. CircuitPython e9369d50e16e557ccd1a98c06d6e36bb87b908b7 . UF2s for the opt build flash ok but DEBUG=1 builds do not.
Describe the bug
Only part of the >512k UF2 is flashed leaving the higher end of the flash incorrect. In CircuitPython this means the .data section is not correct and assertions in DEBUG=1 mode fail as a result.
To Reproduce
Steps to reproduce the behavior:
Here is an opt build that works: firmware-opt.uf2.zip
Note that the broken UF2 is >1MB in size.