Debugging with no serial port
Martin, Tim
tim.martin at viasat.com
Fri Aug 11 03:14:53 EST 2006
This may be more of a question for GDB folks...but I'll post it here
because it relates to embedded systems as well.
I'm trying to validate some signal processing software on an embedded
Virtex4 PowerPC 405. Basically, the validation consists of calling
functions and looking at their outputs. Over time, there are several
thousand numbers to look at, so manually looking at each number at a
break point would be very time consuming (to put it mildly).
The normal way I would go about doing this is to print out the data
(e.g. to a serial port) and post-process the data somewhere else. But
on this particular target, I don't have a serial port. So I thought
about using GDB's breakpoint command list feature. When the software
has data it wants to print out, it calls a function "log_stuff". I then
set a breakpoint and command list in the "log_stuff" function, which
writes out the variables I'm interested in checking out to a file named
outputfile.bin. E.g. the following command file does this:
break log_stuff
commands
silent
if (variable_logging_enabled)
append value outputfile.bin stuff1_variable
append value outputfile.bin stuff2_variable
end
cont
end
The problem I have with this approach is that GDB doesn't finish writing
out everything before it continues executing the program, so a backlog
develops. So my first question would be, is there some GDB "flush" like
command I could run before the cont statement?
Second question would be - is there an easier way to accomplish what I'm
trying to do, which is basically emulate a serial port with GDB.
Tim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://ozlabs.org/pipermail/linuxppc-embedded/attachments/20060810/6fc37e8c/attachment.htm
More information about the Linuxppc-embedded
mailing list