It's useful for RAMABLE_REGION to have a uniform name when CODE_DATA_RELOCATION is supported, because otherwise the build system needs to be aware of how the region name differs between architectures. Since architectures tend to prefer one of 'SRAM' or 'RAM' for that region, prefer to use 'RAM' as the more general term. Signed-off-by: Peter Marheine <pmarheine@chromium.org>
20 lines
664 B
CMake
20 lines
664 B
CMake
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
cmake_minimum_required(VERSION 3.20.0)
|
|
|
|
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
|
|
project(code_relocation_nocopy)
|
|
|
|
FILE(GLOB app_sources src/*.c)
|
|
target_sources(app PRIVATE ${app_sources})
|
|
target_sources_ifdef(CONFIG_NRFX_QSPI app PRIVATE boards/nrf5340dk_nrf5340_cpuapp/ext_mem_init.c)
|
|
|
|
# Run ext_code from the external flash (XIP). No need to copy.
|
|
zephyr_code_relocate(src/ext_code.c EXTFLASH_TEXT NOCOPY)
|
|
|
|
# But still relocate (copy) the data to RAM
|
|
zephyr_code_relocate(src/ext_code.c RAM_DATA)
|
|
|
|
# sram_code instead runs entirely from SRAM after being copied there.
|
|
zephyr_code_relocate(src/sram_code.c RAM)
|