@ -4633,7 +4633,7 @@ function(zephyr_linker)
@@ -4633,7 +4633,7 @@ function(zephyr_linker)
endfunction ( )
# U s a g e :
# zephyr_linker_memory ( NAME <name> START <address> SIZE <size> FLAGS <flags> )
# zephyr_linker_memory ( NAME <name> START <address> SIZE <size> [ FLAGS <flags>] )
#
# Z e p h y r l i n k e r m e m o r y .
# T h i s f u n c t i o n s p e c i f i e s a m e m o r y r e g i o n f o r t h e p l a t f o r m i n u s e .
@ -4650,14 +4650,18 @@ endfunction()
@@ -4650,14 +4650,18 @@ endfunction()
# A l l t h e f o l l o w i n g a r e v a l i d v a l u e s :
# 1 0 4 8 5 7 6 , 0 x 1 0 0 0 0 , 1 0 2 4 k , 1 0 2 4 K , 1 m , a n d 1 M .
# F L A G S < f l a g s > : F l a g s d e s c r i b i n g p r o p e r t i e s o f t h e m e m o r y r e g i o n .
# C u r r e n t l y s u p p o r t e d :
# r : R e a d - o n l y r e g i o n
# w : R e a d - w r i t e r e g i o n
# x : E x e c u t a b l e r e g i o n
# T h e f l a g s r a n d x , o r w a n d x m a y b e c o m b i n e d l i k e : r x , w x .
# a : A l l o c a t a b l e r e g i o n
# i : I n i t i a l i z e d r e g i o n
# l : S a m e a s ‘ i ’
# ! : I n v e r t t h e s e n s e o f a n y o f t h e a t t r i b u t e s t h a t f o l l o w
# T h e f l a g s m a y b e c o m b i n e d l i k e : r x , r x ! w .
function ( zephyr_linker_memory )
set ( single_args "FLAGS;NAME;SIZE;START" )
cmake_parse_arguments ( MEMORY "" "${single_args}" "" ${ ARGN } )
set ( req_single_args "NAME;SIZE;START" )
set ( single_args "FLAGS" )
cmake_parse_arguments ( MEMORY "" "${req_single_args};${single_args}" "" ${ ARGN } )
if ( MEMORY_UNPARSED_ARGUMENTS )
message ( FATAL_ERROR "zephyr_linker_memory(${ARGV0} ...) given unknown "
@ -4665,7 +4669,7 @@ function(zephyr_linker_memory)
@@ -4665,7 +4669,7 @@ function(zephyr_linker_memory)
)
endif ( )
foreach ( arg ${ single_args } )
foreach ( arg ${ req_ single_args} )
if ( NOT DEFINED MEMORY_ ${ arg } )
message ( FATAL_ERROR "zephyr_linker_memory(${ARGV0} ...) missing required "
" a r g u m e n t : $ { a r g } "
@ -4674,6 +4678,7 @@ function(zephyr_linker_memory)
@@ -4674,6 +4678,7 @@ function(zephyr_linker_memory)
endforeach ( )
set ( MEMORY )
zephyr_linker_arg_val_list ( MEMORY "${req_single_args}" )
zephyr_linker_arg_val_list ( MEMORY "${single_args}" )
string ( REPLACE ";" "\;" MEMORY "${MEMORY}" )
@ -4683,7 +4688,7 @@ function(zephyr_linker_memory)
@@ -4683,7 +4688,7 @@ function(zephyr_linker_memory)
endfunction ( )
# U s a g e :
# zephyr_linker_memory_ifdef ( <setting> NAME <name> START <address> SIZE <size> FLAGS <flags> )
# zephyr_linker_memory_ifdef ( <setting> NAME <name> START <address> SIZE <size> [ FLAGS <flags>] )
#
# W i l l c r e a t e m e m o r y r e g i o n i f < s e t t i n g > i s e n a b l e d .
#
@ -4746,9 +4751,9 @@ function(zephyr_linker_dts_section)
@@ -4746,9 +4751,9 @@ function(zephyr_linker_dts_section)
endfunction ( )
# U s a g e :
# zephyr_linker_dts_memory ( PATH <path> FLAGS <flags> )
# zephyr_linker_dts_memory ( NODELABEL <nodelabel> FLAGS <flags> )
# zephyr_linker_dts_memory ( CHOSEN <prop> FLAGS <flags> )
# zephyr_linker_dts_memory ( PATH <path> )
# zephyr_linker_dts_memory ( NODELABEL <nodelabel> )
# zephyr_linker_dts_memory ( CHOSEN <prop> )
#
# Z e p h y r l i n k e r d e v i c e t r e e m e m o r y .
# T h i s f u n c t i o n s p e c i f i e s a m e m o r y r e g i o n f o r t h e p l a t f o r m i n u s e b a s e d o n i t s
@ -4763,15 +4768,9 @@ endfunction()
@@ -4763,15 +4768,9 @@ endfunction()
# N O D E L A B E L < l a b e l > : N o d e l a b e l
# C H O S E N < p r o p > : C h o s e n p r o p e r t y , a d d m e m o r y s e c t i o n d e s c r i b e d b y t h e
# / c h o s e n p r o p e r t y i f i t e x i s t s .
# F L A G S < f l a g s > : F l a g s d e s c r i b i n g p r o p e r t i e s o f t h e m e m o r y r e g i o n .
# C u r r e n t l y s u p p o r t e d :
# r : R e a d - o n l y r e g i o n
# w : R e a d - w r i t e r e g i o n
# x : E x e c u t a b l e r e g i o n
# T h e f l a g s r a n d x , o r w a n d x m a y b e c o m b i n e d l i k e : r x , w x .
#
function ( zephyr_linker_dts_memory )
set ( single_args "CHOSEN;FLAGS; PATH;NODELABEL" )
set ( single_args "CHOSEN;PATH;NODELABEL" )
cmake_parse_arguments ( DTS_MEMORY "" "${single_args}" "" ${ ARGN } )
if ( DTS_MEMORY_UNPARSED_ARGUMENTS )
@ -4814,12 +4813,28 @@ function(zephyr_linker_dts_memory)
@@ -4814,12 +4813,28 @@ function(zephyr_linker_dts_memory)
endif ( )
zephyr_string ( SANITIZE name ${ name } )
zephyr_linker_memory (
N A M E $ { n a m e }
S T A R T $ { a d d r }
S I Z E $ { s i z e }
F L A G S $ { D T S _ M E M O R Y _ F L A G S }
)
dt_prop ( flags PATH ${ DTS_MEMORY_PATH } PROPERTY "zephyr,memory-region-flags" )
if ( NOT DEFINED flags )
zephyr_linker_memory (
N A M E $ { n a m e }
S T A R T $ { a d d r }
S I Z E $ { s i z e }
F L A G S " r w "
)
elseif ( "${flags}" STREQUAL "" )
zephyr_linker_memory (
N A M E $ { n a m e }
S T A R T $ { a d d r }
S I Z E $ { s i z e }
)
else ( )
zephyr_linker_memory (
N A M E $ { n a m e }
S T A R T $ { a d d r }
S I Z E $ { s i z e }
F L A G S $ { f l a g s }
)
endif ( )
endfunction ( )
# U s a g e :