Skip to content

Commit d301109

Browse files
committed
armv8-r: Add Arm Cortex-R82 non-MPU port
The goal of this commit is to add the GCC/ARMClang non-MPU port variant for ARM Cortex-R82 processor which is ARMv8-R AArch64 based. The work done is inspired by the GCC ARM_AARCH64 FreeRTOS port. This port has the following features: * Uses single security state (non TrustZone). * Supports SMP (Symmetric multi-processing). * Doesn't support Hypervisor (EL2). * Doesn't support neither PMSA (MPU) nor VMSA (MMU). Signed-off-by: Ahmed Ismail <[email protected]>
1 parent 7225fbc commit d301109

File tree

5 files changed

+1615
-0
lines changed

5 files changed

+1615
-0
lines changed

CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,7 @@ if(NOT FREERTOS_PORT)
8787
" GCC_ARM_CR5 - Compiler: GCC Target: ARM Cortex-R5\n"
8888
" GCC_ARM_CRX_MPU - Compiler: GCC Target: ARM Cortex-Rx with MPU\n"
8989
" GCC_ARM_CRX_NOGIC - Compiler: GCC Target: ARM Cortex-Rx no GIC\n"
90+
" GCC_ARM_CR82 - Compiler: GCC Target: ARM Cortex-R82\n"
9091
" GCC_ARM7_AT91FR40008 - Compiler: GCC Target: ARM7 Atmel AT91R40008\n"
9192
" GCC_ARM7_AT91SAM7S - Compiler: GCC Target: ARM7 Atmel AT91SAM7S\n"
9293
" GCC_ARM7_LPC2000 - Compiler: GCC Target: ARM7 LPC2000\n"

portable/CMakeLists.txt

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,11 @@ add_library(freertos_kernel_port OBJECT
218218
GCC/ARM_CRx_No_GIC/port.c
219219
GCC/ARM_CRx_No_GIC/portASM.S>
220220

221+
# ARMv8-R ports for GCC
222+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CR82>:
223+
GCC/ARM_CR82/port.c
224+
GCC/ARM_CR82/portASM.S>
225+
221226
# ARMv4T ARM7TDMI ports for GCC
222227
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91FR40008>:
223228
GCC/ARM7_AT91FR40008/port.c
@@ -963,6 +968,9 @@ target_include_directories(freertos_kernel_port_headers INTERFACE
963968
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_MPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_MPU>
964969
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_No_GIC>
965970

971+
# ARMv8-R ports for GCC
972+
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CR82>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CR82>
973+
966974
# ARMv4T ARM7TDMI ports for GCC
967975
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91FR40008>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91FR40008>
968976
$<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91SAM7S>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91SAM7S>

0 commit comments

Comments
 (0)