Champs
My customer is not using CCS but is trying to decode the log_printf stuff. I did send him the below web site but it still does not cleary specify what he is looking for. Please answer his question
http://tiexpressdsp.com/wiki/index.php?title=Accessing_DSP_BIOS_logs_without_JTAG
I have already read (and commented on) this article. Specifically, I have no problem "accessing" these logs. The problem is that there is no documentation of how to interpret them. The article explains the format, which I see clearly: each entry consists of a sequence number followed by three words of data. However, I can find no explanation anywhere of what those three words of data mean. Since the GUIs do interpret this data, it is clear that someone in your organization knows the answer to this question.
Regards
Mohsen
Perhaps your customer is not familiar with standard "printf" terminology. The doc in that link does explain all the 4 words in a LOG entry. It mentions that the 2nd and 3rd words are arguments to be used in conjunction with the format string (the 4th word). If you understand printf() in general, that explanation says all it needs to say.
Regards,
- Rob
Expanding on my terse reply above...
For illustration purposes I'll show how a C program on the host could decode this:
struct LOG_event { UInt32 seq; UInt32 arg0; UInt32 arg1; UInt32 formatPtr;};
struct LOG_event log;char format[];int i = 0;`copy current LOG entry into log`;do { chr = `read address (formatPtr+i) from COFF file`; format[i] = chr; i++;} while (chr != '\0');
printf(format, log.arg0, log.arg1);
The statements in `backticks` above are loosely specified because I'm not familiar with the methods (i.e., support APIs) with which to illustrate, but there are utilities (libraries) available with which to read COFF files.
Robert
Thanks that is a great example it make sense. Maybe we should add this to the wiki.