Sep 30, 2015
11:57 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sep 30, 2015
11:57 AM
Hi!
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,
OS
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,
OS
0 Replies