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

Reply via email to