Fwd: JTAG error with arm-rtems-gdb

Mario Palomares palomares.mario14 at gmail.com
Fri Jun 5 10:18:41 UTC 2020


Hi again, i have finally achieved something

Apparently the problems i had when connecting with GDB derived from the
OpenOCD version i had installed. I first tried to compile the code from
source but i got compilation errors and afer a while looking for the error
i gave up and install the binaries from apt. The versión of apt is a little
old and gave me some errors with some newer commands so I installed the
xpack version. That one was up to date but gave me the error i mentioned
with GDB.
In order to apply some patched the openOCD users recommended me i had to
solve the compilation issue. In the end the problem was that i had the
RTEMS toolchain path the at the beggining of my PATH env variable. Since
openOCD requires autotools for compiling, it was using the first automake
it encunters on that, the one generated by the RSB and that automake
version is too old for the compilaiton of OpenOCD.  So in case anybody
tires, add the RTEMS toolchain path at the end.

Don´t know why but the autocompiled openOCD version (even without the
patches) works well with GDB and the connection is established correctly. I
have debugged some bare metal programs without problems. But there is just
one problem/limitaiton, in the case of RTEMS executables, i am only able to
debug the program with Hardware Breakpoints but software breakpoints won´t
be established. The difference bettwen the RTEMS executable and my bare
metal programs is that i don´t switch back to SVC mode (i stay in HYP
mode), and obiously i don´t have an operating system. So right know i don´t
know if there is some kind of  memory protection by RTEMS or if there is
some limitation in OpenOCD with boards in SVC mode (i have asked there but
i got no answer).

If anyone knows i would appreciate some help.

I have seen that Pavel managed to get this debuging environment back in
2016 https://devel.rtems.org/wiki/Debugging/OpenOCD/Raspberry_Pi, i am
wondering if i sould write him directly.

Regards,
Mario

El lun., 18 may. 2020 a las 20:49, Mario Palomares (<
palomares.mario14 at gmail.com>) escribió:

> Hi Alan,
>
> I have been asking on the openOCD mailing list and it seems that armv8-a
> cores on 32 bit mode is currently under development. Actually it is
> supposed to work but they still have to apply some patches. Right now i am
> trying one patch they told me, let´s see how it works. I will tell you in
> case i achieve something.
>
> Regarding the building of rtems-libbsd i though it could be compiled for
> RPI since some GSOC students did that on 2016 (the were working in
> improving the BSP)
> https://devel.rtems.org/wiki/GSoC/2016.
>
> Regards,
> Mario
>
>
>
> El lun., 18 may. 2020 a las 18:38, Alan Cudmore (<alan.cudmore at gmail.com>)
> escribió:
>
>> Hi Mario,
>>
>> Yes, what you said makes sense. I don’t have enough experience with the
>> GDB and OpenOCD to know if your use case can be made to work. Perhaps
>> someone on the raspberrypi.org bare metal forum would know?
>>
>>
>>
>> For your inquiry about libdebugger and rtems-libbsd on the Pi: to my
>> knowledge there is not complete libbsd support for the Pi models yet. I
>> would not expect it to compile right now.
>>
>>
>>
>> Please let us know if you make any progress! If you get openOCD debugging
>> to work with the Pi2 1.2 (A53), it will also probably work with the Pi 3
>> models.
>>
>>
>>
>> Alan
>>
>>
>>
>> *From: *Mario Palomares <palomares.mario14 at gmail.com>
>> *Sent: *Sunday, May 17, 2020 12:38 PM
>> *To: *users at rtems.org
>> *Cc: *Alan Cudmore <alan.cudmore at gmail.com>
>> *Subject: *Fwd: JTAG error with arm-rtems-gdb
>>
>>
>>
>>
>>
>> ---------- Forwarded message ---------
>> De: *Mario Palomares* <palomares.mario14 at gmail.com>
>> Date: dom., 17 may. 2020 a las 18:33
>> Subject: Re: JTAG error with arm-rtems-gdb
>> To: Alan Cudmore <alan.cudmore at gmail.com>
>>
>>
>>
>> Hi Alan,
>>
>>
>>
>> I have done what you told me (set up the whole environment) and it
>> worked.
>>
>> First i have to configure the RPI to boot on 64 bit mode (just setting a
>> parameter on config.txt) and later on could establish GDB connection with
>> the gdb the aaarch64 toolchain offers. Gdb-multiarch also worked.
>>
>>
>>
>> It seems the problem is on that amrv8-a53 clusters working in 32 bit
>> mode. I don´t know if openOCD has support for amv8-a cores working in 32
>> bit or if i have to change my configuration file.
>>
>>
>>
>> Does this make sense to you?
>>
>>
>>
>> As an alternative in case this doesn´t work i am currently trying to use
>> the remote debugging through libdebugger but i am experiencing some
>> problems when building the rtems-libbsd library. Should i ask here or
>> create another subject?.
>>
>>
>>
>> Regards,
>>
>> Mario
>>
>>
>>
>> El sáb., 16 may. 2020 a las 15:58, Alan Cudmore (<alan.cudmore at gmail.com>)
>> escribió:
>>
>> Hello Mario,
>>
>> Did you try bringing up the complete bare metal environment in the Bare
>> Metal Raspberry Pi 3b JTAG blog entry?
>>
>> I would verify that that environment with the bare metal Aarch64 examples
>> work before trying to get the 32 bit RTEMS binaries to work.
>>
>> It seems like these should work on the Pi2 with the A53 cores
>>
>> https://metebalci.com/blog/bare-metal-rpi3-programming/
>>
>> But the UART example might not work due to the differences between how
>> the uarts are used on the Pi2 and 3.
>>
>>
>>
>> Does the ARM multiarch GDB work with Aarch64? Maybe try the Aarch64 GDB
>> mentioned in the bare metal RPI3 blog entry?
>>
>>
>>
>> Alan
>>
>>
>>
>>
>>
>> *From: *Mario Palomares <palomares.mario14 at gmail.com>
>> *Sent: *Saturday, May 16, 2020 7:41 AM
>> *To: *users at rtems.org
>> *Subject: *JTAG error with arm-rtems-gdb
>>
>>
>>
>> I am tryining to debug RTEMS programs on mi RPI2 through a JTAG conexion
>> with OpenOCD. Right now i have the connection correctly established and i
>> can connect through a telnet client. Whenever I try to connect through
>> arm-rtems5-gdb i get the following error
>>
>>
>>
>> warning: while parsing target description (at line 4): Target description
>> specified unknown architecture "aarch64"
>> warning: Could not load XML target description; ignoring
>> Truncated register 16 in remote 'g' packet
>>
>>
>>
>> The configuration file i use for the RPI can be found in this page
>>
>> https://metebalci.com/blog/bare-metal-raspberry-pi-3b-jtag/. :
>>
>> I can´t use the configuration file proposed here:
>>
>>
>> https://github.com/ppisa/rpi-utils/blob/master/jtag-debug/rpi2/rpi-jt_usb5.cfg by
>> Pavel because my RPI is a RPI2 v1.2 which has the same SoC that the RPI3.
>> If i try Pavels configuration file the connection fails.
>>
>>
>>
>> I have installed gdb multiarch and tried with it but no luck, when i set
>> the architecture to aarch64 i get:
>>
>>
>>
>> warning: Architecture rejected target-supplied description
>> Truncated register 8 in remote 'g' packet
>>
>>
>>
>> Any ideas how to get arround this ?
>>
>>
>>
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20200605/380a4c08/attachment-0001.html>


More information about the users mailing list