From ca099b9e9bec6178917fe41cba12cda75be56e29 Mon Sep 17 00:00:00 2001 From: Paul Bartell Date: Fri, 16 Sep 2022 00:00:11 -0700 Subject: [PATCH] Update CMakeLists.txt for Cortex-M55 and Cortex-M85 ports (#560) * Annotate ports CMakeLists.txt with port details * CMake: Add Cortex-M55 and Cortex-M85 ports --- CMakeLists.txt | 16 +- portable/CMakeLists.txt | 557 +++++++++++++++++++++++++++++++++++----- 2 files changed, 505 insertions(+), 68 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 86e149c02..5b048d224 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -62,6 +62,15 @@ if(NOT FREERTOS_PORT) " GCC_ARM_CM33_NONSECURE - Compiller: GCC Target: ARM Cortex-M33 non-secure\n" " GCC_ARM_CM33_SECURE - Compiller: GCC Target: ARM Cortex-M33 secure\n" " GCC_ARM_CM33_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M33 non-trustzone non-secure\n" + " GCC_ARM_CM33_TFM - Compiller: GCC Target: ARM Cortex-M33 non-secure for TF-M\n" + " GCC_ARM_CM55_NONSECURE - Compiller: GCC Target: ARM Cortex-M55 non-secure\n" + " GCC_ARM_CM55_SECURE - Compiller: GCC Target: ARM Cortex-M55 secure\n" + " GCC_ARM_CM55_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M55 non-trustzone non-secure\n" + " GCC_ARM_CM55_TFM - Compiller: GCC Target: ARM Cortex-M55 non-secure for TF-M\n" + " GCC_ARM_CM85_NONSECURE - Compiller: GCC Target: ARM Cortex-M85 non-secure\n" + " GCC_ARM_CM85_SECURE - Compiller: GCC Target: ARM Cortex-M85 secure\n" + " GCC_ARM_CM85_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M85 non-trustzone non-secure\n" + " GCC_ARM_CM85_TFM - Compiller: GCC Target: ARM Cortex-M85 non-secure for TF-M\n" " GCC_ARM_CR5 - Compiller: GCC Target: ARM Cortex-R5\n" " GCC_ARM_CRX_NOGIC - Compiller: GCC Target: ARM Cortex-Rx no GIC\n" " GCC_ARM7_AT91FR40008 - Compiller: GCC Target: ARM7 Atmel AT91R40008\n" @@ -94,7 +103,6 @@ if(NOT FREERTOS_PORT) " GCC_TRICORE_1782 - Compiller: GCC Target: TriCore 1782\n" " GCC_ARC_EM_HS - Compiller: GCC Target: DesignWare ARC EM HS\n" " GCC_ARC_V1 - Compiller: GCC Target: DesignWare ARC v1\n" - " GCC_ARM_CM33_TFM - Compiller: GCC Target: ARM Cortex-M33 trusted firmware\n" " GCC_ATMEGA - Compiller: GCC Target: ATmega\n" " GCC_POSIX - Compiller: GCC Target: Posix\n" " GCC_RP2040 - Compiller: GCC Target: RP2040 ARM Cortex-M0+\n" @@ -115,6 +123,12 @@ if(NOT FREERTOS_PORT) " IAR_ARM_CM33_NONSECURE - Compiller: IAR Target: ARM Cortex-M33 non-secure\n" " IAR_ARM_CM33_SECURE - Compiller: IAR Target: ARM Cortex-M33 secure\n" " IAR_ARM_CM33_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M33 non-trustzone non-secure\n" + " IAR_ARM_CM55_NONSECURE - Compiller: IAR Target: ARM Cortex-M55 non-secure\n" + " IAR_ARM_CM55_SECURE - Compiller: IAR Target: ARM Cortex-M55 secure\n" + " IAR_ARM_CM55_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M55 non-trustzone non-secure\n" + " IAR_ARM_CM85_NONSECURE - Compiller: IAR Target: ARM Cortex-M85 non-secure\n" + " IAR_ARM_CM85_SECURE - Compiller: IAR Target: ARM Cortex-M85 secure\n" + " IAR_ARM_CM85_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M85 non-trustzone non-secure\n" " IAR_ARM_CRX_NOGIC - Compiller: IAR Target: ARM Cortex-Rx no GIC\n" " IAR_ATMEGA323 - Compiller: IAR Target: ATMega323\n" " IAR_ATMEL_SAM7S64 - Compiller: IAR Target: Atmel SAM7S64\n" diff --git a/portable/CMakeLists.txt b/portable/CMakeLists.txt index 9848adaf4..ea54ec423 100644 --- a/portable/CMakeLists.txt +++ b/portable/CMakeLists.txt @@ -1,177 +1,316 @@ # FreeRTOS internal cmake file. Do not use it in user top-level project add_library(freertos_kernel_port STATIC + # 16-Bit DOS ports for BCC $<$: BCC/16BitDOS/common/portcomn.c BCC/16BitDOS/Flsh186/port.c> + $<$: BCC/16BitDOS/common/portcomn.c BCC/16BitDOS/PC/port.c> + + # ARMv7-M port for Texas Instruments Code Composer Studio $<$: CCS/ARM_CM3/port.c CCS/ARM_CM3/portasm.asm> + + # ARMv7E-M port for Texas Instruments Code Composer Studio $<$: CCS/ARM_CM4F/port.c CCS/ARM_CM4F/portasm.asm> + + # ARMv7-R port for Texas Instruments Code Composer Studio $<$: CCS/ARM_Cortex-R4/port.c CCS/ARM_Cortex-R4/portASM.asm> + + # Texas Instruments MSP430 port for Texas Instruments Code Composer Studio $<$: CCS/MSP430X/port.c CCS/MSP430X/portext.asm> + + # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for Code Warrior $<$: CodeWarrior/ColdFire_V1/port.c CodeWarrior/ColdFire_V1/portasm.S> + $<$: CodeWarrior/ColdFire_V2/port.c CodeWarrior/ColdFire_V2/portasm.S> + $<$: CodeWarrior/HCS12/port.c> + + # ARMv7-A port for GCC $<$: GCC/ARM_CA9/port.c GCC/ARM_CA9/portASM.S> + + # ARMv8-A ports for GCC $<$: GCC/ARM_CA53_64_BIT/port.c GCC/ARM_CA53_64_BIT/portASM.S> + $<$: GCC/ARM_CA53_64_BIT_SRE/port.c GCC/ARM_CA53_64_BIT_SRE/portASM.S> + + # ARMv6-M port for GCC $<$: GCC/ARM_CM0/port.c> + + # ARMv6-M / Cortex-M0 Raspberry PI RP2040 port for GCC + $<$: + ThirdParty/GCC/RP2040/idle_task_static_memory.c + ThirdParty/GCC/RP2040/port.c> + + # ARMv7-M ports for GCC $<$: GCC/ARM_CM3/port.c> + $<$: GCC/ARM_CM3_MPU/port.c> + + # ARMv7E-M ports for GCC $<$: GCC/ARM_CM4_MPU/port.c> + $<$: GCC/ARM_CM4F/port.c> + $<$: GCC/ARM_CM7/r0p1/port.c> + + # ARMv8-M ports for GCC $<$: GCC/ARM_CM23/non_secure/port.c GCC/ARM_CM23/non_secure/portasm.c> + $<$: GCC/ARM_CM23/secure/secure_context_port.c GCC/ARM_CM23/secure/secure_context.c GCC/ARM_CM23/secure/secure_heap.c GCC/ARM_CM23/secure/secure_init.c> + $<$: GCC/ARM_CM23_NTZ/non_secure/port.c GCC/ARM_CM23_NTZ/non_secure/portasm.c> + $<$: GCC/ARM_CM33/non_secure/port.c GCC/ARM_CM33/non_secure/portasm.c> + $<$: GCC/ARM_CM33/secure/secure_context_port.c GCC/ARM_CM33/secure/secure_context.c GCC/ARM_CM33/secure/secure_heap.c GCC/ARM_CM33/secure/secure_init.c> + $<$: GCC/ARM_CM33_NTZ/non_secure/port.c GCC/ARM_CM33_NTZ/non_secure/portasm.c> + + $<$: + GCC/ARM_CM33_NTZ/non_secure/port.c + GCC/ARM_CM33_NTZ/non_secure/portasm.c + ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c> + + # ARMv8.1-M ports for GCC + $<$: + GCC/ARM_CM55/non_secure/port.c + GCC/ARM_CM55/non_secure/portasm.c> + + $<$: + GCC/ARM_CM55/secure/secure_context_port.c + GCC/ARM_CM55/secure/secure_context.c + GCC/ARM_CM55/secure/secure_heap.c + GCC/ARM_CM55/secure/secure_init.c> + + $<$: + GCC/ARM_CM55_NTZ/non_secure/port.c + GCC/ARM_CM55_NTZ/non_secure/portasm.c> + + $<$: + GCC/ARM_CM55_NTZ/non_secure/port.c + GCC/ARM_CM55_NTZ/non_secure/portasm.c + ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c> + + $<$: + GCC/ARM_CM85/non_secure/port.c + GCC/ARM_CM85/non_secure/portasm.c> + + $<$: + GCC/ARM_CM85/secure/secure_context_port.c + GCC/ARM_CM85/secure/secure_context.c + GCC/ARM_CM85/secure/secure_heap.c + GCC/ARM_CM85/secure/secure_init.c> + + $<$: + GCC/ARM_CM85_NTZ/non_secure/port.c + GCC/ARM_CM85_NTZ/non_secure/portasm.c> + + $<$: + GCC/ARM_CM85_NTZ/non_secure/port.c + GCC/ARM_CM85_NTZ/non_secure/portasm.c + ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c> + + # ARMv7-R ports for GCC $<$: GCC/ARM_CR5/port.c GCC/ARM_CR5/portASM.S> + $<$: GCC/ARM_CRx_No_GIC/port.c GCC/ARM_CRx_No_GIC/portASM.S> + + # ARMv4T ARM7TDMI ports for GCC $<$: GCC/ARM7_AT91FR40008/port.c GCC/ARM7_AT91FR40008/portISR.c> + $<$: GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.c GCC/ARM7_AT91SAM7S/port.c GCC/ARM7_AT91SAM7S/portISR.c> + $<$: GCC/ARM7_LPC2000/port.c GCC/ARM7_LPC2000/portISR.c> + $<$: GCC/ARM7_LPC23xx/port.c GCC/ARM7_LPC23xx/portISR.c> + + $<$: + GCC/STR75x/port.c + GCC/STR75x/portISR.c> + + # Microchip (formerly Ateml) AVR8 ports for GCC $<$: GCC/ATMega323/port.c> + + $<$: + ThirdParty/GCC/ATmega/port.c> + + $<$: + ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx/port.c> + + $<$: + ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0/port.c> + + # Microchip (formerly Ateml) AVR32 port for GCC $<$: GCC/AVR32_UC3/exception.S GCC/AVR32_UC3/port.c> + + # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for GCC $<$: GCC/ColdFire_V2/port.c GCC/ColdFire_V2/portasm.S> - $<$: - GCC/CORTUS_APS3/port.c> - $<$: - GCC/H8S2329/port.c> + $<$: GCC/HCS12/port.c> + + # Cortus APS3 soft core port for GCC + $<$: + GCC/CORTUS_APS3/port.c> + + # Renesas (formerly Hitach) H8S port for GCC + $<$: + GCC/H8S2329/port.c> + + # x86 / IA32 flat memory model port for GCC $<$: GCC/IA32_flat/port.c GCC/IA32_flat/portASM.S> + + # Xilinx MicroBlaze soft core ports for GCC $<$: GCC/MicroBlaze/port.c GCC/MicroBlaze/portasm.s> + $<$: GCC/MicroBlazeV8/port.c GCC/MicroBlazeV8/port_exceptions.c GCC/MicroBlazeV8/portasm.S> + $<$: GCC/MicroBlazeV9/port.c GCC/MicroBlazeV9/port_exceptions.c GCC/MicroBlazeV9/portasm.S> - $<$: - GCC/MSP430F449/port.c> - $<$: - GCC/NiosII/port.c - GCC/NiosII/port_asm.S> + + # Xilinx PCC4XX soft core ports for GCC $<$: GCC/PPC405_Xilinx/port.c GCC/PPC405_Xilinx/portasm.S> + $<$: GCC/PPC440_Xilinx/port.c GCC/PPC440_Xilinx/portasm.S> + + # Texas Instruments MSP430 port for GCC + $<$: + GCC/MSP430F449/port.c> + + # Intel (formerly Altera) NIOS II soft core port for GCC + $<$: + GCC/NiosII/port.c + GCC/NiosII/port_asm.S> + + # RISC-V architecture ports for GCC $<$: GCC/RISC-V/port.c GCC/RISC-V/portASM.S> + $<$: GCC/RISC-V/port.c GCC/RISC-V/portASM.S> + + # Renesas RL78 port for GCC $<$: GCC/RL78/port.c GCC/RL78/portasm.S> + + # Renesas RX architecture ports for GCC $<$: GCC/RX100/port.c> + $<$: GCC/RX200/port.c> + $<$: GCC/RX600/port.c> + $<$: GCC/RX600v2/port.c> + $<$: GCC/RX700v3_DPFPU/port.c> - $<$: - GCC/STR75x/port.c - GCC/STR75x/portISR.c> + + # Infineon TriCore 1782 port for GCC $<$: GCC/TriCore_1782/port.c GCC/TriCore_1782/porttrap.c> + + # Synopsys ARC architecture ports for GCC $<$: ThirdParty/GCC/ARC_EM_HS/arc_freertos_exceptions.c ThirdParty/GCC/ARC_EM_HS/arc_support.s ThirdParty/GCC/ARC_EM_HS/freertos_tls.c ThirdParty/GCC/ARC_EM_HS/port.c> + $<$: ThirdParty/GCC/ARC_v1/arc_freertos_exceptions.c ThirdParty/GCC/ARC_v1/arc_support.s ThirdParty/GCC/ARC_v1/port.c> - $<$: - ThirdParty/GCC/ARM_CM33_TFM/os_wrapper_freertos.c> - $<$: - ThirdParty/GCC/ATmega/port.c> + + # Posix Simulator port for GCC $<$: ThirdParty/GCC/Posix/port.c ThirdParty/GCC/Posix/utils/wait_for_event.c> - $<$: - ThirdParty/GCC/RP2040/idle_task_static_memory.c - ThirdParty/GCC/RP2040/port.c> + + # Xtensa LX / Espressif ESP32 port for GCC $<$: ThirdParty/GCC/Xtensa_ESP32/FreeRTOS-openocd.c ThirdParty/GCC/Xtensa_ESP32/port.c @@ -184,199 +323,325 @@ add_library(freertos_kernel_port STATIC ThirdParty/GCC/Xtensa_ESP32/xtensa_overlay_os_hook.c ThirdParty/GCC/Xtensa_ESP32/xtensa_vector_defaults.S ThirdParty/GCC/Xtensa_ESP32/xtensa_vectors.S> - $<$: - ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx/port.c> - $<$: - ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0/port.c> + + # Renesas (formerly NEC) 78K port for IAR EW78K $<$: IAR/78K0R/port.c IAR/78K0R/portasm.s26> + + # ARMv7-A ports for IAR EWARM $<$: IAR/ARM_CA5_No_GIC/port.c IAR/ARM_CA5_No_GIC/portASM.s> + $<$: IAR/ARM_CA9/port.c IAR/ARM_CA9/portASM.s> + + # ARMv6-M port for IAR EWARM $<$: IAR/ARM_CM0/port.c IAR/ARM_CM0/portasm.s> + + # ARMv7-M port for IAR EWARM $<$: IAR/ARM_CM3/port.c IAR/ARM_CM3/portasm.s> + + # ARMv7E-M ports for IAR EWARM $<$: IAR/ARM_CM4F/port.c IAR/ARM_CM4F/portasm.s> + $<$: IAR/ARM_CM4F_MPU/port.c IAR/ARM_CM4F_MPU/portasm.s> + $<$: IAR/ARM_CM7/r0p1/port.c IAR/ARM_CM7/r0p1/portasm.s> + + # ARMv8-M Ports for IAR EWARM $<$: IAR/ARM_CM23/non_secure/port.c IAR/ARM_CM23/non_secure/portasm.s> + $<$: IAR/ARM_CM23/secure/secure_context_port_asm.s IAR/ARM_CM23/secure/secure_context.c IAR/ARM_CM23/secure/secure_heap.c IAR/ARM_CM23/secure/secure_init.c> + $<$: IAR/ARM_CM23_NTZ/non_secure/port.c IAR/ARM_CM23_NTZ/non_secure/portasm.s> + $<$: IAR/ARM_CM33/non_secure/port.c IAR/ARM_CM33/non_secure/portasm.s> + $<$: IAR/ARM_CM33/secure/secure_context_port_asm.s IAR/ARM_CM33/secure/secure_context.c IAR/ARM_CM33/secure/secure_heap.c IAR/ARM_CM33/secure/secure_init.c> + $<$: IAR/ARM_CM33_NTZ/non_secure/port.c IAR/ARM_CM33_NTZ/non_secure/portasm.s> + + # ARMv8.1-M ports for IAR EWARM + $<$: + IAR/ARM_CM55/non_secure/port.c + IAR/ARM_CM55/non_secure/portasm.s> + + $<$: + IAR/ARM_CM55/secure/secure_context_port_asm.s + IAR/ARM_CM55/secure/secure_context.c + IAR/ARM_CM55/secure/secure_heap.c + IAR/ARM_CM55/secure/secure_init.c> + + $<$: + IAR/ARM_CM55_NTZ/non_secure/port.c + IAR/ARM_CM55_NTZ/non_secure/portasm.s> + + $<$: + IAR/ARM_CM85/non_secure/port.c + IAR/ARM_CM85/non_secure/portasm.s> + + $<$: + IAR/ARM_CM85/secure/secure_context_port_asm.s + IAR/ARM_CM85/secure/secure_context.c + IAR/ARM_CM85/secure/secure_heap.c + IAR/ARM_CM85/secure/secure_init.c> + + $<$: + IAR/ARM_CM85_NTZ/non_secure/port.c + IAR/ARM_CM85_NTZ/non_secure/portasm.s> + + # ARMv7-R Ports for IAR EWARM $<$: IAR/ARM_CRx_No_GIC/port.c IAR/ARM_CRx_No_GIC/portASM.s> + + # Microchip (formerly Atmel) AVR8 ports for IAR EWAVR $<$: IAR/ATMega323/port.c IAR/ATMega323/portmacro.s90> - $<$: - IAR/AtmelSAM7S64/port.c - IAR/AtmelSAM7S64/portasm.s79> - $<$: - IAR/AtmelSAM9XE/port.c - IAR/AtmelSAM9XE/portasm.s79> + $<$: IAR/AVR_AVRDx/port.c IAR/AVR_AVRDx/portmacro.s90> + $<$: IAR/AVR_Mega0/port.c IAR/AVR_Mega0/portmacro.s90> + + # Microchip (formerly Atmel) AVR32 port for IAR Embedded Workbench for AVR32 $<$: IAR/AVR32_UC3/exception.s82 IAR/AVR32_UC3/port.c IAR/AVR32_UC3/read.c IAR/AVR32_UC3/write.c> - $<$: - IAR/LPC2000/port.c - IAR/LPC2000/portasm.s79> + + # Texas Instruments MSP430 ports for IAR Embedded Workbench for MSP430 $<$: IAR/MSP430/port.c IAR/MSP430/portext.s43> + $<$: IAR/MSP430X/port.c IAR/MSP430X/portext.s43> + + # RISC-V architecture port for IAR Embedded Workbench for RISC-V $<$: IAR/RISC-V/port.c IAR/RISC-V/portASM.s> + + # Renesas RL78 port for IAR EWRL78 $<$: IAR/RL78/port.c IAR/RL78/portasm.s87> + + # Renesas RX architecture ports for IAR EWRX $<$: IAR/RX100/port.c IAR/RX100/port_asm.s> + $<$: IAR/RX600/port.c IAR/RX600/port_asm.s> + $<$: IAR/RX700v3_DPFPU/port.c> + $<$: IAR/RXv2/port.c IAR/RXv2/port_asm.s> - $<$: - IAR/STR71x/port.c - IAR/STR71x/portasm.s79> - $<$: - IAR/STR75x/port.c - IAR/STR75x/portasm.s79> - $<$: - IAR/STR91x/port.c - IAR/STR91x/portasm.s79> + + # Renesas (formerly NEC) V850ES port for IAR EWV850 $<$: IAR/V850ES/port.c IAR/V850ES/portasm_Fx3.s85> + $<$: IAR/V850ES/port.c IAR/V850ES/portasm_Hx2.s85> + + # ARMv4T ARM7TDMI ports for IAR Embedded Workbench for ARM + $<$: + IAR/STR71x/port.c + IAR/STR71x/portasm.s79> + + $<$: + IAR/STR75x/port.c + IAR/STR75x/portasm.s79> + + $<$: + IAR/LPC2000/port.c + IAR/LPC2000/portasm.s79> + + $<$: + IAR/AtmelSAM7S64/port.c + IAR/AtmelSAM7S64/portasm.s79> + + # ARMv5TE ARM926 ports for IAR Embedded Workbench for ARM + $<$: + IAR/STR91x/port.c + IAR/STR91x/portasm.s79> + + $<$: + IAR/AtmelSAM9XE/port.c + IAR/AtmelSAM9XE/portasm.s79> + + # ARM Cortex-M4F port for the MikroElektronika MikroC compiler $<$: MikroC/ARM_CM4F/port.c> + + # Microchip PIC18 8-bit MCU port for MPLAB XC8 $<$: MPLAB/PIC18F/port.c> + + # Microchip PIC24 16-bit MCU port for MPLAB XC16 $<$: MPLAB/PIC24_dsPIC/port.c MPLAB/PIC24_dsPIC/portasm_PIC24.S> # TODO: What to do with portasm_dsPIC.S ? + + # Microchip MIPS 32-Bit MCU ports for MPLAB XC32 $<$: MPLAB/PIC32MEC14xx/port.c MPLAB/PIC32MEC14xx/port_asm.S> + $<$: MPLAB/PIC32MX/port.c MPLAB/PIC32MX/port_asm.S> + $<$: MPLAB/PIC32MZ/port.c MPLAB/PIC32MZ/port_asm.S> + + # Windows Simulator for Microsoft Visual C Compiler and MinGW GCC $<$: MSVC-MingW/port.c> + + # 16 bit DOS ports for Open Watcom $<$: oWatcom/16BitDOS/common/portcomn.c oWatcom/16BitDOS/Flsh186/port.c> + $<$: oWatcom/16BitDOS/common/portcomn.c oWatcom/16BitDOS/PC/port.c> + $<$: Paradigm/Tern_EE/large_untested/port.c> + $<$: Paradigm/Tern_EE/small/port.c> + + # Renesas RX mcu ports for Renesas CC-RX $<$: Renesas/RX100/port.c Renesas/RX100/port_asm.src> + $<$: Renesas/RX200/port.c Renesas/RX200/port_asm.src> + $<$: Renesas/RX600/port.c Renesas/RX600/port_asm.src> + $<$: Renesas/RX600v2/port.c Renesas/RX600v2/port_asm.src> + $<$: Renesas/RX700v3_DPFPU/port.c Renesas/RX700v3_DPFPU/port_asm.src> + + # Renesas (formerly Hitach) SHA2 SuperH port for the Renesas SH C Compiler $<$: Renesas/SH2A_FPU/port.c Renesas/SH2A_FPU/portasm.src> + + # Texas Instruments MSP430 port for Rowley CrossWorks $<$: Rowley/MSP430F449/port.c Rowley/MSP430F449/portext.asm> + + # ARMv7-A Cortex-A9 port for ARM RVDS / armcc $<$: RVDS/ARM_CA9/port.c RVDS/ARM_CA9/portASM.s> + + # ARMv6-M port for ARM RVDS / armcc $<$: RVDS/ARM_CM0/port.c> + + # ARMv7-M port for ARM RVDS / armcc $<$: RVDS/ARM_CM3/port.c> + + # ARMv7E-M ports for ARM RVDS / armcc $<$: RVDS/ARM_CM4_MPU/port.c> + $<$: RVDS/ARM_CM4F/port.c> + $<$: RVDS/ARM_CM7/r0p1/port.c> + + # ARMv4T / ARM7TDMI LPC21XX port for ARM RVDS / armcc $<$: RVDS/ARM7_LPC21xx/port.c RVDS/ARM7_LPC21xx/portASM.s> + + # Cygnal c8051 port for SDCC (Small Device C Compiler) $<$: SDCC/Cygnal/port.c> + + # Infineon (formerly Fujitsu, Spansion, Cypress) MB9x ports for Softune C Compiler $<$: Softune/MB91460/__STD_LIB_sbrk.c Softune/MB91460/port.c> + $<$: Softune/MB96340/__STD_LIB_sbrk.c Softune/MB96340/port.c> + + # ARMv7E-M (Cortex-M4F) port for TASKING VX-toolset for ARM $<$: Tasking/ARM_CM4F/port.c Tasking/ARM_CM4F/port_asm.asm> + + # Port for C-SKY T-HEAD CK802 $<$: ThirdParty/CDK/T-HEAD_CK802/port.c ThirdParty/CDK/T-HEAD_CK802/portasm.S> + + # Tensilica Xtensa port for XCC $<$: ThirdParty/XCC/Xtensa/port.c ThirdParty/XCC/Xtensa/portasm.S @@ -387,176 +652,334 @@ add_library(freertos_kernel_port STATIC ThirdParty/XCC/Xtensa/xtensa_intr.c ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c ThirdParty/XCC/Xtensa/xtensa_vectors.S> + + # Microchip PIC18 port for WIZ-C $<$: WizC/PIC18/port.c WizC/PIC18/Drivers/Tick/isrTick.c WizC/PIC18/Drivers/Tick/Tick.c> ) -if( - FREERTOS_PORT STREQUAL "GCC_ARM_CM23_NTZ_NONSECURE" OR - FREERTOS_PORT STREQUAL "GCC_ARM_CM23_NONSECURE" OR - FREERTOS_PORT STREQUAL "GCC_ARM_CM33_NTZ_NONSECURE" OR - FREERTOS_PORT STREQUAL "GCC_ARM_CM3_MPU" OR - FREERTOS_PORT STREQUAL "GCC_ARM_CM4_MPU" OR - FREERTOS_PORT STREQUAL "GCC_ARM_CM33_NONSECURE" OR - FREERTOS_PORT STREQUAL "IAR_ARM_CM23_NTZ_NONSECURE" OR - FREERTOS_PORT STREQUAL "IAR_ARM_CM23_NONSECURE" OR - FREERTOS_PORT STREQUAL "IAR_ARM_CM33_NTZ_NONSECURE" OR +if( FREERTOS_PORT MATCHES "GCC_ARM_CM(3|4)_MPU" OR FREERTOS_PORT STREQUAL "IAR_ARM_CM4F_MPU" OR - FREERTOS_PORT STREQUAL "IAR_ARM_CM33_NONSECURE" OR - FREERTOS_PORT STREQUAL "RVDS_ARM_CM4_MPU" + FREERTOS_PORT STREQUAL "RVDS_ARM_CM4_MPU" OR + FREERTOS_PORT MATCHES "GCC_ARM_CM(23|33|55|85)_NTZ_NONSECURE" OR + FREERTOS_PORT MATCHES "GCC_ARM_CM(23|33|55|85)_NONSECURE" OR + FREERTOS_PORT MATCHES "GCC_ARM_CM(33|55|85)_TFM" OR + FREERTOS_PORT MATCHES "IAR_ARM_CM(23|33|55|85)_NTZ_NONSECURE" OR + FREERTOS_PORT MATCHES "IAR_ARM_CM(23|33|55|85)_NONSECURE" ) target_sources(freertos_kernel_port PRIVATE Common/mpu_wrappers.c) endif() target_include_directories(freertos_kernel_port PUBLIC + # 16-Bit DOS ports for BCC $<$: ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/common ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/Flsh186> + $<$: ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/common ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/PC> + + # ARMv7-M port for Texas Instruments Code Composer Studio $<$:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_CM3> + + # ARMv7E-M port for Texas Instruments Code Composer Studio $<$:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_CM4F> + + # ARMv7-R port for Texas Instruments Code Composer Studio $<$:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_Cortex-R4> + + # Texas Instruments MSP430 port for Texas Instruments Code Composer Studio $<$:${CMAKE_CURRENT_LIST_DIR}/CCS/MSP430X> + + # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for Code Warrior $<$:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/ColdFire_V1> $<$:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/ColdFire_V2> $<$:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/HCS12> + + # ARMv7-A port for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA9> + + # ARMv8-A ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA53_64_BIT> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA53_64_BIT_SRE> + + # ARMv6-M port for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM0> + + # ARMv6-M / Cortex-M0 Raspberry PI RP2040 port for GCC + $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/RP2040/include> + + # ARMv7-M ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM3> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM3_MPU> + + # ARMv7E-M ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM4_MPU> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM4F> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM7/r0p1> + + # ARMv8-M ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23/non_secure> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23/secure> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23_NTZ/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33/non_secure> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33/secure> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure> + + # ARMv8.1-M ports for GCC + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55/secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55_NTZ/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85_NTZ/non_secure> + + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85/secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85_NTZ/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85_NTZ/non_secure> + + # ARMv7-R ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CR5> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_No_GIC> + + # ARMv4T ARM7TDMI ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91FR40008> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91SAM7S> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_LPC2000> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_LPC23xx> + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/STR75x> + + # Microchip (formerly Ateml) AVR8 ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ATMega323> + $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ATmega> + $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx> + $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0> + + # Microchip (formerly Ateml) AVR32 port for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/AVR32_UC3> + + # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/ColdFire_V2> - $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/CORTUS_APS3> - $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/H8S2329> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/HCS12> + + # Cortus APS3 soft core port for GCC + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/CORTUS_APS3> + + # Renesas (formerly Hitach) H8S port for GCC + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/H8S2329> + + # x86 / IA32 flat memory model port for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/IA32_flat> + + # Intel (formerly Altera) NIOS II soft core port for GCC + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/NiosII> + + # Texas Instruments MSP430 port for GCC + $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/MSP430F449> + + # Xilinx MicroBlaze soft core ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlaze> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlazeV8> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlazeV9> - $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/MSP430F449> - $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/NiosII> + + # Xilinx PCC4XX soft core ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/PPC405_Xilinx> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/PPC440_Xilinx> + + # RISC-V architecture ports for GCC $<$: ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions> + $<$: ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM> + + # Renesas RL78 port for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/RL78> + + # Renesas RX architecture ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/RX100> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/RX200> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/RX600> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/RX600v2> $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/RX700v3_DPFPU> - $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/STR75x> + + # Infineon TriCore 1782 port for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/GCC/TriCore_1782> + + # Synopsys ARC architecture ports for GCC $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ARC_EM_HS> $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ARC_v1> - $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ATmega> + + # Posix Simulator port for GCC $<$: ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Posix ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Posix/utils> - $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/RP2040/include> + + # Xtensa LX / Espressif ESP32 port for GCC $<$: ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Xtensa_ESP32 ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Xtensa_ESP32/include> - $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx> - $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0> + + # Renesas (formerly NEC) 78K port for IAR EW78K $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/78K0R> + + # ARMv7-A ports for IAR EWARM $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CA5_No_GIC> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CA9> + + # ARMv6-M port for IAR EWARM $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM0> + + # ARMv7-M port for IAR EWARM $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM3> + + # ARMv7E-M ports for IAR EWARM $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM4F> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM4F_MPU> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM7/r0p1> + + # ARMv8-M Ports for IAR EWARM $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23/non_secure> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23/secure> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23_NTZ/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/non_secure> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/secure> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33_NTZ/non_secure> + + # ARMv8.1-M ports for IAR EWARM + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55/secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55_NTZ/non_secure> + + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM85/non_secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM85/secure> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM85_NTZ/non_secure> + + # ARMv7-R Ports for IAR EWARM $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CRx_No_GIC> - $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ATMega323> + + # ARMv4T ARM7TDMI ports for IAR Embedded Workbench for ARM + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/STR71x> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/STR75x> + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/LPC2000> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/AtmelSAM7S64> + + # ARMv5TE ARM926 ports for IAR Embedded Workbench for ARM + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/STR91x> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/AtmelSAM9XE> + + # Microchip (formerly Atmel) AVR8 ports for IAR EWAVR + $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/ATMega323> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR_AVRDx> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR_Mega0> + + # Microchip (formerly Atmel) AVR32 port for IAR Embedded Workbench for AVR32 $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR32_UC3> - $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/LPC2000> + + # Texas Instruments MSP430 ports for IAR Embedded Workbench for MSP430 $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/MSP430> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/MSP430X> + + # RISC-V architecture port for IAR Embedded Workbench for RISC-V $<$: ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions> + + # Renesas RL78 port for IAR EWRL78 $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/RL78> + + # Renesas RX architecture ports for IAR EWRX $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/RX100> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/RX600> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/RX700v3_DPFPU> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/RXv2> - $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/STR71x> - $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/STR75x> - $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/STR91x> + + # Renesas (formerly NEC) V850ES port for IAR EWV850 $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/V850ES> $<$:${CMAKE_CURRENT_LIST_DIR}/IAR/V850ES> + + # ARM Cortex-M4F port for the MikroElektronika MikroC compiler $<$:${CMAKE_CURRENT_LIST_DIR}/MikroC/ARM_CM4F> + + # Microchip PIC18 8-bit MCU port for MPLAB XC8 $<$:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC18F> + + # Microchip PIC24 16-bit MCU port for MPLAB XC16 $<$:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC24_dsPIC> + + # Microchip MIPS 32-Bit MCU ports for MPLAB XC32 $<$:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MEC14xx> $<$:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MX> $<$:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MZ> + + # Windows Simulator for Microsoft Visual C Compiler and MinGW GCC $<$:${CMAKE_CURRENT_LIST_DIR}/MSVC-MingW> + + # 16 bit DOS ports for Open Watcom $<$: ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/common ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/Flsh186> $<$: ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/common ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/PC> + $<$:${CMAKE_CURRENT_LIST_DIR}/Paradigm/Tern_EE/large_untested> $<$:${CMAKE_CURRENT_LIST_DIR}/Paradigm/Tern_EE/small> + + # Renesas RX mcu ports for Renesas CC-RX $<$:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX100> $<$:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX200> $<$:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX600> $<$:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX600v2> $<$:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX700v3_DPFPU> + + # Renesas (formerly Hitach) SHA2 SuperH port for the Renesas SH C Compiler $<$:${CMAKE_CURRENT_LIST_DIR}/Renesas/SH2A_FPU> + + # Texas Instruments MSP430 port for Rowley CrossWorks $<$:${CMAKE_CURRENT_LIST_DIR}/Rowley/MSP430F449> + + # ARMv7-A Cortex-A9 port for ARM RVDS / armcc $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CA9> + + # ARMv6-M port for ARM RVDS / armcc $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM0> + + # ARMv7-M port for ARM RVDS / armcc $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM3> + + # ARMv7E-M ports for ARM RVDS / armcc $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM4_MPU> $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM4F> $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM7/r0p1> + + # ARMv4T / ARM7TDMI LPC21XX port for ARM RVDS / armcc $<$:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM7_LPC21xx> + + # Cygnal c8051 port for SDCC (Small Device C Compiler) $<$:${CMAKE_CURRENT_LIST_DIR}/SDCC/Cygnal> + + # Infineon (formerly Fujitsu, Spansion, Cypress) MB9x ports for Softune C Compiler $<$:${CMAKE_CURRENT_LIST_DIR}/Softune/MB91460> $<$:${CMAKE_CURRENT_LIST_DIR}/Softune/MB96340> + + # ARMv7E-M (Cortex-M4F) port for TASKING VX-toolset for ARM $<$:${CMAKE_CURRENT_LIST_DIR}/Tasking/ARM_CM4F> + + # Port for C-SKY T-HEAD CK802 $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/CDK/T-HEAD_CK802> + + # Tensilica Xtensa port for XCC $<$:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/XCC/Xtensa> + + # Microchip PIC18 port for WIZ-C $<$:${CMAKE_CURRENT_LIST_DIR}/WizC/PIC18> )