# Code relocation **Repository Path**: lim11/code-relocation ## Basic Information - **Project Name**: Code relocation - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README .. zephyr:code-sample:: code_relocation_nocopy :name: Code relocation nocopy Relocate code, data, or bss sections using a custom linker script. Overview ******** A simple example that demonstrates how relocation of code, data or bss sections using a custom linker script. Differently from the code relocation sample, this sample is relocating the content of the ext_code.c file to a different FLASH section and the code is XIP directly from there without the need to copy / relocate the code. All other code (e.g. main(), Zephyr kernel) stays in the internal flash. nRF54L15 DK platform instructions ******************************** The scenario of a program running in SRAM was tested on the nRF54L15 DK. /* * 4KB code-relocation area carved from the top of nRF54L15 SRAM. * cpuapp_sram is reduced to 184KB (0x2E000) in the board overlay, * so this region is non-overlapping with the Zephyr RAM region and * avoids the KMU assertion that requires RAM start (0x20000000) * to be untouched by code-relocation sections. */ .. zephyr-app-commands:: :zephyr-app: samples/application_development/code_relocation_nocopy :board: nrf54l15dk/nrf54l15/cpuapp :goals: build SRAM :compact: nRF5340 DK platform instructions ******************************** The nRF5340 DK has a 64 Mb external flash memory supporting Quad SPI. It is mapped to 0x10000000. To build and flash the application (including the external memory part): .. zephyr-app-commands:: :zephyr-app: samples/application_development/code_relocation_nocopy :board: nrf5340dk/nrf5340/cpuapp :goals: build flash :compact: STM32F769I-Discovery platform instructions ****************************************** The stm32f769i_disco has 64MB of external flash attached via QSPI. It is mapped to 0x90000000. .. zephyr-app-commands:: :zephyr-app: samples/application_development/code_relocation_nocopy :board: stm32f769i_disco :goals: build flash :compact: STM32 b_u585i_iot02a Discovery kit instructions *********************************************** The b_u585i_iot02a has 64MB of external flash attached via OSPI. It is mapped to 0x70000000. .. zephyr-app-commands:: :zephyr-app: samples/application_development/code_relocation_nocopy :board: b_u585i_iot02a :goals: build flash :compact: Execution output **************** .. code-block:: console *** Booting Zephyr OS build v3.0.0-rc3-25-g0df32cec1ff2 *** Address of main function 0x4f9 Address of function_in_ext_flash 0x10000001 Address of var_ext_sram_data 0x200000a0 (10) Address of function_in_sram 0x20000001 Address of var_sram_data 0x200000a4 (10) Hello World! nrf5340dk/nrf5340/cpuapp