Perfect, thank you! Solution 3 worked for me, I added the separate virtual Flash bank and hardware breakpoints were used automatically.
Matthias On 06.11.19 14:01, Andreas Fritiofson wrote: > > > On Wed, Nov 6, 2019 at 1:37 PM Matthias Stadler > <matthias.stad...@medineering.de > <mailto:matthias.stad...@medineering.de>> wrote: > > I tried hbreak instead of break, and it worked. I'm using the > configuration file "xmc4800-relax.cfg" which refers to "xmc4xxx.cfg", > both from OpenOCD. > How can I define the flash range correctly? > > I found in "xmc4xxx.cfg" line 54: > flash bank $_FLASHNAME xmc4xxx 0x0C000000 0 0 0 $_TARGETNAME > > But I don't have a clue how to fix it. > > Thanks a lot! > Matthias > > > It seems the XMC4800 mirrors the flash bank into a cached region at > 0x08000000 and an uncached region at 0x0c000000. OpenOCD apparently > defines the uncached region only, for some reason. I'm not sure if > that is a requirement for proper operationĀ of the flash driver but I > don't think you're using OpenOCD to flash anyway, since it wouldn't > work with an ELF file linked to execute from 0x08000000. > > So what you can do is to either > > 1. Link and execute your program starting from 0x0c000000, with the > performance hit that may bring. > 2. Change the start address of the flash bank to 0x08000000 and hope > that the xmc4xxx flash driver can handle it correctly. > 3. Add a separate virtual flash bank covering 0x08000000 and forward > which will act as a proxy for the other flash bank: > > flash bank $_FLASHNAME.cacheable virtual 0x08000000 0 0 0 $_TARGETNAME > $_FLASHNAME > > 3 is the best solution, if it works. > > /Andreas
_______________________________________________ OpenOCD-devel mailing list OpenOCD-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openocd-devel