Hi Michel,
I've been looking into your problem a bit. If you want the Log strings not to be loaded onto the target, you can add this code to your configuration file:
var Text = xdc.useModule('xdc.runtime.Text');
Text.isLoaded = false;
This puts the strings in a NOLOAD section of the COFF file (assuming you're using C28x, which uses COFF). The section is called "xdc.noload". You could extract this section from the COFF file to get your strings.
Another idea, if you can get the LoggerBuf data unformatted to a file on the host PC, is to use the LoggerBufDecoder that comes with xdc tools to format the data. The LoggerBufDecoder just needs the executable that was run on the DSP that produced the Log data, the generated rta.xml file that you can find under the package/cfg directory, and an array containing the Log data.
To try this out, I took the BIOS mutex example and added Log_print() statements. I ran the test and opened a memory window at the address of the LoggerBuf buffer (entryArr), which you can find using ROV. I then used the CCS "Save Memory" feature to save the memory as binary data.
I then created an xs script to invoke the LoggerBufDecoder. This script is run as follows:
xs --xdcpath <XDC_INSTALL_DIR> -f LoggerBufDump.xs -p <prog.out> -r <rta.xml> -d <logdata.dat>
and dumps the Log data to to console. I have attached the script, but had to add .txt to the name to get it to upload.
I'm also attaching the .c and .cfg files that I used. I didn't try this with Text.isLoaded = false, but that should work.
Let me know if this works for you.
Best regards,
Janet
(Please visit the site to view this file)
(Please visit the site to view this file)
(Please visit the site to view this file)