diff options
Diffstat (limited to 'src/startup.c')
-rw-r--r-- | src/startup.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/src/startup.c b/src/startup.c deleted file mode 100644 index b71a805..0000000 --- a/src/startup.c +++ /dev/null @@ -1,50 +0,0 @@ - - -#define STACK_TOP 0x20005000 - - -extern unsigned int _BSS_START; -extern unsigned int _BSS_END; -extern unsigned int _DATA_ROM_START; -extern unsigned int _DATA_RAM_START; -extern unsigned int _DATA_RAM_END; - -void startup(); -void main(); - -// Define the vector table -unsigned int * myvectors[2] -__attribute__ ((section("vectors")))= { - (unsigned int *) STACK_TOP, // stack pointer - (unsigned int *) startup // code entry point -}; - -void startup() -{ - /* Set memory in bss segment to zeros */ - unsigned int * bss_start_p = &_BSS_START; - unsigned int * bss_end_p = &_BSS_END; - - while(bss_start_p != bss_end_p) - { - *bss_start_p = 0; - bss_start_p++; - } - - /* Copy memory in data segment from its position - * in the flash image to its position in the - * read/write memory */ - unsigned int * data_rom_start_p = &_DATA_ROM_START; - unsigned int * data_ram_start_p = &_DATA_RAM_START; - unsigned int * data_ram_end_p = &_DATA_RAM_END; - - while(data_ram_start_p != data_ram_end_p) - { - *data_ram_start_p = *data_rom_start_p; - data_ram_start_p++; - data_rom_start_p++; - } - - /* Now we are ready to start the main function */ - main(); -} |