From 6feecbbb6f162e8e2fb5d0a2813f068917b62a51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20Fr=C3=B6schle?= Date: Mon, 5 Aug 2013 04:22:10 +0000 Subject: [PATCH] modified BaS copy to also have the exception routines in RAM --- BaS_gcc/sources/sysinit.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/BaS_gcc/sources/sysinit.c b/BaS_gcc/sources/sysinit.c index f0738c5..847145b 100644 --- a/BaS_gcc/sources/sysinit.c +++ b/BaS_gcc/sources/sysinit.c @@ -812,6 +812,12 @@ extern uint8_t _BAS_SIZE[]; extern uint8_t _FASTRAM_END[]; #define FASTRAM_END ((uint32_t)_FASTRAM_END) +extern uint8_t _BAS_RESIDENT_TEXT[]; +#define BAS_RESIDENT_TEXT ((uint32_t) _BAS_RESIDENT_TEXT) + +extern uint8_t _BAS_RESIDENT_TEXT_SIZE[]; +#define BAS_RESIDENT_TEXT_SIZE ((uint32_t) _BAS_RESIDENT_TEXT_SIZE) + void clear_datasegment(void) { uint16_t *p; @@ -955,7 +961,7 @@ void initialize_hardware(void) { //video_1280_1024(); init_ac97(); - xprintf("copying BaS data (%p - %p) to RAM (%p - %p)\r\n", BAS_LMA, BAS_LMA + BAS_SIZE, BAS_IN_RAM, BAS_IN_RAM + BAS_SIZE); + xprintf("copying BaS (%p - %p) to RAM (%p - %p)\r\n", BAS_LMA, BAS_LMA + BAS_SIZE, BAS_IN_RAM, BAS_IN_RAM + BAS_SIZE); memcpy((void *) BAS_IN_RAM, BAS_LMA, BAS_SIZE); xprintf("finished.\r\n"); @@ -963,7 +969,6 @@ void initialize_hardware(void) { flush_and_invalidate_caches(); /* jump into the BaS in RAM */ - extern void BaS(void); BaS(); }