arm: cortex-m: Implement CONFIG_TEXT_SECTION_OFFSET
On other targets, CONFIG_TEXT_SECTION_OFFSET allows the entire image to be moved in memory to allow space for some type of header. The Mynewt project bootloader prepends a small header, and this config needs to be supported for this to work. The specific alignment requirements of the vector table are chip specific, and generally will be a power of two larger than the size of the vector table. Change-Id: I631a42ff64fb8ab86bd177659f2eac5208527653 Signed-off-by: David Brown <david.brown@linaro.org>
This commit is contained in:
parent
81a85341db
commit
dee8ef6f4f
2 changed files with 3 additions and 1 deletions
|
@ -29,7 +29,8 @@ static inline void relocate_vector_table(void) { /* do nothing */ }
|
|||
static inline void relocate_vector_table(void)
|
||||
{
|
||||
/* vector table is located at the the beginning of the flash */
|
||||
_scs_relocate_vector_table((void *)CONFIG_FLASH_BASE_ADDRESS);
|
||||
_scs_relocate_vector_table((void *)(CONFIG_FLASH_BASE_ADDRESS +
|
||||
CONFIG_TEXT_SECTION_OFFSET));
|
||||
}
|
||||
#else
|
||||
static inline void relocate_vector_table(void)
|
||||
|
|
|
@ -72,6 +72,7 @@ SECTIONS
|
|||
|
||||
SECTION_PROLOGUE(_TEXT_SECTION_NAME,,)
|
||||
{
|
||||
. = CONFIG_TEXT_SECTION_OFFSET;
|
||||
KEEP(*(.exc_vector_table))
|
||||
KEEP(*(".exc_vector_table.*"))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue