<< Chapter < Page | Chapter >> Page > |
This module describes the basics of the TI DSP/BIOS LOG module.
When running a real-time application it is desirable to not interrupt the processing while attempting to monitor or debug code. Printing to the standard I/O is very time consuming on the processor. The LOG module helps reduce this time. Formatting of the display takes place on the host computer rather than on the DSP. Data is stored in real-time to a buffer on the DSP and then during idle time it is transferred to the host computer. On the host computer the print statements are formatted and displayed.
The main functions used in the LOG module are
LOG_printf
and
LOG_printf4
. They work very similar to the C
printf
function. In order to print using the LOG module a LOG object must be defined. To create a new LOG object open the configuration file and right click on
Instrumentation->LOG and select
Insert LOG . This will create a LOG object called
LOG0
. The name of the object can be changed. On the properties window for the object the buffer length is in words and sets the length of the buffer. The buffer can be either a circular buffer, which contains the last messages written to the object, or fixed, which contains the first messages written to the buffer. A circular buffer allows messages to be sent continually. Each message writes 4 words of data. The format of the function call is
LOG_printf(LOG_Obj *log,String format,arg0,arg1)
LOG_printf4(LOG_Obj *log,String format,arg0,arg1,arg2,arg3);
where the
String format
is a usual C
printf
format string with the conversion characters given in Table 1.
Conversion Character | Description |
%d | Signed integer |
%x | Unsigned hexadecimal integer |
%u | Unsigned integer |
%o | Unsigned octal integer |
%s | Character string. This character can only be used with constant string pointers. |
%r | Symbol from symbol table |
%p | pointer |
When using objects defined with the configuration tool the code must include definitions of the objects and the header file
log.h
. The configuration tool generates a header file that contains the definitions. For instance, the file
log.tcf
would generate the file
logcfg.h
. If an object called
LOG0
was created, then the file would contain
extern far LOG_Obj LOG0;
Include the configuration header file in your code and you won't need to make the definitions yourself. A call the the print function might look like this
LOG_printf(&LOG0,"Hello world");
To view the message log select Tools->RTA->Printf Logs .
Notification Switch
Would you like to follow the 'Ti dsp/bios lab' conversation and receive update notifications?