* shared/start/start.S, shared/startup/linkcmds.base,
	shared/include/linker-symbols.h: Added and use bsp_vector_table_begin,
	bsp_vector_table_size and bsp_vector_table_end.
This commit is contained in:
Sebastian Huber
2010-06-21 12:28:36 +00:00
parent b34685f4a7
commit c5d8d2dcef
4 changed files with 17 additions and 2 deletions

View File

@@ -1,3 +1,9 @@
2010-06-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/start/start.S, shared/startup/linkcmds.base,
shared/include/linker-symbols.h: Added and use bsp_vector_table_begin,
bsp_vector_table_size and bsp_vector_table_end.
2010-05-20 Sebastian Huber <sebastian.huber@embedded-brains.de>
* shared/include/start.h: Define start section attributes.

View File

@@ -102,6 +102,10 @@ LINKER_SYMBOL(bsp_section_stack_begin)
LINKER_SYMBOL(bsp_section_stack_end)
LINKER_SYMBOL(bsp_section_stack_size)
LINKER_SYMBOL(bsp_vector_table_begin)
LINKER_SYMBOL(bsp_vector_table_end)
LINKER_SYMBOL(bsp_vector_table_size)
/** @} */
#ifdef __cplusplus

View File

@@ -168,7 +168,7 @@ bsp_start_hook_0_done:
* vectors and the pointers to the default exception handlers.
*/
ldr r0, =bsp_section_vector_begin
ldr r0, =bsp_vector_table_begin
adr r1, vector_block
ldmia r1!, {r2-r9}
stmia r0!, {r2-r9}

View File

@@ -58,6 +58,8 @@ bsp_stack_svc_size = ALIGN (bsp_stack_svc_size, bsp_stack_align);
bsp_stack_und_size = DEFINED (bsp_stack_und_size) ? bsp_stack_und_size : 128;
bsp_stack_und_size = ALIGN (bsp_stack_und_size, bsp_stack_align);
bsp_vector_table_size = DEFINED (bsp_vector_table_size) ? bsp_vector_table_size : 64;
SECTIONS {
.start : {
/*
@@ -91,7 +93,7 @@ SECTIONS {
* BSP: Reserve space for the the exception vector table and
* the pointers to the default exceptions handlers.
*/
. = . + 64;
. = . + bsp_vector_table_size;
/*
* BSP: Reserve space for mode stacks
@@ -134,6 +136,9 @@ SECTIONS {
bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin;
bsp_vector_table_begin = bsp_vector_table_size != 0 ? bsp_section_vector_begin : bsp_section_start_begin;
bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size;
.vbarrier : {
. = ALIGN (bsp_section_vbarrier_align);
} > REGION_VECTOR