DSP/BIOS Startup Sequence
2-24
2.8 DSP/BIOS Startup Sequence
When a DSP/BIOS application starts up, the calls or instructions in the
autoinit.c and boot.s
nn
files determine the startup sequence. Compiled
versions of these files are provided with the bios.a
nn
and biosi.a
nn
libraries
and the source code is available on the distribution disks received with your
product. The DSP/BIOS startup sequence, as specified in the source code of
the boot files is shown below. You should not need to alter the startup
sequence.
1)
Initialize the DSP
. A DSP/BIOS program starts at the C or C++
environment entry point c_int00. The reset interrupt vector is set up to
branch to c_int00 after reset.
At the beginning of c_int00 for the C55x platform, the data (user) stack
pointer (XSP) and the system stack pointer (XSSP) are both set up to
point to the bottom of the user and system stacks, respectively.
Additionally, the XSP is aligned to an even address boundary.
For the C6000 platform, at the beginning of c_int00, the system stack
pointer (B15) and the global page pointer (B14) are set up to point to the
end of the stack section and the beginning of .bss, respectively. Control
registers such as AMR, IER, and CSR are also initialized.
2)
Initialize the .bss from the .cinit records
. Once the stacks are set up,
the initialization routine is called to initialize the variables from the .cinit
records.
3)
Call BIOS_init to initialize the modules used by the application
.
BIOS_init performs basic module initialization. BIOS_init invokes the
MOD_init macro for each DSP/BIOS module used by the application.
BIOS_init is generated by the configuration and is located in the
programcfg.s
nn
file.
■
HWI_init sets up the ISTP and the interrupt selector registers, sets
the NMIE bit in the IER on the C6000 platform, and clears the IFR on
all platforms. See the
HWI Module Section
in the
TMS320 DSP/BIOS
API Reference Guide
for your platform for more information.
Note:
When configuring an interrupt, DSP/BIOS plugs in the corresponding
ISR (interrupt service routine) into the appropriate location of the interrupt
service table. However, DSP/BIOS does not enable the interrupt bit in IER.
It is your responsibility to do this at startup or whenever appropriate during
the application execution.
Summary of Contents for TMS320 Series
Page 1: ...TMS320 DSP BIOS v5 40 User s Guide Literature Number SPRU423G April 2009 ...
Page 16: ...xvi ...
Page 152: ...Tasks 4 48 Figure 4 12 Trace from Example 4 7 ...
Page 168: ...Semaphores 4 64 Figure 4 14 Trace Results from Example 4 11 ...
Page 202: ...5 20 ...
Page 287: ...Index 9 Index Void 1 11 W words data memory 3 15 of code 1 5 wrapper function 2 29 ...
Page 288: ...Index 10 Index ...