diff --git a/bsps/arm/shared/start/start.S b/bsps/arm/shared/start/start.S index 1939768b1e..34af86e3b2 100644 --- a/bsps/arm/shared/start/start.S +++ b/bsps/arm/shared/start/start.S @@ -71,8 +71,11 @@ bsp_start_vector_table_begin: ldr pc, .Lhandler_addr_prefetch ldr pc, .Lhandler_addr_abort - /* Program signature checked by boot loader */ - .word 0xb8a06f58 +#ifdef BSP_START_VECTOR_RESERVED_SLOT + BSP_START_VECTOR_RESERVED_SLOT +#else + udf +#endif ldr pc, .Lhandler_addr_irq ldr pc, .Lhandler_addr_fiq diff --git a/spec/build/bsps/arm/optstartvecresvslot.yml b/spec/build/bsps/arm/optstartvecresvslot.yml new file mode 100644 index 0000000000..79a0d64b16 --- /dev/null +++ b/spec/build/bsps/arm/optstartvecresvslot.yml @@ -0,0 +1,18 @@ +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) 2024 embedded brains GmbH & Co. KG +default: +- enabled-by: bsps/arm/lpc24xx + value: .word 0xb8a06f58 +description: | + Defines the content of the reserved slot in the vector table. Some targets + use it for a boot loader signature or checksum of the vector table entries. +enabled-by: true +format: '{}' +links: [] +name: BSP_START_VECTOR_RESERVED_SLOT +type: build diff --git a/spec/build/bsps/arm/start.yml b/spec/build/bsps/arm/start.yml index 8e82d0ea48..7eefcf6d03 100644 --- a/spec/build/bsps/arm/start.yml +++ b/spec/build/bsps/arm/start.yml @@ -10,6 +10,8 @@ install-path: ${BSP_LIBDIR} links: - role: build-dependency uid: optstartvecaddralign +- role: build-dependency + uid: optstartvecresvslot source: - bsps/arm/shared/start/start.S target: start.o