From 90e7078fa8c9d44c6472d11b7fc80ca75ff3839c Mon Sep 17 00:00:00 2001 From: Torsten Rasmussen Date: Wed, 11 Aug 2021 17:00:02 +0200 Subject: [PATCH] cmake: CMake devicetree related linker functions implemented This commit introduces zephyr_linker_dts CMake functions for creation of linker scripts based on devicetree nodes. The linker devicetree functions supports the following features: - Configuration of memory sections based on devicetree nodes Overview of functions introduced with this commit: - zephyr_linker_dts_memory Signed-off-by: Torsten Rasmussen --- cmake/extensions.cmake | 71 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/cmake/extensions.cmake b/cmake/extensions.cmake index be85fdedc4b..b5fe2898be1 100644 --- a/cmake/extensions.cmake +++ b/cmake/extensions.cmake @@ -2979,6 +2979,77 @@ macro(zephyr_linker_memory_ifdef feature_toggle) endif() endmacro() +# Usage: +# zephyr_linker_dts_memory(NAME PATH FLAGS ) +# zephyr_linker_dts_memory(NAME NODELABEL FLAGS ) +# zephyr_linker_dts_memory(NAME CHOSEN FLAGS ) +# +# Zephyr linker devicetree memory. +# This function specifies a memory region for the platform in use based on its +# devicetree configuration. +# +# The memory will only be defined if the devicetree node or a devicetree node +# matching the nodelabel exists and has status okay. +# +# Only one of PATH, NODELABEL, and CHOSEN parameters may be given. +# +# NAME : Name of the memory region, for example FLASH. +# PATH : Devicetree node identifier. +# NODELABEL