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
