zephyr/samples/application_development/code_relocation_nocopy
Francois Ramu 2f0dd2c66f samples: code relocation in external memory of stm32h5 disco kit
Define the configuration to run the code_relocation
application on the external memory xspi flash
of the stm32h573i_dk disco kit in XIP

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2024-06-24 12:45:34 -04:00
..
boards samples: code relocation in external memory of stm32h5 disco kit 2024-06-24 12:45:34 -04:00
src modules: cmsis: move glue code to modules/cmsis 2023-08-24 13:20:21 +02:00
CMakeLists.txt samples: code_relocation_nocopy: Use nrf_qspi_nor driver to init XIP 2023-09-13 16:20:34 +02:00
README.rst samples: code relocation in external memory of stm32 disco kit 2024-05-31 09:52:54 -05:00
linker_arm_nocopy.ld samples: code relocation in external memory of stm32h5 disco kit 2024-06-24 12:45:34 -04:00
prj.conf samples: code_relocation_nocopy: Disable gap filling 2022-06-24 20:29:00 +02:00
sample.yaml samples: code relocation in external memory of stm32h5 disco kit 2024-06-24 12:45:34 -04:00

README.rst

.. _code_relocation_nocopy:

Code relocation nocopy
######################

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.

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