mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Adding in ability to support a library for freertos_config and a custom freertos_kernel_port (#558)
This commit is contained in:
parent
f5f6fd5201
commit
8ede7101af
362
CMakeLists.txt
362
CMakeLists.txt
|
@ -1,28 +1,27 @@
|
||||||
cmake_minimum_required(VERSION 3.15)
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
# User is responsible to set two mandatory options:
|
# User is responsible to one mandatory option:
|
||||||
# FREERTOS_CONFIG_FILE_DIRECTORY
|
|
||||||
# FREERTOS_PORT
|
# FREERTOS_PORT
|
||||||
#
|
#
|
||||||
|
# User is responsible for one library target:
|
||||||
|
# freertos_config ,typcially an INTERFACE library
|
||||||
|
#
|
||||||
# User can choose which heap implementation to use (either the implementations
|
# User can choose which heap implementation to use (either the implementations
|
||||||
# included with FreeRTOS [1..5] or a custom implementation ) by providing the
|
# included with FreeRTOS [1..5] or a custom implementation ) by providing the
|
||||||
# option FREERTOS_HEAP. If the option is not set, the cmake will default to
|
# option FREERTOS_HEAP. If the option is not set, the cmake will default to
|
||||||
# using heap_4.c.
|
# using heap_4.c.
|
||||||
|
|
||||||
# Absolute path to FreeRTOS config file directory
|
# FreeRTOS::Config target - typically INTERFACE - defines the path to FreeRTOSConfig.h and optionally other freertos based config files
|
||||||
set(FREERTOS_CONFIG_FILE_DIRECTORY "" CACHE STRING "Absolute path to the directory with FreeRTOSConfig.h")
|
if(NOT TARGET freertos_config )
|
||||||
|
message(FATAL_ERROR " freertos_config target not specified. Please specify a cmake target that defines the include directory for FreeRTOSConfig.h:\n"
|
||||||
if(NOT FREERTOS_CONFIG_FILE_DIRECTORY)
|
" add_library(freertos_config INTERFACE)\n"
|
||||||
message(FATAL_ERROR " FreeRTOSConfig.h file directory not specified. Please specify absolute path to it from top-level CMake file:\n"
|
" add_library(FreeRTOS::Config ALIAS freertos_config)\n"
|
||||||
" set(FREERTOS_CONFIG_FILE_DIRECTORY <absolute path to FreeRTOSConfig.h directory> CACHE STRING \"\")\n"
|
" target_include_directories(freertos_config SYSTEM\n"
|
||||||
" or from CMake command line option:\n"
|
" INTERFACE\n"
|
||||||
" -DFREERTOS_CONFIG_FILE_DIRECTORY='/absolute_path/to/FreeRTOSConfig.h/directory'")
|
" include) # The config file directory\n"
|
||||||
elseif(NOT EXISTS ${FREERTOS_CONFIG_FILE_DIRECTORY}/FreeRTOSConfig.h)
|
" target_compile_definitions(freertos_config\n"
|
||||||
message(FATAL_ERROR " FreeRTOSConfig.h file not found in the directory specified (${FREERTOS_CONFIG_FILE_DIRECTORY})\n"
|
" PUBLIC\n"
|
||||||
" Please specify absolute path to it from top-level CMake file:\n"
|
" projCOVERAGE_TEST=0)\n")
|
||||||
" set(FREERTOS_CONFIG_FILE_DIRECTORY <absolute path to FreeRTOSConfig.h directory> CACHE STRING \"\")\n"
|
|
||||||
" or from CMake command line option:\n"
|
|
||||||
" -DFREERTOS_CONFIG_FILE_DIRECTORY='/absolute_path/to/FreeRTOSConfig.h/directory'")
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Heap number or absolute path to custom heap implementation provided by user
|
# Heap number or absolute path to custom heap implementation provided by user
|
||||||
|
@ -38,150 +37,170 @@ if(NOT FREERTOS_PORT)
|
||||||
" -DFREERTOS_PORT=GCC_ARM_CM4F\n"
|
" -DFREERTOS_PORT=GCC_ARM_CM4F\n"
|
||||||
" \n"
|
" \n"
|
||||||
" Available port options:\n"
|
" Available port options:\n"
|
||||||
" BCC_16BIT_DOS_FLSH186 - Compiller: BCC Target: 16 bit DOS Flsh186\n"
|
" A_CUSTOM_PORT - Compiler: UserDefined Target: User Defined\n"
|
||||||
" BCC_16BIT_DOS_PC - Compiller: BCC Target: 16 bit DOS PC\n"
|
" BCC_16BIT_DOS_FLSH186 - Compiler: BCC Target: 16 bit DOS Flsh186\n"
|
||||||
" CCS_ARM_CM3 - Compiller: CCS Target: ARM Cortex-M3\n"
|
" BCC_16BIT_DOS_PC - Compiler: BCC Target: 16 bit DOS PC\n"
|
||||||
" CCS_ARM_CM4F - Compiller: CCS Target: ARM Cortex-M4 with FPU\n"
|
" CCS_ARM_CM3 - Compiler: CCS Target: ARM Cortex-M3\n"
|
||||||
" CCS_ARM_CR4 - Compiller: CCS Target: ARM Cortex-R4\n"
|
" CCS_ARM_CM4F - Compiler: CCS Target: ARM Cortex-M4 with FPU\n"
|
||||||
" CCS_MSP430X - Compiller: CCS Target: MSP430X\n"
|
" CCS_ARM_CR4 - Compiler: CCS Target: ARM Cortex-R4\n"
|
||||||
" CODEWARRIOR_COLDFIRE_V1 - Compiller: CoreWarrior Target: ColdFire V1\n"
|
" CCS_MSP430X - Compiler: CCS Target: MSP430X\n"
|
||||||
" CODEWARRIOR_COLDFIRE_V2 - Compiller: CoreWarrior Target: ColdFire V2\n"
|
" CODEWARRIOR_COLDFIRE_V1 - Compiler: CoreWarrior Target: ColdFire V1\n"
|
||||||
" CODEWARRIOR_HCS12 - Compiller: CoreWarrior Target: HCS12\n"
|
" CODEWARRIOR_COLDFIRE_V2 - Compiler: CoreWarrior Target: ColdFire V2\n"
|
||||||
" GCC_ARM_CA9 - Compiller: GCC Target: ARM Cortex-A9\n"
|
" CODEWARRIOR_HCS12 - Compiler: CoreWarrior Target: HCS12\n"
|
||||||
" GCC_ARM_CA53_64_BIT - Compiller: GCC Target: ARM Cortex-A53 64 bit\n"
|
" GCC_ARM_CA9 - Compiler: GCC Target: ARM Cortex-A9\n"
|
||||||
" GCC_ARM_CA53_64_BIT_SRE - Compiller: GCC Target: ARM Cortex-A53 64 bit SRE\n"
|
" GCC_ARM_CA53_64_BIT - Compiler: GCC Target: ARM Cortex-A53 64 bit\n"
|
||||||
" GCC_ARM_CM0 - Compiller: GCC Target: ARM Cortex-M0\n"
|
" GCC_ARM_CA53_64_BIT_SRE - Compiler: GCC Target: ARM Cortex-A53 64 bit SRE\n"
|
||||||
" GCC_ARM_CM3 - Compiller: GCC Target: ARM Cortex-M3\n"
|
" GCC_ARM_CM0 - Compiler: GCC Target: ARM Cortex-M0\n"
|
||||||
" GCC_ARM_CM3_MPU - Compiller: GCC Target: ARM Cortex-M3 with MPU\n"
|
" GCC_ARM_CM3 - Compiler: GCC Target: ARM Cortex-M3\n"
|
||||||
" GCC_ARM_CM4_MPU - Compiller: GCC Target: ARM Cortex-M4 with MPU\n"
|
" GCC_ARM_CM3_MPU - Compiler: GCC Target: ARM Cortex-M3 with MPU\n"
|
||||||
" GCC_ARM_CM4F - Compiller: GCC Target: ARM Cortex-M4 with FPU\n"
|
" GCC_ARM_CM4_MPU - Compiler: GCC Target: ARM Cortex-M4 with MPU\n"
|
||||||
" GCC_ARM_CM7 - Compiller: GCC Target: ARM Cortex-M7\n"
|
" GCC_ARM_CM4F - Compiler: GCC Target: ARM Cortex-M4 with FPU\n"
|
||||||
" GCC_ARM_CM23_NONSECURE - Compiller: GCC Target: ARM Cortex-M23 non-secure\n"
|
" GCC_ARM_CM7 - Compiler: GCC Target: ARM Cortex-M7\n"
|
||||||
" GCC_ARM_CM23_SECURE - Compiller: GCC Target: ARM Cortex-M23 secure\n"
|
" GCC_ARM_CM23_NONSECURE - Compiler: GCC Target: ARM Cortex-M23 non-secure\n"
|
||||||
" GCC_ARM_CM23_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M23 non-trustzone non-secure\n"
|
" GCC_ARM_CM23_SECURE - Compiler: GCC Target: ARM Cortex-M23 secure\n"
|
||||||
" GCC_ARM_CM33_NONSECURE - Compiller: GCC Target: ARM Cortex-M33 non-secure\n"
|
" GCC_ARM_CM23_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M23 non-trustzone non-secure\n"
|
||||||
" GCC_ARM_CM33_SECURE - Compiller: GCC Target: ARM Cortex-M33 secure\n"
|
" GCC_ARM_CM33_NONSECURE - Compiler: GCC Target: ARM Cortex-M33 non-secure\n"
|
||||||
" GCC_ARM_CM33_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M33 non-trustzone non-secure\n"
|
" GCC_ARM_CM33_SECURE - Compiler: GCC Target: ARM Cortex-M33 secure\n"
|
||||||
" GCC_ARM_CM33_TFM - Compiller: GCC Target: ARM Cortex-M33 non-secure for TF-M\n"
|
" GCC_ARM_CM33_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M33 non-trustzone non-secure\n"
|
||||||
" GCC_ARM_CM55_NONSECURE - Compiller: GCC Target: ARM Cortex-M55 non-secure\n"
|
" GCC_ARM_CM33_TFM - Compiler: GCC Target: ARM Cortex-M33 non-secure for TF-M\n"
|
||||||
" GCC_ARM_CM55_SECURE - Compiller: GCC Target: ARM Cortex-M55 secure\n"
|
" GCC_ARM_CM55_NONSECURE - Compiler: GCC Target: ARM Cortex-M55 non-secure\n"
|
||||||
" GCC_ARM_CM55_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M55 non-trustzone non-secure\n"
|
" GCC_ARM_CM55_SECURE - Compiler: GCC Target: ARM Cortex-M55 secure\n"
|
||||||
" GCC_ARM_CM55_TFM - Compiller: GCC Target: ARM Cortex-M55 non-secure for TF-M\n"
|
" GCC_ARM_CM55_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M55 non-trustzone non-secure\n"
|
||||||
" GCC_ARM_CM85_NONSECURE - Compiller: GCC Target: ARM Cortex-M85 non-secure\n"
|
" GCC_ARM_CM55_TFM - Compiler: GCC Target: ARM Cortex-M55 non-secure for TF-M\n"
|
||||||
" GCC_ARM_CM85_SECURE - Compiller: GCC Target: ARM Cortex-M85 secure\n"
|
" GCC_ARM_CM85_NONSECURE - Compiler: GCC Target: ARM Cortex-M85 non-secure\n"
|
||||||
" GCC_ARM_CM85_NTZ_NONSECURE - Compiller: GCC Target: ARM Cortex-M85 non-trustzone non-secure\n"
|
" GCC_ARM_CM85_SECURE - Compiler: GCC Target: ARM Cortex-M85 secure\n"
|
||||||
" GCC_ARM_CM85_TFM - Compiller: GCC Target: ARM Cortex-M85 non-secure for TF-M\n"
|
" GCC_ARM_CM85_NTZ_NONSECURE - Compiler: GCC Target: ARM Cortex-M85 non-trustzone non-secure\n"
|
||||||
" GCC_ARM_CR5 - Compiller: GCC Target: ARM Cortex-R5\n"
|
" GCC_ARM_CM85_TFM - Compiler: GCC Target: ARM Cortex-M85 non-secure for TF-M\n"
|
||||||
" GCC_ARM_CRX_NOGIC - Compiller: GCC Target: ARM Cortex-Rx no GIC\n"
|
" GCC_ARM_CR5 - Compiler: GCC Target: ARM Cortex-R5\n"
|
||||||
" GCC_ARM7_AT91FR40008 - Compiller: GCC Target: ARM7 Atmel AT91R40008\n"
|
" GCC_ARM_CRX_NOGIC - Compiler: GCC Target: ARM Cortex-Rx no GIC\n"
|
||||||
" GCC_ARM7_AT91SAM7S - Compiller: GCC Target: ARM7 Atmel AT91SAM7S\n"
|
" GCC_ARM7_AT91FR40008 - Compiler: GCC Target: ARM7 Atmel AT91R40008\n"
|
||||||
" GCC_ARM7_LPC2000 - Compiller: GCC Target: ARM7 LPC2000\n"
|
" GCC_ARM7_AT91SAM7S - Compiler: GCC Target: ARM7 Atmel AT91SAM7S\n"
|
||||||
" GCC_ARM7_LPC23XX - Compiller: GCC Target: ARM7 LPC23xx\n"
|
" GCC_ARM7_LPC2000 - Compiler: GCC Target: ARM7 LPC2000\n"
|
||||||
" GCC_ATMEGA323 - Compiller: GCC Target: ATMega323\n"
|
" GCC_ARM7_LPC23XX - Compiler: GCC Target: ARM7 LPC23xx\n"
|
||||||
" GCC_AVR32_UC3 - Compiller: GCC Target: AVR32 UC3\n"
|
" GCC_ATMEGA323 - Compiler: GCC Target: ATMega323\n"
|
||||||
" GCC_COLDFIRE_V2 - Compiller: GCC Target: ColdFire V2\n"
|
" GCC_AVR32_UC3 - Compiler: GCC Target: AVR32 UC3\n"
|
||||||
" GCC_CORTUS_APS3 - Compiller: GCC Target: CORTUS APS3\n"
|
" GCC_COLDFIRE_V2 - Compiler: GCC Target: ColdFire V2\n"
|
||||||
" GCC_H8S2329 - Compiller: GCC Target: H8S2329\n"
|
" GCC_CORTUS_APS3 - Compiler: GCC Target: CORTUS APS3\n"
|
||||||
" GCC_HCS12 - Compiller: GCC Target: HCS12\n"
|
" GCC_H8S2329 - Compiler: GCC Target: H8S2329\n"
|
||||||
" GCC_IA32_FLAT - Compiller: GCC Target: IA32 flat\n"
|
" GCC_HCS12 - Compiler: GCC Target: HCS12\n"
|
||||||
" GCC_MICROBLAZE - Compiller: GCC Target: MicroBlaze\n"
|
" GCC_IA32_FLAT - Compiler: GCC Target: IA32 flat\n"
|
||||||
" GCC_MICROBLAZE_V8 - Compiller: GCC Target: MicroBlaze V8\n"
|
" GCC_MICROBLAZE - Compiler: GCC Target: MicroBlaze\n"
|
||||||
" GCC_MICROBLAZE_V9 - Compiller: GCC Target: MicroBlaze V9\n"
|
" GCC_MICROBLAZE_V8 - Compiler: GCC Target: MicroBlaze V8\n"
|
||||||
" GCC_MSP430F449 - Compiller: GCC Target: MSP430F449\n"
|
" GCC_MICROBLAZE_V9 - Compiler: GCC Target: MicroBlaze V9\n"
|
||||||
" GCC_NIOSII - Compiller: GCC Target: NiosII\n"
|
" GCC_MSP430F449 - Compiler: GCC Target: MSP430F449\n"
|
||||||
" GCC_PPC405_XILINX - Compiller: GCC Target: Xilinx PPC405\n"
|
" GCC_NIOSII - Compiler: GCC Target: NiosII\n"
|
||||||
" GCC_PPC440_XILINX - Compiller: GCC Target: Xilinx PPC440\n"
|
" GCC_PPC405_XILINX - Compiler: GCC Target: Xilinx PPC405\n"
|
||||||
" GCC_RISC_V - Compiller: GCC Target: RISC-V\n"
|
" GCC_PPC440_XILINX - Compiler: GCC Target: Xilinx PPC440\n"
|
||||||
" GCC_RISC_V_PULPINO_VEGA_RV32M1RM - Compiller: GCC Target: RISC-V Pulpino Vega RV32M1RM\n"
|
" GCC_RISC_V - Compiler: GCC Target: RISC-V\n"
|
||||||
" GCC_RL78 - Compiller: GCC Target: Renesas RL78\n"
|
" GCC_RISC_V_PULPINO_VEGA_RV32M1RM - Compiler: GCC Target: RISC-V Pulpino Vega RV32M1RM\n"
|
||||||
" GCC_RX100 - Compiller: GCC Target: Renesas RX100\n"
|
" GCC_RL78 - Compiler: GCC Target: Renesas RL78\n"
|
||||||
" GCC_RX200 - Compiller: GCC Target: Renesas RX200\n"
|
" GCC_RX100 - Compiler: GCC Target: Renesas RX100\n"
|
||||||
" GCC_RX600 - Compiller: GCC Target: Renesas RX600\n"
|
" GCC_RX200 - Compiler: GCC Target: Renesas RX200\n"
|
||||||
" GCC_RX600_V2 - Compiller: GCC Target: Renesas RX600 v2\n"
|
" GCC_RX600 - Compiler: GCC Target: Renesas RX600\n"
|
||||||
" GCC_RX700_V3_DPFPU - Compiller: GCC Target: Renesas RX700 v3 with DPFPU\n"
|
" GCC_RX600_V2 - Compiler: GCC Target: Renesas RX600 v2\n"
|
||||||
" GCC_STR75X - Compiller: GCC Target: STR75x\n"
|
" GCC_RX700_V3_DPFPU - Compiler: GCC Target: Renesas RX700 v3 with DPFPU\n"
|
||||||
" GCC_TRICORE_1782 - Compiller: GCC Target: TriCore 1782\n"
|
" GCC_STR75X - Compiler: GCC Target: STR75x\n"
|
||||||
" GCC_ARC_EM_HS - Compiller: GCC Target: DesignWare ARC EM HS\n"
|
" GCC_TRICORE_1782 - Compiler: GCC Target: TriCore 1782\n"
|
||||||
" GCC_ARC_V1 - Compiller: GCC Target: DesignWare ARC v1\n"
|
" GCC_ARC_EM_HS - Compiler: GCC Target: DesignWare ARC EM HS\n"
|
||||||
" GCC_ATMEGA - Compiller: GCC Target: ATmega\n"
|
" GCC_ARC_V1 - Compiler: GCC Target: DesignWare ARC v1\n"
|
||||||
" GCC_POSIX - Compiller: GCC Target: Posix\n"
|
" GCC_ATMEGA - Compiler: GCC Target: ATmega\n"
|
||||||
" GCC_RP2040 - Compiller: GCC Target: RP2040 ARM Cortex-M0+\n"
|
" GCC_POSIX - Compiler: GCC Target: Posix\n"
|
||||||
" GCC_XTENSA_ESP32 - Compiller: GCC Target: Xtensa ESP32\n"
|
" GCC_RP2040 - Compiler: GCC Target: RP2040 ARM Cortex-M0+\n"
|
||||||
" GCC_AVRDX - Compiller: GCC Target: AVRDx\n"
|
" GCC_XTENSA_ESP32 - Compiler: GCC Target: Xtensa ESP32\n"
|
||||||
" GCC_AVR_MEGA0 - Compiller: GCC Target: AVR Mega0\n"
|
" GCC_AVRDX - Compiler: GCC Target: AVRDx\n"
|
||||||
" IAR_78K0K - Compiller: IAR Target: Renesas 78K0K\n"
|
" GCC_AVR_MEGA0 - Compiler: GCC Target: AVR Mega0\n"
|
||||||
" IAR_ARM_CA5_NOGIC - Compiller: IAR Target: ARM Cortex-A5 no GIC\n"
|
" IAR_78K0K - Compiler: IAR Target: Renesas 78K0K\n"
|
||||||
" IAR_ARM_CA9 - Compiller: IAR Target: ARM Cortex-A9\n"
|
" IAR_ARM_CA5_NOGIC - Compiler: IAR Target: ARM Cortex-A5 no GIC\n"
|
||||||
" IAR_ARM_CM0 - Compiller: IAR Target: ARM Cortex-M0\n"
|
" IAR_ARM_CA9 - Compiler: IAR Target: ARM Cortex-A9\n"
|
||||||
" IAR_ARM_CM3 - Compiller: IAR Target: ARM Cortex-M3\n"
|
" IAR_ARM_CM0 - Compiler: IAR Target: ARM Cortex-M0\n"
|
||||||
" IAR_ARM_CM4F - Compiller: IAR Target: ARM Cortex-M4 with FPU\n"
|
" IAR_ARM_CM3 - Compiler: IAR Target: ARM Cortex-M3\n"
|
||||||
" IAR_ARM_CM4F_MPU - Compiller: IAR Target: ARM Cortex-M4 with FPU and MPU\n"
|
" IAR_ARM_CM4F - Compiler: IAR Target: ARM Cortex-M4 with FPU\n"
|
||||||
" IAR_ARM_CM7 - Compiller: IAR Target: ARM Cortex-M7\n"
|
" IAR_ARM_CM4F_MPU - Compiler: IAR Target: ARM Cortex-M4 with FPU and MPU\n"
|
||||||
" IAR_ARM_CM23_NONSECURE - Compiller: IAR Target: ARM Cortex-M23 non-secure\n"
|
" IAR_ARM_CM7 - Compiler: IAR Target: ARM Cortex-M7\n"
|
||||||
" IAR_ARM_CM23_SECURE - Compiller: IAR Target: ARM Cortex-M23 secure\n"
|
" IAR_ARM_CM23_NONSECURE - Compiler: IAR Target: ARM Cortex-M23 non-secure\n"
|
||||||
" IAR_ARM_CM23_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M23 non-trustzone non-secure\n"
|
" IAR_ARM_CM23_SECURE - Compiler: IAR Target: ARM Cortex-M23 secure\n"
|
||||||
" IAR_ARM_CM33_NONSECURE - Compiller: IAR Target: ARM Cortex-M33 non-secure\n"
|
" IAR_ARM_CM23_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M23 non-trustzone non-secure\n"
|
||||||
" IAR_ARM_CM33_SECURE - Compiller: IAR Target: ARM Cortex-M33 secure\n"
|
" IAR_ARM_CM33_NONSECURE - Compiler: IAR Target: ARM Cortex-M33 non-secure\n"
|
||||||
" IAR_ARM_CM33_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M33 non-trustzone non-secure\n"
|
" IAR_ARM_CM33_SECURE - Compiler: IAR Target: ARM Cortex-M33 secure\n"
|
||||||
" IAR_ARM_CM55_NONSECURE - Compiller: IAR Target: ARM Cortex-M55 non-secure\n"
|
" IAR_ARM_CM33_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M33 non-trustzone non-secure\n"
|
||||||
" IAR_ARM_CM55_SECURE - Compiller: IAR Target: ARM Cortex-M55 secure\n"
|
" IAR_ARM_CM55_NONSECURE - Compiler: IAR Target: ARM Cortex-M55 non-secure\n"
|
||||||
" IAR_ARM_CM55_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M55 non-trustzone non-secure\n"
|
" IAR_ARM_CM55_SECURE - Compiler: IAR Target: ARM Cortex-M55 secure\n"
|
||||||
" IAR_ARM_CM85_NONSECURE - Compiller: IAR Target: ARM Cortex-M85 non-secure\n"
|
" IAR_ARM_CM55_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M55 non-trustzone non-secure\n"
|
||||||
" IAR_ARM_CM85_SECURE - Compiller: IAR Target: ARM Cortex-M85 secure\n"
|
" IAR_ARM_CM85_NONSECURE - Compiler: IAR Target: ARM Cortex-M85 non-secure\n"
|
||||||
" IAR_ARM_CM85_NTZ_NONSECURE - Compiller: IAR Target: ARM Cortex-M85 non-trustzone non-secure\n"
|
" IAR_ARM_CM85_SECURE - Compiler: IAR Target: ARM Cortex-M85 secure\n"
|
||||||
" IAR_ARM_CRX_NOGIC - Compiller: IAR Target: ARM Cortex-Rx no GIC\n"
|
" IAR_ARM_CM85_NTZ_NONSECURE - Compiler: IAR Target: ARM Cortex-M85 non-trustzone non-secure\n"
|
||||||
" IAR_ATMEGA323 - Compiller: IAR Target: ATMega323\n"
|
" IAR_ARM_CRX_NOGIC - Compiler: IAR Target: ARM Cortex-Rx no GIC\n"
|
||||||
" IAR_ATMEL_SAM7S64 - Compiller: IAR Target: Atmel SAM7S64\n"
|
" IAR_ATMEGA323 - Compiler: IAR Target: ATMega323\n"
|
||||||
" IAR_ATMEL_SAM9XE - Compiller: IAR Target: Atmel SAM9XE\n"
|
" IAR_ATMEL_SAM7S64 - Compiler: IAR Target: Atmel SAM7S64\n"
|
||||||
" IAR_AVR_AVRDX - Compiller: IAR Target: AVRDx\n"
|
" IAR_ATMEL_SAM9XE - Compiler: IAR Target: Atmel SAM9XE\n"
|
||||||
" IAR_AVR_MEGA0 - Compiller: IAR Target: AVR Mega0\n"
|
" IAR_AVR_AVRDX - Compiler: IAR Target: AVRDx\n"
|
||||||
" IAR_AVR32_UC3 - Compiller: IAR Target: AVR32 UC3\n"
|
" IAR_AVR_MEGA0 - Compiler: IAR Target: AVR Mega0\n"
|
||||||
" IAR_LPC2000 - Compiller: IAR Target: LPC2000\n"
|
" IAR_AVR32_UC3 - Compiler: IAR Target: AVR32 UC3\n"
|
||||||
" IAR_MSP430 - Compiller: IAR Target: MSP430\n"
|
" IAR_LPC2000 - Compiler: IAR Target: LPC2000\n"
|
||||||
" IAR_MSP430X - Compiller: IAR Target: MSP430X\n"
|
" IAR_MSP430 - Compiler: IAR Target: MSP430\n"
|
||||||
" IAR_RISC_V - Compiller: IAR Target: RISC-V\n"
|
" IAR_MSP430X - Compiler: IAR Target: MSP430X\n"
|
||||||
" IAR_RL78 - Compiller: IAR Target: Renesas RL78\n"
|
" IAR_RISC_V - Compiler: IAR Target: RISC-V\n"
|
||||||
" IAR_RX100 - Compiller: IAR Target: Renesas RX100\n"
|
" IAR_RL78 - Compiler: IAR Target: Renesas RL78\n"
|
||||||
" IAR_RX600 - Compiller: IAR Target: Renesas RX600\n"
|
" IAR_RX100 - Compiler: IAR Target: Renesas RX100\n"
|
||||||
" IAR_RX700_V3_DPFPU - Compiller: IAR Target: Renesas RX700 v3 with DPFPU\n"
|
" IAR_RX600 - Compiler: IAR Target: Renesas RX600\n"
|
||||||
" IAR_RX_V2 - Compiller: IAR Target: Renesas RX v2\n"
|
" IAR_RX700_V3_DPFPU - Compiler: IAR Target: Renesas RX700 v3 with DPFPU\n"
|
||||||
" IAR_STR71X - Compiller: IAR Target: STR71x\n"
|
" IAR_RX_V2 - Compiler: IAR Target: Renesas RX v2\n"
|
||||||
" IAR_STR75X - Compiller: IAR Target: STR75x\n"
|
" IAR_STR71X - Compiler: IAR Target: STR71x\n"
|
||||||
" IAR_STR91X - Compiller: IAR Target: STR91x\n"
|
" IAR_STR75X - Compiler: IAR Target: STR75x\n"
|
||||||
" IAR_V850ES_FX3 - Compiller: IAR Target: Renesas V850ES/Fx3\n"
|
" IAR_STR91X - Compiler: IAR Target: STR91x\n"
|
||||||
" IAR_V850ES_HX3 - Compiller: IAR Target: Renesas V850ES/Hx3\n"
|
" IAR_V850ES_FX3 - Compiler: IAR Target: Renesas V850ES/Fx3\n"
|
||||||
" MIKROC_ARM_CM4F - Compiller: MikroC Target: ARM Cortex-M4 with FPU\n"
|
" IAR_V850ES_HX3 - Compiler: IAR Target: Renesas V850ES/Hx3\n"
|
||||||
" MPLAB_PIC18F - Compiller: MPLAB Target: PIC18F\n"
|
" MIKROC_ARM_CM4F - Compiler: MikroC Target: ARM Cortex-M4 with FPU\n"
|
||||||
" MPLAB_PIC24 - Compiller: MPLAB Target: PIC24\n"
|
" MPLAB_PIC18F - Compiler: MPLAB Target: PIC18F\n"
|
||||||
" MPLAB_PIC32MEC14XX - Compiller: MPLAB Target: PIC32MEC14xx\n"
|
" MPLAB_PIC24 - Compiler: MPLAB Target: PIC24\n"
|
||||||
" MPLAB_PIC32MX - Compiller: MPLAB Target: PIC32MX\n"
|
" MPLAB_PIC32MEC14XX - Compiler: MPLAB Target: PIC32MEC14xx\n"
|
||||||
" MPLAB_PIC32MZ - Compiller: MPLAB Target: PIC32MZ\n"
|
" MPLAB_PIC32MX - Compiler: MPLAB Target: PIC32MX\n"
|
||||||
" MSVC_MINGW - Compiller: MSVC or MinGW Target: x86\n"
|
" MPLAB_PIC32MZ - Compiler: MPLAB Target: PIC32MZ\n"
|
||||||
" OWATCOM_16BIT_DOS_FLSH186 - Compiller: Open Watcom Target: 16 bit DOS Flsh186\n"
|
" MSVC_MINGW - Compiler: MSVC or MinGW Target: x86\n"
|
||||||
" OWATCOM_16BIT_DOS_PC - Compiller: Open Watcom Target: 16 bit DOS PC\n"
|
" OWATCOM_16BIT_DOS_FLSH186 - Compiler: Open Watcom Target: 16 bit DOS Flsh186\n"
|
||||||
" PARADIGM_TERN_EE_LARGE - Compiller: Paradigm Target: Tern EE large\n"
|
" OWATCOM_16BIT_DOS_PC - Compiler: Open Watcom Target: 16 bit DOS PC\n"
|
||||||
" PARADIGM_TERN_EE_SMALL - Compiller: Paradigm Target: Tern EE small\n"
|
" PARADIGM_TERN_EE_LARGE - Compiler: Paradigm Target: Tern EE large\n"
|
||||||
" RENESAS_RX100 - Compiller: Renesas Target: RX100\n"
|
" PARADIGM_TERN_EE_SMALL - Compiler: Paradigm Target: Tern EE small\n"
|
||||||
" RENESAS_RX200 - Compiller: Renesas Target: RX200\n"
|
" RENESAS_RX100 - Compiler: Renesas Target: RX100\n"
|
||||||
" RENESAS_RX600 - Compiller: Renesas Target: RX600\n"
|
" RENESAS_RX200 - Compiler: Renesas Target: RX200\n"
|
||||||
" RENESAS_RX600_V2 - Compiller: Renesas Target: RX600 v2\n"
|
" RENESAS_RX600 - Compiler: Renesas Target: RX600\n"
|
||||||
" RENESAS_RX700_V3_DPFPU - Compiller: Renesas Target: RX700 v3 with DPFPU\n"
|
" RENESAS_RX600_V2 - Compiler: Renesas Target: RX600 v2\n"
|
||||||
" RENESAS_SH2A_FPU - Compiller: Renesas Target: SH2A with FPU\n"
|
" RENESAS_RX700_V3_DPFPU - Compiler: Renesas Target: RX700 v3 with DPFPU\n"
|
||||||
" ROWLEY_MSP430F449 - Compiller: Rowley Target: MSP430F449\n"
|
" RENESAS_SH2A_FPU - Compiler: Renesas Target: SH2A with FPU\n"
|
||||||
" RVDS_ARM_CA9 - Compiller: RVDS Target: ARM Cortex-A9\n"
|
" ROWLEY_MSP430F449 - Compiler: Rowley Target: MSP430F449\n"
|
||||||
" RVDS_ARM_CM0 - Compiller: RVDS Target: ARM Cortex-M0\n"
|
" RVDS_ARM_CA9 - Compiler: RVDS Target: ARM Cortex-A9\n"
|
||||||
" RVDS_ARM_CM3 - Compiller: RVDS Target: ARM Cortex-M3\n"
|
" RVDS_ARM_CM0 - Compiler: RVDS Target: ARM Cortex-M0\n"
|
||||||
" RVDS_ARM_CM4_MPU - Compiller: RVDS Target: ARM Cortex-M4 with MPU\n"
|
" RVDS_ARM_CM3 - Compiler: RVDS Target: ARM Cortex-M3\n"
|
||||||
" RVDS_ARM_CM4F - Compiller: RVDS Target: ARM Cortex-M4 with FPU\n"
|
" RVDS_ARM_CM4_MPU - Compiler: RVDS Target: ARM Cortex-M4 with MPU\n"
|
||||||
" RVDS_ARM_CM7 - Compiller: RVDS Target: ARM Cortex-M7\n"
|
" RVDS_ARM_CM4F - Compiler: RVDS Target: ARM Cortex-M4 with FPU\n"
|
||||||
" RVDS_ARM7_LPC21XX - Compiller: RVDS Target: ARM7 LPC21xx\n"
|
" RVDS_ARM_CM7 - Compiler: RVDS Target: ARM Cortex-M7\n"
|
||||||
" SDCC_CYGNAL - Compiller: SDCC Target: Cygnal\n"
|
" RVDS_ARM7_LPC21XX - Compiler: RVDS Target: ARM7 LPC21xx\n"
|
||||||
" SOFTUNE_MB91460 - Compiller: Softune Target: MB91460\n"
|
" SDCC_CYGNAL - Compiler: SDCC Target: Cygnal\n"
|
||||||
" SOFTUNE_MB96340 - Compiller: Softune Target: MB96340\n"
|
" SOFTUNE_MB91460 - Compiler: Softune Target: MB91460\n"
|
||||||
" TASKING_ARM_CM4F - Compiller: Tasking Target: ARM Cortex-M4 with FPU\n"
|
" SOFTUNE_MB96340 - Compiler: Softune Target: MB96340\n"
|
||||||
" CDK_THEAD_CK802 - Compiller: CDK Target: T-head CK802\n"
|
" TASKING_ARM_CM4F - Compiler: Tasking Target: ARM Cortex-M4 with FPU\n"
|
||||||
" XCC_XTENSA - Compiller: XCC Target: Xtensa\n"
|
" CDK_THEAD_CK802 - Compiler: CDK Target: T-head CK802\n"
|
||||||
" WIZC_PIC18 - Compiller: WizC Target: PIC18")
|
" XCC_XTENSA - Compiler: XCC Target: Xtensa\n"
|
||||||
|
" WIZC_PIC18 - Compiler: WizC Target: PIC18")
|
||||||
|
elseif((FREERTOS_PORT STREQUAL "A_CUSTOM_PORT") AND (NOT TARGET freertos_kernel_port) )
|
||||||
|
message(FATAL_ERROR " FREERTOS_PORT is set to A_CUSTOM_PORT. Please specify the custom port target with all necessary files. For example:\n"
|
||||||
|
" Assuming a directory of:\n"
|
||||||
|
" FreeRTOSCustomPort/\n"
|
||||||
|
" CMakeLists.txt\n"
|
||||||
|
" port.c\n"
|
||||||
|
" portmacro.h\n"
|
||||||
|
" Where FreeRTOSCustomPort/CMakeLists.txt is a modified version of:\n"
|
||||||
|
" add_library(freertos_kernel_port STATIC)\n"
|
||||||
|
" target_sources(freertos_kernel_port\n"
|
||||||
|
" PRIVATE\n"
|
||||||
|
" port.c\n"
|
||||||
|
" portmacro.h)\n"
|
||||||
|
" target_include_directories(freertos_kernel_port\n"
|
||||||
|
" PUBLIC\n"
|
||||||
|
" .)\n"
|
||||||
|
" taget_link_libraries(freertos_kernel_port\n"
|
||||||
|
" PRIVATE\n"
|
||||||
|
" freertos_kernel)")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_subdirectory(portable)
|
add_subdirectory(portable)
|
||||||
|
@ -202,7 +221,26 @@ add_library(freertos_kernel STATIC
|
||||||
target_include_directories(freertos_kernel
|
target_include_directories(freertos_kernel
|
||||||
PUBLIC
|
PUBLIC
|
||||||
include
|
include
|
||||||
${FREERTOS_CONFIG_FILE_DIRECTORY}
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(freertos_kernel freertos_kernel_port)
|
target_compile_options( freertos_kernel
|
||||||
|
PRIVATE
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-cast-align>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-covered-switch-default>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-documentation>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-extra-semi-stmt>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-int-to-pointer-cast>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-noreturn>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-variable-declarations>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-padded>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-pointer-to-int-cast>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-shorten-64-to-32>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-sign-conversion>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-unused-macros>
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(freertos_kernel
|
||||||
|
PUBLIC
|
||||||
|
freertos_config
|
||||||
|
freertos_kernel_port
|
||||||
|
)
|
||||||
|
|
|
@ -1,5 +1,12 @@
|
||||||
# FreeRTOS internal cmake file. Do not use it in user top-level project
|
# FreeRTOS internal cmake file. Do not use it in user top-level project
|
||||||
|
|
||||||
|
if (FREERTOS_PORT STREQUAL "A_CUSTOM_PORT")
|
||||||
|
message(STATUS "Using a custom FREERTOS_PORT.")
|
||||||
|
return()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# FreeRTOS internal cmake file. Do not use it in user top-level project
|
||||||
|
|
||||||
add_library(freertos_kernel_port STATIC
|
add_library(freertos_kernel_port STATIC
|
||||||
# 16-Bit DOS ports for BCC
|
# 16-Bit DOS ports for BCC
|
||||||
$<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_FLSH186>:
|
$<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_FLSH186>:
|
||||||
|
@ -983,12 +990,33 @@ target_include_directories(freertos_kernel_port PUBLIC
|
||||||
$<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>:${CMAKE_CURRENT_LIST_DIR}/WizC/PIC18>
|
$<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>:${CMAKE_CURRENT_LIST_DIR}/WizC/PIC18>
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(FREERTOS_PORT STREQUAL GCC_POSIX)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
target_link_libraries(freertos_kernel_port
|
target_link_libraries(freertos_kernel_port
|
||||||
PUBLIC
|
PUBLIC
|
||||||
$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:pico_base_headers>
|
$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:pico_base_headers>
|
||||||
$<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:idf::esp32>
|
$<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:idf::esp32>
|
||||||
PRIVATE
|
PRIVATE
|
||||||
freertos_kernel
|
freertos_kernel
|
||||||
|
$<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>:Threads::Threads>
|
||||||
"$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_clocks;hardware_exception>"
|
"$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_clocks;hardware_exception>"
|
||||||
$<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:winmm> # Windows library which implements timers
|
$<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:winmm> # Windows library which implements timers
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Note these are primarily for the POSIX port.
|
||||||
|
target_compile_options( freertos_kernel_port
|
||||||
|
PRIVATE
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-disabled-macro-expansion>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-documentation>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-extra-semi-stmt>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-noreturn>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-variable-declarations>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-padded>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-pointer-to-int-cast>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-reserved-macro-identifier>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-sign-conversion>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,GNU>:-Wno-type-limits>
|
||||||
|
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-unused-macros>
|
||||||
|
)
|
||||||
|
|
Loading…
Reference in a new issue