提交 acfbfad2 编写于 作者: qiuyiuestc's avatar qiuyiuestc

fix MMU table overwrite issue

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1006 bbd45198-f89e-11dd-88c7-29a3b14d5316
上级 da7bbdb0
...@@ -62,9 +62,6 @@ SECTIONS ...@@ -62,9 +62,6 @@ SECTIONS
.nobss : { *(.nobss) } .nobss : { *(.nobss) }
. = 0x30200000; . = 0x30200000;
.mmu_table : { *(.mmu_table) }
. = 0x30300000;
. = ALIGN(4); . = ALIGN(4);
__bss_start = .; __bss_start = .;
.bss : { *(.bss) } .bss : { *(.bss) }
......
...@@ -5,14 +5,14 @@ LR_IROM1 0x30000000 0x1000000 { ...@@ -5,14 +5,14 @@ LR_IROM1 0x30000000 0x1000000 {
.ANY (+RO) .ANY (+RO)
} }
ER_MMU 0x30400000 EMPTY 0x00100000 { RW_IRAM1 +0 { ; RW data
}
RW_IRAM1 0x30500000 { ; RW data
.ANY (+RW) .ANY (+RW)
} }
ER_ZI +0 { ; ZI data ER_ZI +0 { ; ZI data
.ANY (+ZI) .ANY (+ZI)
} }
ER_MMU 0x33FF0000 EMPTY 0x00100000 {
}
} }
...@@ -54,7 +54,8 @@ extern struct rt_device uart0_device; ...@@ -54,7 +54,8 @@ extern struct rt_device uart0_device;
rt_uint8_t _undefined_stack_start[512]; rt_uint8_t _undefined_stack_start[512];
rt_uint8_t _abort_stack_start[512]; rt_uint8_t _abort_stack_start[512];
rt_uint8_t _svc_stack_start[1024] SECTION(".nobss"); rt_uint8_t _svc_stack_start[1024] SECTION(".nobss");
extern int __bss_end; extern unsigned char __bss_start;
extern unsigned char __bss_end;
#endif #endif
/** /**
...@@ -63,7 +64,6 @@ extern struct rt_device uart0_device; ...@@ -63,7 +64,6 @@ extern struct rt_device uart0_device;
#if (defined (__GNUC__)) #if (defined (__GNUC__))
void *_sbrk (int incr) void *_sbrk (int incr)
{ {
extern int __bss_end; /* Set by linker. */
static char * heap_end; static char * heap_end;
char * prev_heap_end; char * prev_heap_end;
...@@ -110,9 +110,9 @@ void rtthread_startup(void) ...@@ -110,9 +110,9 @@ void rtthread_startup(void)
/* init heap memory system */ /* init heap memory system */
#ifdef __CC_ARM #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 #else
rt_system_heap_init((void*)0x32000000, (void*)0x34000000); rt_system_heap_init((void*)&__bss_end, (void*)0x33F00000);
#endif #endif
/* init scheduler system */ /* init scheduler system */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册