Power-Up/Reset - Freescale Semiconductor DSP56800E User Manual

Hide thumbs Also See for DSP56800E:
Table of Contents

Advertisement

Core System Infrastructure
3. Start() assembly routine (in startup.c file)
4. userPreMain() function (in appconfig.c file)
5. user's main() function (in default project it is located in main.c)
6. userPostMain() function (in appconfig.c file)
The following subsections provide a detailed description of all initialization performed before
user's main() function is called.
Interrupt Vector Table
in Program Memory
P:0x0000
P:0x0001
P:0x0002
P:0x0003
P:0x0004
P:0x0005
(interrupt_vectors section)
P:0x20000
P:0x20001
P:0x20002
P:0x20003
(boot_jump section)
2.1.1

Power-up/Reset

The 56800E core specifies two reset vectors: Hardware Reset and COP Watchdog Reset. These
reset vectors are located at first two locations of interrupt vector table at address 0x0000 or
0x20000 depending on the configuration of the EXTBOOT and EMI_MODE pins. These vectors
identify the address of the program code where the program control is passed to on reset. In
applications developed with the DSP56800E_Quick_Start tool, the default entry point is the
Start() assembly routine in the startup.c file.
2-2
Power up/Reset
JSR
EXTBOOT=1 and EMI_MODE=0
Start()
Watchdog Reset
JSR
EXTBOOT=1 and EMI_MODE=0
Start() or
asm void Start()
COP Isr
{
/* basic init */
JSR
...
jsr FuserPreMain
Isr2()
jsr Fmain
jsr FuserPostMain
debughlt
}
vectors.c
Power up/Reset
JSR
EXTBOOT=0
EXTBOOT=1 and EMI_MODE=1
Start()
Watchdog Reset
JSR
EXTBOOT=0
EXTBOOT=1 and EMI_MODE=1
Start() or
COP Isr
vectors.c
Figure 2-1. Boot Sequence
Targeting 56F8xxx Platform
startup.c
FREESCALE SEMICONDUCTOR
void userPreMain()
{
...
...
...
}
appconfig.c
void main()
{
...
...
...
}
main.c
void userPostMain()
{
...
...
}
appconfig.c

Advertisement

Table of Contents
loading

Table of Contents