using libdebugger
Chris Johns
chrisj at rtems.org
Fri May 1 07:10:35 UTC 2020
On 1/5/20 2:13 am, Mario Palomares wrote:
> Well, really useful information Chris thanks, no worries about the lack
> of documentation completely understandable.
Thanks.
> Just let me ask you some more questions
Sure, no problem.
> - I´am trying to use it on a raspberry pi 2B, is it currently supported,
I am not sure. Each ARM has a range of differences in what is
implemented. It depends on the model, arch, implementer, and what they
configure. For example the TI processor on Beagleboneblack does not let
software enable the debug hardware via software so you need to add a
small mod to the board and a complex piece of code runs and uses the
JTAG interface to enable the bit.
> do i have to change something on the snippet of code you showed me?.
Not the code I showed you. If it does not work it will be deep in the
ARM backend of libdebugger.
> Note: In the BSP i compiled i have all the debugger header files so y
> suppose it is supported.
It is available however being functional is different. The ARM is
experimental.
> - Where do you specify the ip of the GDB server ?
This is the IP address of your board. It is the IP address of the
network interface on your board.
> - I don´t understand the rtems_printer usage, shouldn´t the debug
> server output always go to the debug client instead of the
> stdout/stderr/kernel?
The rtems_printer is an interface where core code can output to an
rtems_printer object and the supplied interface (object) will handle the
output. Using stdout means the debug server will output to stdout, or
stderr and kernel means using printk.
> - This one is just for curiosity. What are the rest of header files used
> for, the ones in "rtems/debugger/"
<looking> For reference they are ...
https://git.rtems.org/rtems/tree/cpukit/include/rtems/debugger
rtems-debugger-bsp.h:
Provide BSP or arch specific support for difficult hardware.
For example rtems_debugger_arm_debug_configure() is used on the
Beagleboneblack to set up the hardware. These are used in BSPs.
rtems-debugger-remote.h:
Remote transport interface. Allow users the ability to add a
specific type of transport. Currently TCP is provided but USB,
serial of spacewire could be used if someone is keen.
rtems-debugger-server.h:
The server. Used to start, stop and manage the server.
> Regarding a hardware based debugging solution i am also using right now
> JTAG with OpenOCD but i am experiencing some problems. Once
> the conection is established I can connect thorught telnet but not from
> GDB, i still have to investigate on my own, but if I finally i can´t
> solve i will ask here.
Oh OK you have a JTAG connector on your RPi. Nice. There is an option
somewhere in openocd to enable the GDB server. You then use the target
command in GDB to connect to it.
> I would also like to ask you about another thing i couldn´t find on the
> documentation. Apparently there is a way to set a ser2net daemon which
> enables you to connect to the target console through a telnet
> connection. As with the debugger i don´t know how to set it up.
The best resource is `man ser2net`. This is only for the serial console.
Chris
More information about the users
mailing list