diff --git a/bsp/mini2440/mini2440_ram.ld b/bsp/mini2440/mini2440_ram.ld index 9eb287ffd670d1eccb9a4857785672ee8063611f..37c06324e0fbd4911bc8fcfc77f173371b0e730c 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 8eda8ada8bfd5e13a7a6c5397f64288695ffc520..5b0c1d734cc3c181849efeb9b66042a3517af8a9 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 0fd8d2bdae1fcb1b3e24dd62296eb3d5370fc6e7..29f07a7657f8c434dd496ec76671021e974e50a4 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 */