I'm having an issue programming the M3 device via boot ROM.
The environment for this is a custom kernel on an ARM chip interacting with the chip over the UARTs, so uniflash and related tools are not an option.
I can successfully bring up the boot ROM uart, receive pings, etc. However, when I try to write to the device at 0x20000000 I am getting back 0x43 from the get status call. However, I can succesfully write and run applications starting at 0x20005000 (but not 0x20001000, 2000, 3000, 4000). Since the 0x20004000 has reserved space for the bootloader, I get why I can't write there.
Does the ROM bootloader not do the CSM unlock? These boards are straight from fab, and their flash should be in the reset state. Is there some other issue with the boot ROM not being able to load to these addresses?
Worst case scenario I can fit a bootstrap kernel into the space I do have available, but I'd prefer to be able to leverage the existing boot code in ROM for this.