Skip to content

Commit 45f3611

Browse files
authored
Merge branch 'main' into main
2 parents ee5725b + c083af9 commit 45f3611

File tree

2 files changed

+134
-85
lines changed

2 files changed

+134
-85
lines changed

portable/CMakeLists.txt

Lines changed: 55 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,13 @@ add_library(freertos_kernel_port STATIC
8888
GCC/ARM_CM3/port.c>
8989

9090
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3_MPU>:
91-
GCC/ARM_CM3_MPU/port.c>
91+
GCC/ARM_CM3_MPU/port.c
92+
GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c>
9293

9394
# ARMv7E-M ports for GCC
9495
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4_MPU>:
95-
GCC/ARM_CM4_MPU/port.c>
96+
GCC/ARM_CM4_MPU/port.c
97+
GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c>
9698

9799
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4F>:
98100
GCC/ARM_CM4F/port.c>
@@ -103,7 +105,8 @@ add_library(freertos_kernel_port STATIC
103105
# ARMv8-M ports for GCC
104106
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NONSECURE>:
105107
GCC/ARM_CM23/non_secure/port.c
106-
GCC/ARM_CM23/non_secure/portasm.c>
108+
GCC/ARM_CM23/non_secure/portasm.c
109+
GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c>
107110

108111
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_SECURE>:
109112
GCC/ARM_CM23/secure/secure_context_port.c
@@ -113,11 +116,13 @@ add_library(freertos_kernel_port STATIC
113116

114117
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NTZ_NONSECURE>:
115118
GCC/ARM_CM23_NTZ/non_secure/port.c
116-
GCC/ARM_CM23_NTZ/non_secure/portasm.c>
119+
GCC/ARM_CM23_NTZ/non_secure/portasm.c
120+
GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c>
117121

118122
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NONSECURE>:
119123
GCC/ARM_CM33/non_secure/port.c
120-
GCC/ARM_CM33/non_secure/portasm.c>
124+
GCC/ARM_CM33/non_secure/portasm.c
125+
GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c>
121126

122127
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_SECURE>:
123128
GCC/ARM_CM33/secure/secure_context_port.c
@@ -127,16 +132,19 @@ add_library(freertos_kernel_port STATIC
127132

128133
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NTZ_NONSECURE>:
129134
GCC/ARM_CM33_NTZ/non_secure/port.c
130-
GCC/ARM_CM33_NTZ/non_secure/portasm.c>
135+
GCC/ARM_CM33_NTZ/non_secure/portasm.c
136+
GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c>
131137

132138
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_TFM>:
133139
GCC/ARM_CM33_NTZ/non_secure/port.c
134140
GCC/ARM_CM33_NTZ/non_secure/portasm.c
141+
GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c
135142
ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c>
136143

137144
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NONSECURE>:
138145
GCC/ARM_CM35P/non_secure/port.c
139-
GCC/ARM_CM35P/non_secure/portasm.c>
146+
GCC/ARM_CM35P/non_secure/portasm.c
147+
GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c>
140148

141149
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_SECURE>:
142150
GCC/ARM_CM35P/secure/secure_context_port.c
@@ -146,12 +154,14 @@ add_library(freertos_kernel_port STATIC
146154

147155
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NTZ_NONSECURE>:
148156
GCC/ARM_CM35P_NTZ/non_secure/port.c
149-
GCC/ARM_CM35P_NTZ/non_secure/portasm.c>
157+
GCC/ARM_CM35P_NTZ/non_secure/portasm.c
158+
GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c>
150159

151160
# ARMv8.1-M ports for GCC
152161
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NONSECURE>:
153162
GCC/ARM_CM55/non_secure/port.c
154-
GCC/ARM_CM55/non_secure/portasm.c>
163+
GCC/ARM_CM55/non_secure/portasm.c
164+
GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c>
155165

156166
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_SECURE>:
157167
GCC/ARM_CM55/secure/secure_context_port.c
@@ -161,16 +171,19 @@ add_library(freertos_kernel_port STATIC
161171

162172
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NTZ_NONSECURE>:
163173
GCC/ARM_CM55_NTZ/non_secure/port.c
164-
GCC/ARM_CM55_NTZ/non_secure/portasm.c>
174+
GCC/ARM_CM55_NTZ/non_secure/portasm.c
175+
GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c>
165176

166177
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_TFM>:
167178
GCC/ARM_CM55_NTZ/non_secure/port.c
168179
GCC/ARM_CM55_NTZ/non_secure/portasm.c
180+
GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c
169181
ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c>
170182

171183
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_NONSECURE>:
172184
GCC/ARM_CM85/non_secure/port.c
173-
GCC/ARM_CM85/non_secure/portasm.c>
185+
GCC/ARM_CM85/non_secure/portasm.c
186+
GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c>
174187

175188
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_SECURE>:
176189
GCC/ARM_CM85/secure/secure_context_port.c
@@ -180,11 +193,13 @@ add_library(freertos_kernel_port STATIC
180193

181194
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_NTZ_NONSECURE>:
182195
GCC/ARM_CM85_NTZ/non_secure/port.c
183-
GCC/ARM_CM85_NTZ/non_secure/portasm.c>
196+
GCC/ARM_CM85_NTZ/non_secure/portasm.c
197+
GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c>
184198

185199
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_TFM>:
186200
GCC/ARM_CM85_NTZ/non_secure/port.c
187201
GCC/ARM_CM85_NTZ/non_secure/portasm.c
202+
GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c
188203
ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c>
189204

190205
# ARMv7-R ports for GCC
@@ -391,7 +406,8 @@ add_library(freertos_kernel_port STATIC
391406

392407
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F_MPU>:
393408
IAR/ARM_CM4F_MPU/port.c
394-
IAR/ARM_CM4F_MPU/portasm.s>
409+
IAR/ARM_CM4F_MPU/portasm.s
410+
IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S>
395411

396412
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM7>:
397413
IAR/ARM_CM7/r0p1/port.c
@@ -400,7 +416,8 @@ add_library(freertos_kernel_port STATIC
400416
# ARMv8-M Ports for IAR EWARM
401417
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NONSECURE>:
402418
IAR/ARM_CM23/non_secure/port.c
403-
IAR/ARM_CM23/non_secure/portasm.s>
419+
IAR/ARM_CM23/non_secure/portasm.s
420+
IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S>
404421

405422
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_SECURE>:
406423
IAR/ARM_CM23/secure/secure_context_port_asm.s
@@ -410,11 +427,13 @@ add_library(freertos_kernel_port STATIC
410427

411428
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NTZ_NONSECURE>:
412429
IAR/ARM_CM23_NTZ/non_secure/port.c
413-
IAR/ARM_CM23_NTZ/non_secure/portasm.s>
430+
IAR/ARM_CM23_NTZ/non_secure/portasm.s
431+
IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S>
414432

415433
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NONSECURE>:
416434
IAR/ARM_CM33/non_secure/port.c
417-
IAR/ARM_CM33/non_secure/portasm.s>
435+
IAR/ARM_CM33/non_secure/portasm.s
436+
IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S>
418437

419438
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_SECURE>:
420439
IAR/ARM_CM33/secure/secure_context_port_asm.s
@@ -424,11 +443,13 @@ add_library(freertos_kernel_port STATIC
424443

425444
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NTZ_NONSECURE>:
426445
IAR/ARM_CM33_NTZ/non_secure/port.c
427-
IAR/ARM_CM33_NTZ/non_secure/portasm.s>
446+
IAR/ARM_CM33_NTZ/non_secure/portasm.s
447+
IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S>
428448

429449
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NONSECURE>:
430450
IAR/ARM_CM35P/non_secure/port.c
431-
IAR/ARM_CM35P/non_secure/portasm.s>
451+
IAR/ARM_CM35P/non_secure/portasm.s
452+
IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S>
432453

433454
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_SECURE>:
434455
IAR/ARM_CM35P/secure/secure_context_port_asm.s
@@ -438,12 +459,14 @@ add_library(freertos_kernel_port STATIC
438459

439460
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NTZ_NONSECURE>:
440461
IAR/ARM_CM35P_NTZ/non_secure/port.c
441-
IAR/ARM_CM35P_NTZ/non_secure/portasm.s>
462+
IAR/ARM_CM35P_NTZ/non_secure/portasm.s
463+
IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S>
442464

443465
# ARMv8.1-M ports for IAR EWARM
444466
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NONSECURE>:
445467
IAR/ARM_CM55/non_secure/port.c
446-
IAR/ARM_CM55/non_secure/portasm.s>
468+
IAR/ARM_CM55/non_secure/portasm.s
469+
IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S>
447470

448471
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_SECURE>:
449472
IAR/ARM_CM55/secure/secure_context_port_asm.s
@@ -453,11 +476,13 @@ add_library(freertos_kernel_port STATIC
453476

454477
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NTZ_NONSECURE>:
455478
IAR/ARM_CM55_NTZ/non_secure/port.c
456-
IAR/ARM_CM55_NTZ/non_secure/portasm.s>
479+
IAR/ARM_CM55_NTZ/non_secure/portasm.s
480+
IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S>
457481

458482
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_NONSECURE>:
459483
IAR/ARM_CM85/non_secure/port.c
460-
IAR/ARM_CM85/non_secure/portasm.s>
484+
IAR/ARM_CM85/non_secure/portasm.s
485+
IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S>
461486

462487
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_SECURE>:
463488
IAR/ARM_CM85/secure/secure_context_port_asm.s
@@ -467,7 +492,8 @@ add_library(freertos_kernel_port STATIC
467492

468493
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_NTZ_NONSECURE>:
469494
IAR/ARM_CM85_NTZ/non_secure/port.c
470-
IAR/ARM_CM85_NTZ/non_secure/portasm.s>
495+
IAR/ARM_CM85_NTZ/non_secure/portasm.s
496+
IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S>
471497

472498
# ARMv7-R Ports for IAR EWARM
473499
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CRX_NOGIC>:
@@ -659,7 +685,8 @@ add_library(freertos_kernel_port STATIC
659685

660686
# ARMv7E-M ports for ARM RVDS / armcc
661687
$<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4_MPU>:
662-
RVDS/ARM_CM4_MPU/port.c>
688+
RVDS/ARM_CM4_MPU/port.c
689+
RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c>
663690

664691
$<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4F>:
665692
RVDS/ARM_CM4F/port.c>
@@ -723,7 +750,10 @@ if( FREERTOS_PORT MATCHES "GCC_ARM_CM(3|4)_MPU" OR
723750
FREERTOS_PORT MATCHES "IAR_ARM_CM(23|33|55|85)_NTZ_NONSECURE" OR
724751
FREERTOS_PORT MATCHES "IAR_ARM_CM(23|33|55|85)_NONSECURE"
725752
)
726-
target_sources(freertos_kernel_port PRIVATE Common/mpu_wrappers.c)
753+
target_sources(freertos_kernel_port PRIVATE
754+
Common/mpu_wrappers.c
755+
Common/mpu_wrappers_v2.c
756+
)
727757
endif()
728758

729759
target_include_directories(freertos_kernel_port PUBLIC

0 commit comments

Comments
 (0)