diff --git a/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c b/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c index 45a5d921eb..25f580b7a7 100644 --- a/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c +++ b/c/src/lib/libbsp/m68k/uC5282/startup/bspstart.c @@ -43,14 +43,6 @@ char *rtems_progname; #define VME_ONE_BASE 0x30000000 #define VME_TWO_BASE 0x31000000 -/* - * Cacheable areas - */ -#define SDRAM_BASE 0 -#define SDRAM_SIZE (16*1024*1024) -#define FLASH_BASE 0x10000000 -#define FLASH_SIZE (4*1024*1024) - /* * CPU-space access */ @@ -167,7 +159,8 @@ void bsp_pretasking_hook(void); /* m68k version */ void bsp_start( void ) { extern char _WorkspaceBase[]; - extern char _RamSize[]; + extern char _RamBase[], _RamSize[]; + extern char _FlashBase[], _FlashSize[]; extern unsigned long _M68k_Ramsize; _M68k_Ramsize = (unsigned long)_RamSize; /* RAM size set in linker script */ @@ -208,15 +201,14 @@ void bsp_start( void ) /* * Cache SDRAM and FLASH */ - m68k_set_acr0(MCF5XXX_ACR_AB(SDRAM_BASE) | - MCF5XXX_ACR_AM(SDRAM_SIZE-1) | - MCF5XXX_ACR_EN | - MCF5XXX_ACR_BWE | + m68k_set_acr0(MCF5XXX_ACR_AB((uint32_t)_RamBase) | + MCF5XXX_ACR_AM((uint32_t)_RamSize-1) | + MCF5XXX_ACR_EN | + MCF5XXX_ACR_BWE | MCF5XXX_ACR_SM_IGNORE); - m68k_set_acr1(MCF5XXX_ACR_AB(FLASH_BASE) | - MCF5XXX_ACR_AM(FLASH_SIZE-1) | - MCF5XXX_ACR_EN | - MCF5XXX_ACR_BWE | + m68k_set_acr1(MCF5XXX_ACR_AB((uint32_t)_FlashBase) | + MCF5XXX_ACR_AM((uint32_t)_FlashSize-1) | + MCF5XXX_ACR_EN | MCF5XXX_ACR_SM_IGNORE); /* diff --git a/c/src/lib/libbsp/m68k/uC5282/startup/linkcmds b/c/src/lib/libbsp/m68k/uC5282/startup/linkcmds index 9dfbc8eff2..2e4c7b7297 100644 --- a/c/src/lib/libbsp/m68k/uC5282/startup/linkcmds +++ b/c/src/lib/libbsp/m68k/uC5282/startup/linkcmds @@ -13,11 +13,13 @@ */ /* - * Declare some sizes. + * Declare some locations and sizes. */ _RamBase = DEFINED(_RamBase) ? _RamBase : 0x0 ; _RamSize = DEFINED(_RamSize) ? _RamSize : 16M ; _HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0 ; +_FlashBase = DEFINED(_FlashBase) ? _FlashBase : 0x10000000 ; +_RamSize = DEFINED(_RamSize) ? _RamSize : 4M ; /* * Location of downloaded (from TFTP or flash) file