User`s guide
DSP/BIOS Startup Sequence
2-22
■ CLK_startup sets up the PRD register, enables the bit in the IER
(C6000 platform) or the IMR (C5400 platform) for the timer chosen in
the CLK Manager, and finally starts the timer. (This macro is only
expanded if you enable the CLK Manager in the Configuration Tool.)
■ PIP_startup calls the notifyWriter function for each created pipe
object.
■ SWI_startup enables software interrupts.
■ HWI_startup enables hardware interrupts by setting the GIE bit in the
CSR on the C6000 platform or clearing the INTM bit in the ST1
register on the C5400 platform.
■ TSK_startup enables the task scheduler and launches the highest
priority task that is ready to run. If the application has no tasks that
are currently ready, the TSK_idle executes and calls IDL_loop. Once
TSK_startup is called, the application begins and thus execution
does not return from TSK_startup or from BIOS_start. TSK_startup
runs only if the Task Manager is enabled in the Configuration Tool.
7) Execute the idle loop. You can enter the idle loop in one of two ways. In
the first way, the Task Manager is enabled. The Task scheduler runs
TSK_idle which calls IDL_loop. In the second way, the Task Manager is
disabled and thus the call to BIOS_start returns and a call to IDL_loop
follows. By calling IDL_loop, the boot routine falls into the DSP/BIOS idle
loop forever. At this point, hardware and software interrupts can occur
and preempt idle execution. Since the idle loop manages communication
with the host, data transfer between the host and the target can now take
place.
2.6.1 Advanced Startup: C5500 Platform Only
On the C5500 platform, the architecture allows the software to reprogram the
start of the vector tables (256 bytes in overall length) by setting the registers
IVPD and IVPH. By default, the hardware reset loads 0xFFFF to both these
registers and the reset vector is fetched from location 0xFF – FF00. To move
the vector tables to a different location, it is necessary to write the desired
address into IVPD and IVPH after the hardware reset and then do a software
reset, at which time the new values in IVPD and IVPH take effect.
The macro HWI_init loads the configured vector table address into IVPD and
IVPH but must be followed by a software reset to actually bring the new IVPD
and IVPH into effect.










