Texas Instruments TMS320 User Manual page 56

Dsp/bios v5.40
Hide thumbs Also See for TMS320:
Table of Contents

Advertisement

DSP/BIOS Startup Sequence
2.8.1
Advanced Startup: C5500 Platform Only
2-26
■ 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.
7) Execute the idle loop. You can enter the idle loop in one of two ways. If
the Task Manager is enabled, the Task scheduler runs TSK_idle which
calls IDL_loop. If the Task Manager is disabled, 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.
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.

Advertisement

Table of Contents
loading

Table of Contents