Skip to content

Commit 5fdbb7f

Browse files
urutvaaggargkar-rahul-aws
authored
Cortex-M35P: Add Cortex-M35P port (#631)
* Cortex-M35P: Add Cortex-M35P port The Cortex-M35P support added to kernel. The port hasn't been validated yet with TF-M. Hence TF-M support is not included in this port. Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com> * Add portNORETURN to the newly added portmacro.h Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> --------- Signed-off-by: Devaraj Ranganna <devaraj.ranganna@arm.com> Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com> Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com> Co-authored-by: kar-rahul-aws <118818625+kar-rahul-aws@users.noreply.github.com>
1 parent cd87681 commit 5fdbb7f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+11509
-25
lines changed

CMakeLists.txt

+6
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,9 @@ if(NOT FREERTOS_PORT)
7474
" GCC_ARM_CM33_SECURE - Compiler: GCC Target: ARM Cortex-M33 secure\n"
7575
" GCC_ARM_CM33_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M33 non-trustzone non-secure\n"
7676
" GCC_ARM_CM33_TFM - Compiler: GCC Target: ARM Cortex-M33 non-secure for TF-M\n"
77+
" GCC_ARM_CM35P_NONSECURE - Compiler: GCC Target: ARM Cortex-M35P non-secure\n"
78+
" GCC_ARM_CM35P_SECURE - Compiler: GCC Target: ARM Cortex-M35P secure\n"
79+
" GCC_ARM_CM35P_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M35P non-trustzone non-secure\n"
7780
" GCC_ARM_CM55_NONSECURE - Compiler: GCC Target: ARM Cortex-M55 non-secure\n"
7881
" GCC_ARM_CM55_SECURE - Compiler: GCC Target: ARM Cortex-M55 secure\n"
7982
" GCC_ARM_CM55_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M55 non-trustzone non-secure\n"
@@ -134,6 +137,9 @@ if(NOT FREERTOS_PORT)
134137
" IAR_ARM_CM33_NONSECURE - Compiler: IAR Target: ARM Cortex-M33 non-secure\n"
135138
" IAR_ARM_CM33_SECURE - Compiler: IAR Target: ARM Cortex-M33 secure\n"
136139
" IAR_ARM_CM33_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M33 non-trustzone non-secure\n"
140+
" IAR_ARM_CM35P_NONSECURE - Compiler: IAR Target: ARM Cortex-M35P non-secure\n"
141+
" IAR_ARM_CM35P_SECURE - Compiler: IAR Target: ARM Cortex-M35P secure\n"
142+
" IAR_ARM_CM35P_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M35P non-trustzone non-secure\n"
137143
" IAR_ARM_CM55_NONSECURE - Compiler: IAR Target: ARM Cortex-M55 non-secure\n"
138144
" IAR_ARM_CM55_SECURE - Compiler: IAR Target: ARM Cortex-M55 secure\n"
139145
" IAR_ARM_CM55_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M55 non-trustzone non-secure\n"

portable/ARMv8M/copy_files.py

+20-10
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@
3333
_FREERTOS_PORTABLE_DIRECTORY_ = os.path.dirname(_THIS_FILE_DIRECTORY_)
3434

3535
_COMPILERS_ = ['GCC', 'IAR']
36-
_ARCH_NS_ = ['ARM_CM85', 'ARM_CM85_NTZ', 'ARM_CM55', 'ARM_CM55_NTZ', 'ARM_CM33', 'ARM_CM33_NTZ', 'ARM_CM23', 'ARM_CM23_NTZ']
37-
_ARCH_S_ = ['ARM_CM85', 'ARM_CM55', 'ARM_CM33', 'ARM_CM23']
36+
_ARCH_NS_ = ['ARM_CM85', 'ARM_CM85_NTZ', 'ARM_CM55', 'ARM_CM55_NTZ', 'ARM_CM35P', 'ARM_CM35P_NTZ', 'ARM_CM33', 'ARM_CM33_NTZ', 'ARM_CM23', 'ARM_CM23_NTZ']
37+
_ARCH_S_ = ['ARM_CM85', 'ARM_CM55', 'ARM_CM35P', 'ARM_CM33', 'ARM_CM23']
3838

3939
# Files to be compiled in the Secure Project
4040
_SECURE_COMMON_FILE_PATHS_ = [
@@ -46,16 +46,18 @@
4646

4747
_SECURE_PORTABLE_FILE_PATHS_ = {
4848
'GCC':{
49-
'ARM_CM23':[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM23')],
50-
'ARM_CM33':[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')],
51-
'ARM_CM55':[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')],
52-
'ARM_CM85':[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')]
49+
'ARM_CM23' :[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM23')],
50+
'ARM_CM33' :[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')],
51+
'ARM_CM35P':[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')],
52+
'ARM_CM55' :[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')],
53+
'ARM_CM85' :[os.path.join('secure', 'context', 'portable', 'GCC', 'ARM_CM33')]
5354
},
5455
'IAR':{
55-
'ARM_CM23':[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM23')],
56-
'ARM_CM33':[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')],
57-
'ARM_CM55':[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')],
58-
'ARM_CM85':[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')]
56+
'ARM_CM23' :[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM23')],
57+
'ARM_CM33' :[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')],
58+
'ARM_CM35P':[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')],
59+
'ARM_CM55' :[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')],
60+
'ARM_CM85' :[os.path.join('secure', 'context', 'portable', 'IAR', 'ARM_CM33')]
5961
}
6062
}
6163

@@ -70,6 +72,10 @@
7072
'ARM_CM23_NTZ' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM23_NTZ')],
7173
'ARM_CM33' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM33')],
7274
'ARM_CM33_NTZ' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM33_NTZ')],
75+
'ARM_CM35P' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM33', 'portasm.c'),
76+
os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM35P', 'portmacro.h')],
77+
'ARM_CM35P_NTZ' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM33_NTZ', 'portasm.c'),
78+
os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM35P', 'portmacro.h')],
7379
'ARM_CM55' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM33', 'portasm.c'),
7480
os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM55', 'portmacro.h')],
7581
'ARM_CM55_NTZ' : [os.path.join('non_secure', 'portable', 'GCC', 'ARM_CM33_NTZ', 'portasm.c'),
@@ -84,6 +90,10 @@
8490
'ARM_CM23_NTZ' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM23_NTZ')],
8591
'ARM_CM33' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM33')],
8692
'ARM_CM33_NTZ' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM33_NTZ')],
93+
'ARM_CM35P' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM33', 'portasm.s'),
94+
os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM35P', 'portmacro.h')],
95+
'ARM_CM35P_NTZ' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM33_NTZ', 'portasm.s'),
96+
os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM35P', 'portmacro.h')],
8797
'ARM_CM55' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM33', 'portasm.s'),
8898
os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM55', 'portmacro.h')],
8999
'ARM_CM55_NTZ' : [os.path.join('non_secure', 'portable', 'IAR', 'ARM_CM33_NTZ', 'portasm.s'),

portable/ARMv8M/non_secure/portable/GCC/ARM_CM23/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M23"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
#if( configTOTAL_MPU_REGIONS == 16 )

portable/ARMv8M/non_secure/portable/GCC/ARM_CM23_NTZ/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M23"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
#if( configTOTAL_MPU_REGIONS == 16 )

portable/ARMv8M/non_secure/portable/GCC/ARM_CM33/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M33"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
/**

portable/ARMv8M/non_secure/portable/GCC/ARM_CM33_NTZ/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M33"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
/*
2+
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
3+
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4+
*
5+
* SPDX-License-Identifier: MIT
6+
*
7+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
8+
* this software and associated documentation files (the "Software"), to deal in
9+
* the Software without restriction, including without limitation the rights to
10+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11+
* the Software, and to permit persons to whom the Software is furnished to do so,
12+
* subject to the following conditions:
13+
*
14+
* The above copyright notice and this permission notice shall be included in all
15+
* copies or substantial portions of the Software.
16+
*
17+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
*
24+
* https://www.FreeRTOS.org
25+
* https://github.com/FreeRTOS
26+
*
27+
*/
28+
29+
#ifndef PORTMACRO_H
30+
#define PORTMACRO_H
31+
32+
#ifdef __cplusplus
33+
extern "C" {
34+
#endif
35+
36+
#include "portmacrocommon.h"
37+
38+
/*------------------------------------------------------------------------------
39+
* Port specific definitions.
40+
*
41+
* The settings in this file configure FreeRTOS correctly for the given hardware
42+
* and compiler.
43+
*
44+
* These settings should not be altered.
45+
*------------------------------------------------------------------------------
46+
*/
47+
48+
/**
49+
* Architecture specifics.
50+
*/
51+
#define portARCH_NAME "Cortex-M35P"
52+
#define portDONT_DISCARD __attribute__( ( used ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
54+
/*-----------------------------------------------------------*/
55+
56+
/**
57+
* @brief Critical section management.
58+
*/
59+
#define portDISABLE_INTERRUPTS() ulSetInterruptMask()
60+
#define portENABLE_INTERRUPTS() vClearInterruptMask( 0 )
61+
/*-----------------------------------------------------------*/
62+
63+
#ifdef __cplusplus
64+
}
65+
#endif
66+
67+
#endif /* PORTMACRO_H */

portable/ARMv8M/non_secure/portable/GCC/ARM_CM55/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
*/
5656
#define portARCH_NAME "Cortex-M55"
5757
#define portDONT_DISCARD __attribute__( ( used ) )
58-
#define portNORETURN __attribute__( ( noreturn ) )
58+
#define portNORETURN __attribute__( ( noreturn ) )
5959
/*-----------------------------------------------------------*/
6060

6161
/**

portable/ARMv8M/non_secure/portable/GCC/ARM_CM85/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
*/
5656
#define portARCH_NAME "Cortex-M85"
5757
#define portDONT_DISCARD __attribute__( ( used ) )
58-
#define portNORETURN __attribute__( ( noreturn ) )
58+
#define portNORETURN __attribute__( ( noreturn ) )
5959
/*-----------------------------------------------------------*/
6060

6161
/**
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
/*
2+
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
3+
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
4+
*
5+
* SPDX-License-Identifier: MIT
6+
*
7+
* Permission is hereby granted, free of charge, to any person obtaining a copy of
8+
* this software and associated documentation files (the "Software"), to deal in
9+
* the Software without restriction, including without limitation the rights to
10+
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
11+
* the Software, and to permit persons to whom the Software is furnished to do so,
12+
* subject to the following conditions:
13+
*
14+
* The above copyright notice and this permission notice shall be included in all
15+
* copies or substantial portions of the Software.
16+
*
17+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
19+
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
20+
* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
21+
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
22+
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23+
*
24+
* https://www.FreeRTOS.org
25+
* https://github.com/FreeRTOS
26+
*
27+
*/
28+
29+
#ifndef PORTMACRO_H
30+
#define PORTMACRO_H
31+
32+
#ifdef __cplusplus
33+
extern "C" {
34+
#endif
35+
36+
#include "portmacrocommon.h"
37+
38+
/*------------------------------------------------------------------------------
39+
* Port specific definitions.
40+
*
41+
* The settings in this file configure FreeRTOS correctly for the given hardware
42+
* and compiler.
43+
*
44+
* These settings should not be altered.
45+
*------------------------------------------------------------------------------
46+
*/
47+
48+
/**
49+
* Architecture specifics.
50+
*/
51+
#define portARCH_NAME "Cortex-M35P"
52+
#define portDONT_DISCARD __root
53+
/*-----------------------------------------------------------*/
54+
55+
#if( configTOTAL_MPU_REGIONS == 16 )
56+
#error 16 MPU regions are not yet supported for this port.
57+
#endif
58+
/*-----------------------------------------------------------*/
59+
60+
/**
61+
* @brief Critical section management.
62+
*/
63+
#define portDISABLE_INTERRUPTS() ulSetInterruptMask()
64+
#define portENABLE_INTERRUPTS() vClearInterruptMask( 0 )
65+
/*-----------------------------------------------------------*/
66+
67+
/* Suppress warnings that are generated by the IAR tools, but cannot be fixed in
68+
* the source code because to do so would cause other compilers to generate
69+
* warnings. */
70+
#pragma diag_suppress=Be006
71+
#pragma diag_suppress=Pa082
72+
/*-----------------------------------------------------------*/
73+
74+
#ifdef __cplusplus
75+
}
76+
#endif
77+
78+
#endif /* PORTMACRO_H */

portable/CMakeLists.txt

+36
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,20 @@ add_library(freertos_kernel_port STATIC
123123
GCC/ARM_CM33_NTZ/non_secure/portasm.c
124124
ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c>
125125

126+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NONSECURE>:
127+
GCC/ARM_CM35P/non_secure/port.c
128+
GCC/ARM_CM35P/non_secure/portasm.c>
129+
130+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_SECURE>:
131+
GCC/ARM_CM35P/secure/secure_context_port.c
132+
GCC/ARM_CM35P/secure/secure_context.c
133+
GCC/ARM_CM35P/secure/secure_heap.c
134+
GCC/ARM_CM35P/secure/secure_init.c>
135+
136+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NTZ_NONSECURE>:
137+
GCC/ARM_CM35P_NTZ/non_secure/port.c
138+
GCC/ARM_CM35P_NTZ/non_secure/portasm.c>
139+
126140
# ARMv8.1-M ports for GCC
127141
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NONSECURE>:
128142
GCC/ARM_CM55/non_secure/port.c
@@ -397,6 +411,20 @@ add_library(freertos_kernel_port STATIC
397411
IAR/ARM_CM33_NTZ/non_secure/port.c
398412
IAR/ARM_CM33_NTZ/non_secure/portasm.s>
399413

414+
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NONSECURE>:
415+
IAR/ARM_CM35P/non_secure/port.c
416+
IAR/ARM_CM35P/non_secure/portasm.s>
417+
418+
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_SECURE>:
419+
IAR/ARM_CM35P/secure/secure_context_port_asm.s
420+
IAR/ARM_CM35P/secure/secure_context.c
421+
IAR/ARM_CM35P/secure/secure_heap.c
422+
IAR/ARM_CM35P/secure/secure_init.c>
423+
424+
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NTZ_NONSECURE>:
425+
IAR/ARM_CM35P_NTZ/non_secure/port.c
426+
IAR/ARM_CM35P_NTZ/non_secure/portasm.s>
427+
400428
# ARMv8.1-M ports for IAR EWARM
401429
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NONSECURE>:
402430
IAR/ARM_CM55/non_secure/port.c
@@ -738,6 +766,10 @@ target_include_directories(freertos_kernel_port PUBLIC
738766
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure>
739767
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_TFM>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure>
740768

769+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM35P/non_secure>
770+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM35P/secure>
771+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM35P_NTZ/non_secure>
772+
741773
# ARMv8.1-M ports for GCC
742774
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55/non_secure>
743775
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55/secure>
@@ -860,6 +892,10 @@ target_include_directories(freertos_kernel_port PUBLIC
860892
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/secure>
861893
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33_NTZ/non_secure>
862894

895+
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM35P/non_secure>
896+
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM35P/secure>
897+
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM35P_NTZ/non_secure>
898+
863899
# ARMv8.1-M ports for IAR EWARM
864900
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55/non_secure>
865901
$<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55/secure>

portable/GCC/ARM_CM23/non_secure/portasm.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ void PendSV_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
367367
" ldr r3, xSecureContextConst \n"/* Read the location of xSecureContext i.e. &( xSecureContext ). */
368368
" str r0, [r3] \n"/* Restore the task's xSecureContext. */
369369
" cbz r0, restore_ns_context \n"/* If there is no secure context for the task, restore the non-secure context. */
370-
" ldr r3, pxCurrentTCBConst \n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */
370+
" ldr r3, pxCurrentTCBConst \n"/* Read the location of pxCurrentTCB i.e. &( pxCurrentTCB ). */
371371
" ldr r1, [r3] \n"/* Read pxCurrentTCB. */
372372
" push {r2, r4} \n"
373373
" bl SecureContext_LoadContext \n"/* Restore the secure context. Params are in r0 and r1. r0 = xSecureContext and r1 = pxCurrentTCB. */

portable/GCC/ARM_CM23/non_secure/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M23"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
#if( configTOTAL_MPU_REGIONS == 16 )

portable/GCC/ARM_CM23_NTZ/non_secure/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M23"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
#if( configTOTAL_MPU_REGIONS == 16 )

portable/GCC/ARM_CM33/non_secure/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M33"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
/**

portable/GCC/ARM_CM33_NTZ/non_secure/portmacro.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
*/
5151
#define portARCH_NAME "Cortex-M33"
5252
#define portDONT_DISCARD __attribute__( ( used ) )
53-
#define portNORETURN __attribute__( ( noreturn ) )
53+
#define portNORETURN __attribute__( ( noreturn ) )
5454
/*-----------------------------------------------------------*/
5555

5656
/**

0 commit comments

Comments
 (0)