Not applicable
May 15, 2015
05:09 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 15, 2015
05:09 AM
Hello
Currently working on a project which requires storing some analogue calibration values to flash memory.
Working using the FLASH_002 app.
Trying to understand/confirm how the flash memory is allocated/structured by default. In my code I have written the following array uint32_t CalData[11] to BASE_SECTOR0, since doing this upon power cycle I have been unable to connect to the XMC4500F100F1024 with either the J-Link debugger or a mini wiggler.
Does anyone know the default start of code memory? Assume this is defined somewhere within my DAVE project?
Does anyone know if there is anything at the base address of Sector0 which being over written will cause these issues?
Any thoughts how I might be able to erase all flash memory in attempt to recover from this situation?
Any suggestions or ideas would be greatly appreciated 🙂
Thanks
Dave
Currently working on a project which requires storing some analogue calibration values to flash memory.
Working using the FLASH_002 app.
Trying to understand/confirm how the flash memory is allocated/structured by default. In my code I have written the following array uint32_t CalData[11] to BASE_SECTOR0, since doing this upon power cycle I have been unable to connect to the XMC4500F100F1024 with either the J-Link debugger or a mini wiggler.
Does anyone know the default start of code memory? Assume this is defined somewhere within my DAVE project?
Does anyone know if there is anything at the base address of Sector0 which being over written will cause these issues?
Any thoughts how I might be able to erase all flash memory in attempt to recover from this situation?
Any suggestions or ideas would be greatly appreciated 🙂
Thanks
Dave
Labels
- Tags:
- IFX
5 Replies
May 17, 2015
10:28 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 17, 2015
10:28 PM
Hi DAVE,
Does anyone know the default start of code memory? Assume this is defined somewhere within my DAVE project?
See attachment below. Generally code execution starts from 0x08200 0000 onwards.
Does anyone know if there is anything at the base address of Sector0 which being over written will cause these issues?
As mentioned above that the startup code runs from address 0x08200 0000.
Any thoughts how I might be able to erase all flash memory in attempt to recover from this situation?
I think your code in sector 0 cause the MCU to enter into a TRAP mode after reset hence it is not able to interface with the debugger. I am not sure if the debugger has a way to halt after RESET and followed by doing an erase to the flash.
Does anyone know the default start of code memory? Assume this is defined somewhere within my DAVE project?
See attachment below. Generally code execution starts from 0x08200 0000 onwards.
Does anyone know if there is anything at the base address of Sector0 which being over written will cause these issues?
As mentioned above that the startup code runs from address 0x08200 0000.
Any thoughts how I might be able to erase all flash memory in attempt to recover from this situation?
I think your code in sector 0 cause the MCU to enter into a TRAP mode after reset hence it is not able to interface with the debugger. I am not sure if the debugger has a way to halt after RESET and followed by doing an erase to the flash.
May 19, 2015
02:01 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 19, 2015
02:01 AM
Use program j-flash from segger and choose option erase chip. Try several times if erasing fails.
May 20, 2015
01:08 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 20, 2015
01:08 AM
After RESET the debugger will halt the CPU from executing further.
Not applicable
May 20, 2015
03:40 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 20, 2015
03:40 AM
Brilliant!
Thanks for the help.
Dave
Thanks for the help.
Dave
Not applicable
May 26, 2015
03:16 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
May 26, 2015
03:16 AM
Travis
Thanks again for your help on this - got a few more questions around the Flash memory on the XMC4500
Struggling to understand from the documentation/reference manual the difference between Cached and UnCached memory? In which of these is my code by default stored and operated from?
From the DAVE generated MAP file how can I determine the programme size and thus work out the best place to store some variables?
I am using the FLASH_002 app to attempt to read and write from/to the Flash memory on an XMC4500. Given they are constants which are being stored they need to be at fixed addresses, I need to understand fully how the flash memory is managed by DAVE to ensure I do not cause unwanted issues to my project.
Cheers
Thanks again for your help on this - got a few more questions around the Flash memory on the XMC4500
Struggling to understand from the documentation/reference manual the difference between Cached and UnCached memory? In which of these is my code by default stored and operated from?
From the DAVE generated MAP file how can I determine the programme size and thus work out the best place to store some variables?
I am using the FLASH_002 app to attempt to read and write from/to the Flash memory on an XMC4500. Given they are constants which are being stored they need to be at fixed addresses, I need to understand fully how the flash memory is managed by DAVE to ensure I do not cause unwanted issues to my project.
Cheers