rp2350: Only add IMAGE_DEF for apps at start of flash.

The image_def header shall not be added to apps that are booted by a
bootloader, e.g. mcuboot. Added proper handling for UF2 by hanan619.

Signed-off-by: Manuel Aebischer <manuel.aebischer@belden.com>
This commit is contained in:
Manuel Aebischer 2024-12-10 16:11:55 +01:00 committed by Benjamin Cabé
commit da6f39172f
3 changed files with 7 additions and 2 deletions

View file

@ -29,7 +29,7 @@ config SOC_RP2350B_M33
config RP2_REQUIRES_IMAGE_DEFINITION_BLOCK config RP2_REQUIRES_IMAGE_DEFINITION_BLOCK
bool bool
default y default y if FLASH_LOAD_OFFSET = 0x100
# Currently the IDF only supports using the Cortex-M33 cores. Enforce # Currently the IDF only supports using the Cortex-M33 cores. Enforce
# this at build configuration time. # this at build configuration time.
depends on SOC_SERIES_RP2350 && CPU_CORTEX_M33 depends on SOC_SERIES_RP2350 && CPU_CORTEX_M33

View file

@ -6,7 +6,10 @@
if SOC_SERIES_RP2350 if SOC_SERIES_RP2350
config BUILD_OUTPUT_UF2_USE_FLASH_BASE config BUILD_OUTPUT_UF2_USE_FLASH_BASE
default y if BUILD_OUTPUT_UF2 default y if RP2_REQUIRES_IMAGE_DEFINITION_BLOCK
config BUILD_OUTPUT_UF2_USE_FLASH_OFFSET
default y if !RP2_REQUIRES_IMAGE_DEFINITION_BLOCK
config NUM_IRQS config NUM_IRQS
default 52 default 52

View file

@ -6,6 +6,7 @@
* SPDX-License-Identifier: Apache-2.0 * SPDX-License-Identifier: Apache-2.0
*/ */
#if CONFIG_RP2_REQUIRES_IMAGE_DEFINITION_BLOCK
MEMORY MEMORY
{ {
IMAGE_DEF_FLASH (r) : ORIGIN = 0x10000000, LENGTH = 128 IMAGE_DEF_FLASH (r) : ORIGIN = 0x10000000, LENGTH = 128
@ -23,5 +24,6 @@ SECTIONS
LONG(0xab123579) /* PICOBIN_BLOCK_MARKER_END */ LONG(0xab123579) /* PICOBIN_BLOCK_MARKER_END */
} > IMAGE_DEF_FLASH } > IMAGE_DEF_FLASH
} }
#endif /* CONFIG_RP2_REQUIRES_IMAGE_DEFINITION_BLOCK */
#include <zephyr/arch/arm/cortex_m/scripts/linker.ld> #include <zephyr/arch/arm/cortex_m/scripts/linker.ld>