Using DSP/BIOS with the Run-Time Support Library
2-22
2.7 Using DSP/BIOS with the Run-Time Support Library
The linker command file generated by the configuration automatically
includes directives to search the necessary libraries including a DSP/BIOS,
RTDX, and a run-time support library. The run-time support library is created
from rts.src, which contains the source code for the run-time support
functions. These are standard ANSI functions that are not part of the C
language (such as functions for memory allocation, string conversion, and
string searches). A number of memory management functions that are
defined within rts.src are also defined within the DSP/BIOS library. These are
malloc, free, memalign, calloc, and realloc. The libraries support different
implementations. For example, the DSP/BIOS versions are implemented with
the MEM module and therefore make use of the DSP/BIOS API calls
MEM_alloc and MEM_free. Because the DSP/BIOS library provides some of
the same functionality found in the run-time support library, the DSP/BIOS
linker command file includes a special version of the run-time support library
called rtsbios that does not include the files shown in Table 2-2.
Table 2-2. Files Not Included in rtsbios
In many DSP/BIOS projects, it is necessary to use the –x linker switch in
order to force the rereading of libraries. For example, if printf references
malloc and malloc has not already been linked in from the DSP/BIOS library,
it forces the DSP/BIOS library to be searched again in order to resolve the
reference to malloc.
The run-time support library implements printf with breakpoints. Depending
on how often your application uses printf and the frequency of the calls,
printf() can interfere with RTDX, thus affecting real-time analysis tools such
as the Raw Log and Statistics Data, and preventing these tools from
updating. This is because the printf breakpoint processing has higher
priority processing than RTDX. It is therefore recommended to use
LOG_printf in place of calls to printf wherever possible within DSP/BIOS
applications.
C55x Platform
C6000 Platform
memory.c memory.c
boot.c sysmem.c
autoinit.c
boot.c