Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Level 1
Level 1

I am using MemTool and a simple USB-UART-Bridge to flash a firmware onto XMC1302 devices on custom boards and afterwards I change the BMI settings to SWD0.
Nothing special so far, but when my firmware grew from about 10kB to 22kB binary size, this procedure suddenly stopped working:

1. I connected MemTool to the fresh devices via ASC BSL.
2. I flashed my firmware - MemTool says that the verification was successful with 0 differences.
3. I change BMI settings to SWD0 (MemTool confirms success).
4. I reset the device (power cycle) and the firmware is crashing during boot up!

I had this with 6 of 6 fresh chips in a row! So I started investigating this by reading back the flash content using my SEGGER J-Link via SWD and it always came to the same result: There is a mismatch at address 0x10004E00 to 0x10004FF0, where every byte in between equals 0xFF on the flash memory.

I finally got rid of the problem by changing the "Transfer Buffer Size" from default (0x400) to 0x100. This caused the flash procedure to be a little slower, but at least it worked for me!

I am curious to know if anybody has experienced a similar problem!

Best regards,
0 Replies