Hello there, any hint? Ciao, RM
On Tue, Apr 2, 2019 at 4:44 PM Rocco Marco Guglielmi < [email protected]> wrote: > Hi Freddie, > ChibiOS already targets flash memory for code flashing and ITCM via ART > accelerator for code execution. This is done to achieve high predicibility > which is almost mandatory in RT applications. Accessing the code via AXIM > the cache will be involved reducing predicibility and performances. > > Now, with the previous build of OpenOCD this code works and can be > debugged like a charm. There is any specific reason that makes OpenOCD > unable to read/write the ITCM VMA? > Thanks > RM > > On Tue, 2 Apr 2019, 12:25 Freddie Chopin, <[email protected]> wrote: > >> On Mon, 2019-04-01 at 14:18 +0200, Rocco Marco Guglielmi wrote: >> > Hi all, >> > this is the first time I am writing to this mailing list and I wasn't >> > able to find such a list of rule or similar so I ask you to notice me >> > if I am doing something wrong. >> > >> > I have built OpenOCD from GIT master using MSYS2 under Windows (Open >> > On-Chip Debugger 0.10.0+dev-00746-g8f518d359 (2019-03-14-17:18)). It >> > works like a charm with many of the targets I usually use. But I have >> > a problem with STM32F746G. OpenOCD is able to recognize the target >> > but is unable to flash and run a .elf file. >> > >> > The procedure is executed using an Eclipse-based IDE known as >> > ChibiStudio. The procedure was working with all the previous versions >> > of OpenOCD built using the same method i.e. MSYS2 + packagebuild from >> > Alex Pux (https://github.com/Alexpux/MINGW-packages.git) >> > >> > Anyway, I have collected some logs using -d3 option maybe this would >> > help you to detect some sort of bug. >> > >> > Aside to find out a solution to provide a working copy of OpenOCD to >> > the ChibiOS community, I hope this could be helpful to OpenOCD >> > developers to improve reliability of this amazing project. I am not >> > inside all the mechanism of building and methodologies used to >> > debug. >> > Anyway, let me know if I can do something else to help you. >> > Ciao, >> > RM >> >> To flash STM32F7 the code has to be linked to 0x8000000 address, not >> the 0x200000. To use the ITCM bus for code execution, you have to use >> separate VMA and LMA addresses - VMA is for execution (0x200000) and >> LMA is for flashing (0x8000000). >> >> For an example, see here: >> >> https://github.com/DISTORTEC/distortos/blob/master/source/board/ST_32F746GDISCOVERY/ST_32F746GDISCOVERY.ld >> >> I've been working with this board and distortos for a while now and I >> use OpenOCD from git too. >> >> It is also a good idea to force hardware breakpoints >> (`gdb_breakpoint_override hard` or `monitor gdb_breakpoint_override >> hard` via GDB) and use hardware breakpoints wherever possible (for >> example `thbreak main` instead of `tbreak main`). Even then - at least >> for me - debugging via GDB only works after I flash the chip in a >> separate step, but this is not such a big inconvenience for me to dig >> deeper. >> >> For a start it will be much easier to just use 0x8000000 for both >> flashing and executution - this way you won't need to deal with all the >> strange things listed above. >> >> Regards, >> FCh >> >>
_______________________________________________ OpenOCD-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/openocd-devel
