diff --git a/bsp/mini2440/mini2440_ram.ld b/bsp/mini2440/mini2440_ram.ld index 9eb287ffd..37c06324e 100644 --- a/bsp/mini2440/mini2440_ram.ld +++ b/bsp/mini2440/mini2440_ram.ld @@ -62,9 +62,6 @@ SECTIONS .nobss : { *(.nobss) } . = 0x30200000; - .mmu_table : { *(.mmu_table) } - - . = 0x30300000; . = ALIGN(4); __bss_start = .; .bss : { *(.bss) } diff --git a/bsp/mini2440/rtthread-mini2440.sct b/bsp/mini2440/rtthread-mini2440.sct index 8eda8ada8..5b0c1d734 100644 --- a/bsp/mini2440/rtthread-mini2440.sct +++ b/bsp/mini2440/rtthread-mini2440.sct @@ -5,14 +5,14 @@ LR_IROM1 0x30000000 0x1000000 { .ANY (+RO) } - ER_MMU 0x30400000 EMPTY 0x00100000 { - } - - RW_IRAM1 0x30500000 { ; RW data + RW_IRAM1 +0 { ; RW data .ANY (+RW) } ER_ZI +0 { ; ZI data .ANY (+ZI) } + + ER_MMU 0x33FF0000 EMPTY 0x00100000 { + } } diff --git a/bsp/mini2440/startup.c b/bsp/mini2440/startup.c index 0fd8d2bda..29f07a765 100644 --- a/bsp/mini2440/startup.c +++ b/bsp/mini2440/startup.c @@ -54,7 +54,8 @@ extern struct rt_device uart0_device; rt_uint8_t _undefined_stack_start[512]; rt_uint8_t _abort_stack_start[512]; rt_uint8_t _svc_stack_start[1024] SECTION(".nobss"); - extern int __bss_end; + extern unsigned char __bss_start; + extern unsigned char __bss_end; #endif /** @@ -63,7 +64,6 @@ extern struct rt_device uart0_device; #if (defined (__GNUC__)) void *_sbrk (int incr) { - extern int __bss_end; /* Set by linker. */ static char * heap_end; char * prev_heap_end; @@ -110,9 +110,9 @@ void rtthread_startup(void) /* init heap memory system */ #ifdef __CC_ARM - rt_system_heap_init((void*)&Image$$ER_ZI$$ZI$$Limit, (void*)0x34000000); + rt_system_heap_init((void*)&Image$$ER_ZI$$ZI$$Limit, (void*)0x33F00000); #else - rt_system_heap_init((void*)0x32000000, (void*)0x34000000); + rt_system_heap_init((void*)&__bss_end, (void*)0x33F00000); #endif /* init scheduler system */