diff options
-rw-r--r-- | bsps/arm/shared/start/start.S | 4 | ||||
-rw-r--r-- | spec/build/bsps/arm/optstartvecaddralign.yml | 22 | ||||
-rw-r--r-- | spec/build/bsps/arm/start.yml | 4 |
3 files changed, 29 insertions, 1 deletions
diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S index 936691599b..dfd0d3891d 100644 --- a/bsps/arm/shared/start/start.S +++ b/bsps/arm/shared/start/start.S @@ -77,6 +77,10 @@ bsp_start_vector_table_begin: ldr pc, .Lhandler_addr_irq ldr pc, .Lhandler_addr_fiq +#ifdef BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT +.balign BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT +#endif + .Lhandler_addr_reset: #ifdef BSP_START_RESET_VECTOR diff --git a/spec/build/bsps/arm/optstartvecaddralign.yml b/spec/build/bsps/arm/optstartvecaddralign.yml new file mode 100644 index 0000000000..aa12b1968b --- /dev/null +++ b/spec/build/bsps/arm/optstartvecaddralign.yml @@ -0,0 +1,22 @@ +SPDX-License-Identifier: CC-BY-SA-4.0 OR BSD-2-Clause +actions: +- get-integer: null +- format-and-define: null +build-type: option +copyrights: +- Copyright (C) 2023 embedded brains GmbH & Co. KG +default: +- enabled-by: bsps/arm/tms570 + value: 64 +- enabled-by: true + value: null +description: | + Defines the alignment in bytes of the vector address table begin. The vector + address table contains the exception handler addresses. When no alignment is + specified, the vector address table immediately follows the vector + instruction table. +enabled-by: true +format: '{}' +links: [] +name: BSP_START_VECTOR_ADDRESS_TABLE_ALIGNMENT +type: build diff --git a/spec/build/bsps/arm/start.yml b/spec/build/bsps/arm/start.yml index 067fec1173..8e82d0ea48 100644 --- a/spec/build/bsps/arm/start.yml +++ b/spec/build/bsps/arm/start.yml @@ -7,7 +7,9 @@ cppflags: [] enabled-by: true includes: [] install-path: ${BSP_LIBDIR} -links: [] +links: +- role: build-dependency + uid: optstartvecaddralign source: - bsps/arm/shared/start/start.S target: start.o |