1if( FREERTOS_PORT STREQUAL "GCC_RISC_V_GENERIC" ) 2 include( GCC/RISC-V/chip_extensions.cmake ) 3endif() 4 5if( FREERTOS_PORT STREQUAL "IAR_RISC_V_GENERIC" ) 6 include( IAR/RISC-V/chip_extensions.cmake ) 7endif() 8 9# FreeRTOS internal cmake file. Do not use it in user top-level project 10 11if (FREERTOS_PORT STREQUAL "A_CUSTOM_PORT") 12 message(STATUS "Using a custom FREERTOS_PORT.") 13 return() 14endif() 15 16# FreeRTOS internal cmake file. Do not use it in user top-level project 17 18add_library(freertos_kernel_port OBJECT 19 # TEMPLATE Port 20 $<$<STREQUAL:${FREERTOS_PORT},TEMPLATE>: 21 template/port.c> 22 23 # 16-Bit DOS ports for BCC 24 $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_FLSH186>: 25 BCC/16BitDOS/common/portcomn.c 26 BCC/16BitDOS/Flsh186/port.c> 27 28 $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_PC>: 29 BCC/16BitDOS/common/portcomn.c 30 BCC/16BitDOS/PC/port.c> 31 32 # ARMv7-M port for Texas Instruments Code Composer Studio 33 $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM3>: 34 CCS/ARM_CM3/port.c 35 CCS/ARM_CM3/portasm.asm> 36 37 # ARMv7E-M port for Texas Instruments Code Composer Studio 38 $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM4F>: 39 CCS/ARM_CM4F/port.c 40 CCS/ARM_CM4F/portasm.asm> 41 42 # ARMv7-R port for Texas Instruments Code Composer Studio 43 $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CR4>: 44 CCS/ARM_Cortex-R4/port.c 45 CCS/ARM_Cortex-R4/portASM.asm> 46 47 # Texas Instruments MSP430 port for Texas Instruments Code Composer Studio 48 $<$<STREQUAL:${FREERTOS_PORT},CCS_MSP430X>: 49 CCS/MSP430X/port.c 50 CCS/MSP430X/portext.asm> 51 52 # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for Code Warrior 53 $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V1>: 54 CodeWarrior/ColdFire_V1/port.c 55 CodeWarrior/ColdFire_V1/portasm.S> 56 57 $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V2>: 58 CodeWarrior/ColdFire_V2/port.c 59 CodeWarrior/ColdFire_V2/portasm.S> 60 61 $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_HCS12>: 62 CodeWarrior/HCS12/port.c> 63 64 # ARMv7-A port for GCC 65 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA9>: 66 GCC/ARM_CA9/port.c 67 GCC/ARM_CA9/portASM.S> 68 69 # ARMv8-A ports for GCC 70 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_AARCH64>: 71 GCC/ARM_AARCH64/port.c 72 GCC/ARM_AARCH64/portASM.S> 73 74 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_AARCH64_SRE>: 75 GCC/ARM_AARCH64_SRE/port.c 76 GCC/ARM_AARCH64_SRE/portASM.S> 77 78 # ARMv6-M port for GCC 79 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM0>: 80 GCC/ARM_CM0/port.c> 81 82 # ARMv6-M / Cortex-M0 Raspberry PI RP2040 port for GCC 83 $<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>: 84 ThirdParty/GCC/RP2040/port.c> 85 86 # ARMv7-M ports for GCC 87 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3>: 88 GCC/ARM_CM3/port.c> 89 90 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3_MPU>: 91 GCC/ARM_CM3_MPU/port.c 92 GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c> 93 94 # ARMv7E-M ports for GCC 95 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4_MPU>: 96 GCC/ARM_CM4_MPU/port.c 97 GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c> 98 99 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4F>: 100 GCC/ARM_CM4F/port.c> 101 102 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM7>: 103 GCC/ARM_CM7/r0p1/port.c> 104 105 # ARMv8-M ports for GCC 106 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NONSECURE>: 107 GCC/ARM_CM23/non_secure/port.c 108 GCC/ARM_CM23/non_secure/portasm.c 109 GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c> 110 111 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_SECURE>: 112 GCC/ARM_CM23/secure/secure_context_port.c 113 GCC/ARM_CM23/secure/secure_context.c 114 GCC/ARM_CM23/secure/secure_heap.c 115 GCC/ARM_CM23/secure/secure_init.c> 116 117 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NTZ_NONSECURE>: 118 GCC/ARM_CM23_NTZ/non_secure/port.c 119 GCC/ARM_CM23_NTZ/non_secure/portasm.c 120 GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c> 121 122 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NONSECURE>: 123 GCC/ARM_CM33/non_secure/port.c 124 GCC/ARM_CM33/non_secure/portasm.c 125 GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c> 126 127 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_SECURE>: 128 GCC/ARM_CM33/secure/secure_context_port.c 129 GCC/ARM_CM33/secure/secure_context.c 130 GCC/ARM_CM33/secure/secure_heap.c 131 GCC/ARM_CM33/secure/secure_init.c> 132 133 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NTZ_NONSECURE>: 134 GCC/ARM_CM33_NTZ/non_secure/port.c 135 GCC/ARM_CM33_NTZ/non_secure/portasm.c 136 GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c> 137 138 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_TFM>: 139 GCC/ARM_CM33_NTZ/non_secure/port.c 140 GCC/ARM_CM33_NTZ/non_secure/portasm.c 141 GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c 142 ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c> 143 144 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NONSECURE>: 145 GCC/ARM_CM35P/non_secure/port.c 146 GCC/ARM_CM35P/non_secure/portasm.c 147 GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c> 148 149 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_SECURE>: 150 GCC/ARM_CM35P/secure/secure_context_port.c 151 GCC/ARM_CM35P/secure/secure_context.c 152 GCC/ARM_CM35P/secure/secure_heap.c 153 GCC/ARM_CM35P/secure/secure_init.c> 154 155 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NTZ_NONSECURE>: 156 GCC/ARM_CM35P_NTZ/non_secure/port.c 157 GCC/ARM_CM35P_NTZ/non_secure/portasm.c 158 GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c> 159 160 # ARMv8.1-M ports for GCC 161 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NONSECURE>: 162 GCC/ARM_CM55/non_secure/port.c 163 GCC/ARM_CM55/non_secure/portasm.c 164 GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c> 165 166 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_SECURE>: 167 GCC/ARM_CM55/secure/secure_context_port.c 168 GCC/ARM_CM55/secure/secure_context.c 169 GCC/ARM_CM55/secure/secure_heap.c 170 GCC/ARM_CM55/secure/secure_init.c> 171 172 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NTZ_NONSECURE>: 173 GCC/ARM_CM55_NTZ/non_secure/port.c 174 GCC/ARM_CM55_NTZ/non_secure/portasm.c 175 GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c> 176 177 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_TFM>: 178 GCC/ARM_CM55_NTZ/non_secure/port.c 179 GCC/ARM_CM55_NTZ/non_secure/portasm.c 180 GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c 181 ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c> 182 183 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_NONSECURE>: 184 GCC/ARM_CM85/non_secure/port.c 185 GCC/ARM_CM85/non_secure/portasm.c 186 GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c> 187 188 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_SECURE>: 189 GCC/ARM_CM85/secure/secure_context_port.c 190 GCC/ARM_CM85/secure/secure_context.c 191 GCC/ARM_CM85/secure/secure_heap.c 192 GCC/ARM_CM85/secure/secure_init.c> 193 194 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_NTZ_NONSECURE>: 195 GCC/ARM_CM85_NTZ/non_secure/port.c 196 GCC/ARM_CM85_NTZ/non_secure/portasm.c 197 GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c> 198 199 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_TFM>: 200 GCC/ARM_CM85_NTZ/non_secure/port.c 201 GCC/ARM_CM85_NTZ/non_secure/portasm.c 202 GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c 203 ThirdParty/GCC/ARM_TFM/os_wrapper_freertos.c> 204 205 # ARMv7-R ports for GCC 206 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CR5>: 207 GCC/ARM_CR5/port.c 208 GCC/ARM_CR5/portASM.S> 209 210 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_MPU>: 211 GCC/ARM_CRx_MPU/port.c 212 GCC/ARM_CRx_MPU/portASM.S 213 GCC/ARM_CRx_MPU/mpu_wrappers_v2_asm.S> 214 215 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_NOGIC>: 216 GCC/ARM_CRx_No_GIC/port.c 217 GCC/ARM_CRx_No_GIC/portASM.S> 218 219 # ARMv4T ARM7TDMI ports for GCC 220 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91FR40008>: 221 GCC/ARM7_AT91FR40008/port.c 222 GCC/ARM7_AT91FR40008/portISR.c> 223 224 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91SAM7S>: 225 GCC/ARM7_AT91SAM7S/lib_AT91SAM7X256.c 226 GCC/ARM7_AT91SAM7S/port.c 227 GCC/ARM7_AT91SAM7S/portISR.c> 228 229 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC2000>: 230 GCC/ARM7_LPC2000/port.c 231 GCC/ARM7_LPC2000/portISR.c> 232 233 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC23XX>: 234 GCC/ARM7_LPC23xx/port.c 235 GCC/ARM7_LPC23xx/portISR.c> 236 237 $<$<STREQUAL:${FREERTOS_PORT},GCC_STR75X>: 238 GCC/STR75x/port.c 239 GCC/STR75x/portISR.c> 240 241 # Microchip (formerly Ateml) AVR8 ports for GCC 242 $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA323>: 243 GCC/ATMega323/port.c> 244 245 $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA>: 246 ThirdParty/GCC/ATmega/port.c> 247 248 $<$<STREQUAL:${FREERTOS_PORT},GCC_AVRDX>: 249 ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx/port.c> 250 251 $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR_MEGA0>: 252 ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0/port.c> 253 254 # Microchip (formerly Ateml) AVR32 port for GCC 255 $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR32_UC3>: 256 GCC/AVR32_UC3/exception.S 257 GCC/AVR32_UC3/port.c> 258 259 # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for GCC 260 $<$<STREQUAL:${FREERTOS_PORT},GCC_COLDFIRE_V2>: 261 GCC/ColdFire_V2/port.c 262 GCC/ColdFire_V2/portasm.S> 263 264 $<$<STREQUAL:${FREERTOS_PORT},GCC_HCS12>: 265 GCC/HCS12/port.c> 266 267 # Cortus APS3 soft core port for GCC 268 $<$<STREQUAL:${FREERTOS_PORT},GCC_CORTUS_APS3>: 269 GCC/CORTUS_APS3/port.c> 270 271 # Renesas (formerly Hitach) H8S port for GCC 272 $<$<STREQUAL:${FREERTOS_PORT},GCC_H8S2329>: 273 GCC/H8S2329/port.c> 274 275 # x86 / IA32 flat memory model port for GCC 276 $<$<STREQUAL:${FREERTOS_PORT},GCC_IA32_FLAT>: 277 GCC/IA32_flat/port.c 278 GCC/IA32_flat/portASM.S> 279 280 # Xilinx MicroBlaze soft core ports for GCC 281 $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE>: 282 GCC/MicroBlaze/port.c 283 GCC/MicroBlaze/portasm.s> 284 285 $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V8>: 286 GCC/MicroBlazeV8/port.c 287 GCC/MicroBlazeV8/port_exceptions.c 288 GCC/MicroBlazeV8/portasm.S> 289 290 $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V9>: 291 GCC/MicroBlazeV9/port.c 292 GCC/MicroBlazeV9/port_exceptions.c 293 GCC/MicroBlazeV9/portasm.S> 294 295 # Xilinx PCC4XX soft core ports for GCC 296 $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC405_XILINX>: 297 GCC/PPC405_Xilinx/port.c 298 GCC/PPC405_Xilinx/portasm.S> 299 300 $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC440_XILINX>: 301 GCC/PPC440_Xilinx/port.c 302 GCC/PPC440_Xilinx/portasm.S> 303 304 # Texas Instruments MSP430 port for GCC 305 $<$<STREQUAL:${FREERTOS_PORT},GCC_MSP430F449>: 306 GCC/MSP430F449/port.c> 307 308 # Intel (formerly Altera) NIOS II soft core port for GCC 309 $<$<STREQUAL:${FREERTOS_PORT},GCC_NIOSII>: 310 GCC/NiosII/port.c 311 GCC/NiosII/port_asm.S> 312 313 # RISC-V architecture ports for GCC 314 $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V>: 315 GCC/RISC-V/port.c 316 GCC/RISC-V/portASM.S> 317 318 $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V_PULPINO_VEGA_RV32M1RM>: 319 GCC/RISC-V/port.c 320 GCC/RISC-V/portASM.S> 321 322 $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V_GENERIC>: 323 GCC/RISC-V/port.c 324 GCC/RISC-V/portASM.S> 325 326 # Renesas RL78 port for GCC 327 $<$<STREQUAL:${FREERTOS_PORT},GCC_RL78>: 328 GCC/RL78/port.c 329 GCC/RL78/portasm.S> 330 331 # Renesas RX architecture ports for GCC 332 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX100>: 333 GCC/RX100/port.c> 334 335 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX200>: 336 GCC/RX200/port.c> 337 338 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600>: 339 GCC/RX600/port.c> 340 341 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600_V2>: 342 GCC/RX600v2/port.c> 343 344 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX700_V3_DPFPU>: 345 GCC/RX700v3_DPFPU/port.c> 346 347 # Infineon TriCore 1782 port for GCC 348 $<$<STREQUAL:${FREERTOS_PORT},GCC_TRICORE_1782>: 349 GCC/TriCore_1782/port.c 350 GCC/TriCore_1782/porttrap.c> 351 352 # Synopsys ARC architecture ports for GCC 353 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_EM_HS>: 354 ThirdParty/GCC/ARC_EM_HS/arc_freertos_exceptions.c 355 ThirdParty/GCC/ARC_EM_HS/arc_support.s 356 ThirdParty/GCC/ARC_EM_HS/freertos_tls.c 357 ThirdParty/GCC/ARC_EM_HS/port.c> 358 359 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_V1>: 360 ThirdParty/GCC/ARC_v1/arc_freertos_exceptions.c 361 ThirdParty/GCC/ARC_v1/arc_support.s 362 ThirdParty/GCC/ARC_v1/port.c> 363 364 # Posix Simulator port for GCC 365 $<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>: 366 ThirdParty/GCC/Posix/port.c 367 ThirdParty/GCC/Posix/utils/wait_for_event.c> 368 369 # Xtensa LX / Espressif ESP32 port for GCC 370 $<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>: 371 ThirdParty/GCC/Xtensa_ESP32/FreeRTOS-openocd.c 372 ThirdParty/GCC/Xtensa_ESP32/port.c 373 ThirdParty/GCC/Xtensa_ESP32/portasm.S 374 ThirdParty/GCC/Xtensa_ESP32/xtensa_context.S 375 ThirdParty/GCC/Xtensa_ESP32/xtensa_init.c 376 ThirdParty/GCC/Xtensa_ESP32/xtensa_intr_asm.S 377 ThirdParty/GCC/Xtensa_ESP32/xtensa_intr.c 378 ThirdParty/GCC/Xtensa_ESP32/xtensa_loadstore_handler.S 379 ThirdParty/GCC/Xtensa_ESP32/xtensa_overlay_os_hook.c 380 ThirdParty/GCC/Xtensa_ESP32/xtensa_vector_defaults.S 381 ThirdParty/GCC/Xtensa_ESP32/xtensa_vectors.S> 382 383 # Renesas (formerly NEC) 78K port for IAR EW78K 384 $<$<STREQUAL:${FREERTOS_PORT},IAR_78K0K>: 385 IAR/78K0R/port.c 386 IAR/78K0R/portasm.s26> 387 388 # ARMv7-A ports for IAR EWARM 389 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA5_NOGIC>: 390 IAR/ARM_CA5_No_GIC/port.c 391 IAR/ARM_CA5_No_GIC/portASM.s> 392 393 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA9>: 394 IAR/ARM_CA9/port.c 395 IAR/ARM_CA9/portASM.s> 396 397 # ARMv6-M port for IAR EWARM 398 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM0>: 399 IAR/ARM_CM0/port.c 400 IAR/ARM_CM0/portasm.s> 401 402 # ARMv7-M port for IAR EWARM 403 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM3>: 404 IAR/ARM_CM3/port.c 405 IAR/ARM_CM3/portasm.s> 406 407 # ARMv7E-M ports for IAR EWARM 408 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F>: 409 IAR/ARM_CM4F/port.c 410 IAR/ARM_CM4F/portasm.s> 411 412 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F_MPU>: 413 IAR/ARM_CM4F_MPU/port.c 414 IAR/ARM_CM4F_MPU/portasm.s 415 IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S> 416 417 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM7>: 418 IAR/ARM_CM7/r0p1/port.c 419 IAR/ARM_CM7/r0p1/portasm.s> 420 421 # ARMv8-M Ports for IAR EWARM 422 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NONSECURE>: 423 IAR/ARM_CM23/non_secure/port.c 424 IAR/ARM_CM23/non_secure/portasm.s 425 IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S> 426 427 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_SECURE>: 428 IAR/ARM_CM23/secure/secure_context_port_asm.s 429 IAR/ARM_CM23/secure/secure_context.c 430 IAR/ARM_CM23/secure/secure_heap.c 431 IAR/ARM_CM23/secure/secure_init.c> 432 433 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NTZ_NONSECURE>: 434 IAR/ARM_CM23_NTZ/non_secure/port.c 435 IAR/ARM_CM23_NTZ/non_secure/portasm.s 436 IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S> 437 438 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NONSECURE>: 439 IAR/ARM_CM33/non_secure/port.c 440 IAR/ARM_CM33/non_secure/portasm.s 441 IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S> 442 443 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_SECURE>: 444 IAR/ARM_CM33/secure/secure_context_port_asm.s 445 IAR/ARM_CM33/secure/secure_context.c 446 IAR/ARM_CM33/secure/secure_heap.c 447 IAR/ARM_CM33/secure/secure_init.c> 448 449 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NTZ_NONSECURE>: 450 IAR/ARM_CM33_NTZ/non_secure/port.c 451 IAR/ARM_CM33_NTZ/non_secure/portasm.s 452 IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S> 453 454 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NONSECURE>: 455 IAR/ARM_CM35P/non_secure/port.c 456 IAR/ARM_CM35P/non_secure/portasm.s 457 IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S> 458 459 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_SECURE>: 460 IAR/ARM_CM35P/secure/secure_context_port_asm.s 461 IAR/ARM_CM35P/secure/secure_context.c 462 IAR/ARM_CM35P/secure/secure_heap.c 463 IAR/ARM_CM35P/secure/secure_init.c> 464 465 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NTZ_NONSECURE>: 466 IAR/ARM_CM35P_NTZ/non_secure/port.c 467 IAR/ARM_CM35P_NTZ/non_secure/portasm.s 468 IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S> 469 470 # ARMv8.1-M ports for IAR EWARM 471 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NONSECURE>: 472 IAR/ARM_CM55/non_secure/port.c 473 IAR/ARM_CM55/non_secure/portasm.s 474 IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S> 475 476 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_SECURE>: 477 IAR/ARM_CM55/secure/secure_context_port_asm.s 478 IAR/ARM_CM55/secure/secure_context.c 479 IAR/ARM_CM55/secure/secure_heap.c 480 IAR/ARM_CM55/secure/secure_init.c> 481 482 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NTZ_NONSECURE>: 483 IAR/ARM_CM55_NTZ/non_secure/port.c 484 IAR/ARM_CM55_NTZ/non_secure/portasm.s 485 IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S> 486 487 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_NONSECURE>: 488 IAR/ARM_CM85/non_secure/port.c 489 IAR/ARM_CM85/non_secure/portasm.s 490 IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S> 491 492 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_SECURE>: 493 IAR/ARM_CM85/secure/secure_context_port_asm.s 494 IAR/ARM_CM85/secure/secure_context.c 495 IAR/ARM_CM85/secure/secure_heap.c 496 IAR/ARM_CM85/secure/secure_init.c> 497 498 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_NTZ_NONSECURE>: 499 IAR/ARM_CM85_NTZ/non_secure/port.c 500 IAR/ARM_CM85_NTZ/non_secure/portasm.s 501 IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S> 502 503 # ARMv7-R Ports for IAR EWARM 504 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CRX_NOGIC>: 505 IAR/ARM_CRx_No_GIC/port.c 506 IAR/ARM_CRx_No_GIC/portASM.s> 507 508 # Microchip (formerly Atmel) AVR8 ports for IAR EWAVR 509 $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEGA323>: 510 IAR/ATMega323/port.c 511 IAR/ATMega323/portmacro.s90> 512 513 $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_AVRDX>: 514 IAR/AVR_AVRDx/port.c 515 IAR/AVR_AVRDx/portmacro.s90> 516 517 $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_MEGA0>: 518 IAR/AVR_Mega0/port.c 519 IAR/AVR_Mega0/portmacro.s90> 520 521 # Microchip (formerly Atmel) AVR32 port for IAR Embedded Workbench for AVR32 522 $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR32_UC3>: 523 IAR/AVR32_UC3/exception.s82 524 IAR/AVR32_UC3/port.c 525 IAR/AVR32_UC3/read.c 526 IAR/AVR32_UC3/write.c> 527 528 # Texas Instruments MSP430 ports for IAR Embedded Workbench for MSP430 529 $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430>: 530 IAR/MSP430/port.c 531 IAR/MSP430/portext.s43> 532 533 $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430X>: 534 IAR/MSP430X/port.c 535 IAR/MSP430X/portext.s43> 536 537 # RISC-V architecture port for IAR Embedded Workbench for RISC-V 538 $<$<STREQUAL:${FREERTOS_PORT},IAR_RISC_V>: 539 IAR/RISC-V/port.c 540 IAR/RISC-V/portASM.s> 541 542 $<$<STREQUAL:${FREERTOS_PORT},IAR_RISC_V_GENERIC>: 543 IAR/RISC-V/port.c 544 IAR/RISC-V/portASM.s> 545 546 # Renesas RL78 port for IAR EWRL78 547 $<$<STREQUAL:${FREERTOS_PORT},IAR_RL78>: 548 IAR/RL78/port.c 549 IAR/RL78/portasm.s87> 550 551 # Renesas RX architecture ports for IAR EWRX 552 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX100>: 553 IAR/RX100/port.c 554 IAR/RX100/port_asm.s> 555 556 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX600>: 557 IAR/RX600/port.c 558 IAR/RX600/port_asm.s> 559 560 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX700_V3_DPFPU>: 561 IAR/RX700v3_DPFPU/port.c> 562 563 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX_V2>: 564 IAR/RXv2/port.c 565 IAR/RXv2/port_asm.s> 566 567 # Renesas (formerly NEC) V850ES port for IAR EWV850 568 $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_FX3>: 569 IAR/V850ES/port.c 570 IAR/V850ES/portasm_Fx3.s85> 571 572 $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_HX3>: 573 IAR/V850ES/port.c 574 IAR/V850ES/portasm_Hx2.s85> 575 576 # ARMv4T ARM7TDMI ports for IAR Embedded Workbench for ARM 577 $<$<STREQUAL:${FREERTOS_PORT},IAR_STR71X>: 578 IAR/STR71x/port.c 579 IAR/STR71x/portasm.s79> 580 581 $<$<STREQUAL:${FREERTOS_PORT},IAR_STR75X>: 582 IAR/STR75x/port.c 583 IAR/STR75x/portasm.s79> 584 585 $<$<STREQUAL:${FREERTOS_PORT},IAR_LPC2000>: 586 IAR/LPC2000/port.c 587 IAR/LPC2000/portasm.s79> 588 589 $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM7S64>: 590 IAR/AtmelSAM7S64/port.c 591 IAR/AtmelSAM7S64/portasm.s79> 592 593 # ARMv5TE ARM926 ports for IAR Embedded Workbench for ARM 594 $<$<STREQUAL:${FREERTOS_PORT},IAR_STR91X>: 595 IAR/STR91x/port.c 596 IAR/STR91x/portasm.s79> 597 598 $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM9XE>: 599 IAR/AtmelSAM9XE/port.c 600 IAR/AtmelSAM9XE/portasm.s79> 601 602 # ARM Cortex-M4F port for the MikroElektronika MikroC compiler 603 $<$<STREQUAL:${FREERTOS_PORT},MIKROC_ARM_CM4F>: 604 MikroC/ARM_CM4F/port.c> 605 606 # Microchip PIC18 8-bit MCU port for MPLAB XC8 607 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC18F>: 608 MPLAB/PIC18F/port.c> 609 610 # Microchip PIC24 16-bit MCU port for MPLAB XC16 611 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC24>: 612 MPLAB/PIC24_dsPIC/port.c 613 MPLAB/PIC24_dsPIC/portasm_PIC24.S> # TODO: What to do with portasm_dsPIC.S ? 614 615 # Microchip MIPS 32-Bit MCU ports for MPLAB XC32 616 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MEC14XX>: 617 MPLAB/PIC32MEC14xx/port.c 618 MPLAB/PIC32MEC14xx/port_asm.S> 619 620 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MX>: 621 MPLAB/PIC32MX/port.c 622 MPLAB/PIC32MX/port_asm.S> 623 624 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MZ>: 625 MPLAB/PIC32MZ/port.c 626 MPLAB/PIC32MZ/port_asm.S> 627 628 # Windows Simulator for Microsoft Visual C Compiler and MinGW GCC 629 $<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>: 630 MSVC-MingW/port.c> 631 632 # 16 bit DOS ports for Open Watcom 633 $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_FLSH186>: 634 oWatcom/16BitDOS/common/portcomn.c 635 oWatcom/16BitDOS/Flsh186/port.c> 636 637 $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_PC>: 638 oWatcom/16BitDOS/common/portcomn.c 639 oWatcom/16BitDOS/PC/port.c> 640 641 $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_LARGE>: 642 Paradigm/Tern_EE/large_untested/port.c> 643 644 $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_SMALL>: 645 Paradigm/Tern_EE/small/port.c> 646 647 # Renesas RX mcu ports for Renesas CC-RX 648 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX100>: 649 Renesas/RX100/port.c 650 Renesas/RX100/port_asm.src> 651 652 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX200>: 653 Renesas/RX200/port.c 654 Renesas/RX200/port_asm.src> 655 656 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600>: 657 Renesas/RX600/port.c 658 Renesas/RX600/port_asm.src> 659 660 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600_V2>: 661 Renesas/RX600v2/port.c 662 Renesas/RX600v2/port_asm.src> 663 664 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX700_V3_DPFPU>: 665 Renesas/RX700v3_DPFPU/port.c 666 Renesas/RX700v3_DPFPU/port_asm.src> 667 668 # Renesas (formerly Hitach) SHA2 SuperH port for the Renesas SH C Compiler 669 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_SH2A_FPU>: 670 Renesas/SH2A_FPU/port.c 671 Renesas/SH2A_FPU/portasm.src> 672 673 # Texas Instruments MSP430 port for Rowley CrossWorks 674 $<$<STREQUAL:${FREERTOS_PORT},ROWLEY_MSP430F449>: 675 Rowley/MSP430F449/port.c 676 Rowley/MSP430F449/portext.asm> 677 678 # ARMv7-A Cortex-A9 port for ARM RVDS / armcc 679 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CA9>: 680 RVDS/ARM_CA9/port.c 681 RVDS/ARM_CA9/portASM.s> 682 683 # ARMv6-M port for ARM RVDS / armcc 684 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM0>: 685 RVDS/ARM_CM0/port.c> 686 687 # ARMv7-M port for ARM RVDS / armcc 688 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM3>: 689 RVDS/ARM_CM3/port.c> 690 691 # ARMv7E-M ports for ARM RVDS / armcc 692 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4_MPU>: 693 RVDS/ARM_CM4_MPU/port.c 694 RVDS/ARM_CM4_MPU/mpu_wrappers_v2_asm.c> 695 696 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4F>: 697 RVDS/ARM_CM4F/port.c> 698 699 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM7>: 700 RVDS/ARM_CM7/r0p1/port.c> 701 702 # ARMv4T / ARM7TDMI LPC21XX port for ARM RVDS / armcc 703 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM7_LPC21XX>: 704 RVDS/ARM7_LPC21xx/port.c 705 RVDS/ARM7_LPC21xx/portASM.s> 706 707 # Cygnal c8051 port for SDCC (Small Device C Compiler) 708 $<$<STREQUAL:${FREERTOS_PORT},SDCC_CYGNAL>: 709 SDCC/Cygnal/port.c> 710 711 # Infineon (formerly Fujitsu, Spansion, Cypress) MB9x ports for Softune C Compiler 712 $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB91460>: 713 Softune/MB91460/__STD_LIB_sbrk.c 714 Softune/MB91460/port.c> 715 716 $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB96340>: 717 Softune/MB96340/__STD_LIB_sbrk.c 718 Softune/MB96340/port.c> 719 720 # ARMv7E-M (Cortex-M4F) port for TASKING VX-toolset for ARM 721 $<$<STREQUAL:${FREERTOS_PORT},TASKING_ARM_CM4F>: 722 Tasking/ARM_CM4F/port.c 723 Tasking/ARM_CM4F/port_asm.asm> 724 725 # Port for C-SKY T-HEAD CK802 726 $<$<STREQUAL:${FREERTOS_PORT},CDK_THEAD_CK802>: 727 ThirdParty/CDK/T-HEAD_CK802/port.c 728 ThirdParty/CDK/T-HEAD_CK802/portasm.S> 729 730 # Tensilica Xtensa port for XCC 731 $<$<STREQUAL:${FREERTOS_PORT},XCC_XTENSA>: 732 ThirdParty/XCC/Xtensa/port.c 733 ThirdParty/XCC/Xtensa/portasm.S 734 ThirdParty/XCC/Xtensa/portclib.c 735 ThirdParty/XCC/Xtensa/xtensa_context.S 736 ThirdParty/XCC/Xtensa/xtensa_init.c 737 ThirdParty/XCC/Xtensa/xtensa_intr_asm.S 738 ThirdParty/XCC/Xtensa/xtensa_intr.c 739 ThirdParty/XCC/Xtensa/xtensa_overlay_os_hook.c 740 ThirdParty/XCC/Xtensa/xtensa_vectors.S> 741 742 # Microchip PIC18 port for WIZ-C 743 $<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>: 744 WizC/PIC18/port.c 745 WizC/PIC18/Drivers/Tick/isrTick.c 746 WizC/PIC18/Drivers/Tick/Tick.c> 747) 748 749if( FREERTOS_PORT MATCHES "GCC_ARM_CM(3|4)_MPU" OR 750 FREERTOS_PORT STREQUAL "IAR_ARM_CM4F_MPU" OR 751 FREERTOS_PORT STREQUAL "RVDS_ARM_CM4_MPU" OR 752 FREERTOS_PORT MATCHES "GCC_ARM_CM(23|33|55|85)_NTZ_NONSECURE" OR 753 FREERTOS_PORT MATCHES "GCC_ARM_CM(23|33|55|85)_NONSECURE" OR 754 FREERTOS_PORT MATCHES "GCC_ARM_CM(33|55|85)_TFM" OR 755 FREERTOS_PORT MATCHES "IAR_ARM_CM(23|33|55|85)_NTZ_NONSECURE" OR 756 FREERTOS_PORT MATCHES "IAR_ARM_CM(23|33|55|85)_NONSECURE" 757) 758 target_sources(freertos_kernel_port PRIVATE 759 Common/mpu_wrappers.c 760 Common/mpu_wrappers_v2.c 761 ) 762endif() 763add_library(freertos_kernel_port_headers INTERFACE) 764 765target_include_directories(freertos_kernel_port_headers INTERFACE 766 # TEMPLATE Port 767 $<$<STREQUAL:${FREERTOS_PORT},TEMPLATE>:${CMAKE_CURRENT_LIST_DIR}/template> 768 769 # 16-Bit DOS ports for BCC 770 $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_FLSH186>: 771 ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/common 772 ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/Flsh186> 773 774 $<$<STREQUAL:${FREERTOS_PORT},BCC_16BIT_DOS_PC>: 775 ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/common 776 ${CMAKE_CURRENT_LIST_DIR}/BCC/16BitDOS/PC> 777 778 # ARMv7-M port for Texas Instruments Code Composer Studio 779 $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_CM3> 780 781 # ARMv7E-M port for Texas Instruments Code Composer Studio 782 $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_CM4F> 783 784 # ARMv7-R port for Texas Instruments Code Composer Studio 785 $<$<STREQUAL:${FREERTOS_PORT},CCS_ARM_CR4>:${CMAKE_CURRENT_LIST_DIR}/CCS/ARM_Cortex-R4> 786 787 # Texas Instruments MSP430 port for Texas Instruments Code Composer Studio 788 $<$<STREQUAL:${FREERTOS_PORT},CCS_MSP430X>:${CMAKE_CURRENT_LIST_DIR}/CCS/MSP430X> 789 790 # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for Code Warrior 791 $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V1>:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/ColdFire_V1> 792 $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_COLDFIRE_V2>:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/ColdFire_V2> 793 $<$<STREQUAL:${FREERTOS_PORT},CODEWARRIOR_HCS12>:${CMAKE_CURRENT_LIST_DIR}/CodeWarrior/HCS12> 794 795 # ARMv7-A port for GCC 796 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CA9>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CA9> 797 798 # ARMv8-A ports for GCC 799 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_AARCH64>:${CMAKE_CURRENT_LIST_DIR}/GCC/Arm_AARCH64> 800 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_AARCH64_SRE>:${CMAKE_CURRENT_LIST_DIR}/GCC/Arm_AARCH64_SRE> 801 802 # ARMv6-M port for GCC 803 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM0>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM0> 804 805 # ARMv6-M / Cortex-M0 Raspberry PI RP2040 port for GCC 806 $<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/RP2040/include> 807 808 # ARMv7-M ports for GCC 809 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM3> 810 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM3_MPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM3_MPU> 811 812 # ARMv7E-M ports for GCC 813 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4_MPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM4_MPU> 814 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM4F> 815 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM7>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM7/r0p1> 816 817 # ARMv8-M ports for GCC 818 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23/non_secure> 819 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23/secure> 820 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM23_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM23_NTZ/non_secure> 821 822 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33/non_secure> 823 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33/secure> 824 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure> 825 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM33_TFM>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM33_NTZ/non_secure> 826 827 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM35P/non_secure> 828 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM35P/secure> 829 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM35P_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM35P_NTZ/non_secure> 830 831 # ARMv8.1-M ports for GCC 832 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55/non_secure> 833 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55/secure> 834 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55_NTZ/non_secure> 835 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM55_TFM>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM55_NTZ/non_secure> 836 837 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85/non_secure> 838 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_SECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85/secure> 839 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85_NTZ/non_secure> 840 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CM85_TFM>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CM85_NTZ/non_secure> 841 842 # ARMv7-R ports for GCC 843 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CR5>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CR5> 844 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_MPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_MPU> 845 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM_CRX_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM_CRx_No_GIC> 846 847 # ARMv4T ARM7TDMI ports for GCC 848 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91FR40008>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91FR40008> 849 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_AT91SAM7S>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_AT91SAM7S> 850 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC2000>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_LPC2000> 851 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARM7_LPC23XX>:${CMAKE_CURRENT_LIST_DIR}/GCC/ARM7_LPC23xx> 852 $<$<STREQUAL:${FREERTOS_PORT},GCC_STR75X>:${CMAKE_CURRENT_LIST_DIR}/GCC/STR75x> 853 854 # Microchip (formerly Ateml) AVR8 ports for GCC 855 $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA323>:${CMAKE_CURRENT_LIST_DIR}/GCC/ATMega323> 856 $<$<STREQUAL:${FREERTOS_PORT},GCC_ATMEGA>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ATmega> 857 $<$<STREQUAL:${FREERTOS_PORT},GCC_AVRDX>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_AVRDx> 858 $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR_MEGA0>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/Partner-Supported-Ports/GCC/AVR_Mega0> 859 860 # Microchip (formerly Ateml) AVR32 port for GCC 861 $<$<STREQUAL:${FREERTOS_PORT},GCC_AVR32_UC3>:${CMAKE_CURRENT_LIST_DIR}/GCC/AVR32_UC3> 862 863 # NXP (formerly Motorola, Freescale) Cold Fire and 68HCS12 ports for GCC 864 $<$<STREQUAL:${FREERTOS_PORT},GCC_COLDFIRE_V2>:${CMAKE_CURRENT_LIST_DIR}/GCC/ColdFire_V2> 865 $<$<STREQUAL:${FREERTOS_PORT},GCC_HCS12>:${CMAKE_CURRENT_LIST_DIR}/GCC/HCS12> 866 867 # Cortus APS3 soft core port for GCC 868 $<$<STREQUAL:${FREERTOS_PORT},GCC_CORTUS_APS3>:${CMAKE_CURRENT_LIST_DIR}/GCC/CORTUS_APS3> 869 870 # Renesas (formerly Hitach) H8S port for GCC 871 $<$<STREQUAL:${FREERTOS_PORT},GCC_H8S2329>:${CMAKE_CURRENT_LIST_DIR}/GCC/H8S2329> 872 873 # x86 / IA32 flat memory model port for GCC 874 $<$<STREQUAL:${FREERTOS_PORT},GCC_IA32_FLAT>:${CMAKE_CURRENT_LIST_DIR}/GCC/IA32_flat> 875 876 # Intel (formerly Altera) NIOS II soft core port for GCC 877 $<$<STREQUAL:${FREERTOS_PORT},GCC_NIOSII>:${CMAKE_CURRENT_LIST_DIR}/GCC/NiosII> 878 879 # Texas Instruments MSP430 port for GCC 880 $<$<STREQUAL:${FREERTOS_PORT},GCC_MSP430F449>:${CMAKE_CURRENT_LIST_DIR}/GCC/MSP430F449> 881 882 # Xilinx MicroBlaze soft core ports for GCC 883 $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE>:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlaze> 884 $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V8>:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlazeV8> 885 $<$<STREQUAL:${FREERTOS_PORT},GCC_MICROBLAZE_V9>:${CMAKE_CURRENT_LIST_DIR}/GCC/MicroBlazeV9> 886 887 # Xilinx PCC4XX soft core ports for GCC 888 $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC405_XILINX>:${CMAKE_CURRENT_LIST_DIR}/GCC/PPC405_Xilinx> 889 $<$<STREQUAL:${FREERTOS_PORT},GCC_PPC440_XILINX>:${CMAKE_CURRENT_LIST_DIR}/GCC/PPC440_Xilinx> 890 891 # RISC-V architecture ports for GCC 892 $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V>: 893 ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V 894 ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/RISCV_MTIME_CLINT_no_extensions> 895 896 $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V_PULPINO_VEGA_RV32M1RM>: 897 ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V 898 ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/Pulpino_Vega_RV32M1RM> 899 900 $<$<STREQUAL:${FREERTOS_PORT},GCC_RISC_V_GENERIC>: 901 ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V 902 ${CMAKE_CURRENT_LIST_DIR}/GCC/RISC-V/chip_specific_extensions/${FREERTOS_RISCV_EXTENSION}> 903 904 # Renesas RL78 port for GCC 905 $<$<STREQUAL:${FREERTOS_PORT},GCC_RL78>:${CMAKE_CURRENT_LIST_DIR}/GCC/RL78> 906 907 # Renesas RX architecture ports for GCC 908 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX100>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX100> 909 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX200>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX200> 910 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX600> 911 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX600_V2>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX600v2> 912 $<$<STREQUAL:${FREERTOS_PORT},GCC_RX700_V3_DPFPU>:${CMAKE_CURRENT_LIST_DIR}/GCC/RX700v3_DPFPU> 913 914 # Infineon TriCore 1782 port for GCC 915 $<$<STREQUAL:${FREERTOS_PORT},GCC_TRICORE_1782>:${CMAKE_CURRENT_LIST_DIR}/GCC/TriCore_1782> 916 917 # Synopsys ARC architecture ports for GCC 918 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_EM_HS>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ARC_EM_HS> 919 $<$<STREQUAL:${FREERTOS_PORT},GCC_ARC_V1>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/ARC_v1> 920 921 # Posix Simulator port for GCC 922 $<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>: 923 ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Posix 924 ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Posix/utils> 925 926 # Xtensa LX / Espressif ESP32 port for GCC 927 $<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>: 928 ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Xtensa_ESP32 929 ${CMAKE_CURRENT_LIST_DIR}/ThirdParty/GCC/Xtensa_ESP32/include> 930 931 # Renesas (formerly NEC) 78K port for IAR EW78K 932 $<$<STREQUAL:${FREERTOS_PORT},IAR_78K0K>:${CMAKE_CURRENT_LIST_DIR}/IAR/78K0R> 933 934 # ARMv7-A ports for IAR EWARM 935 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA5_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CA5_No_GIC> 936 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CA9>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CA9> 937 938 # ARMv6-M port for IAR EWARM 939 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM0>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM0> 940 941 # ARMv7-M port for IAR EWARM 942 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM3> 943 944 # ARMv7E-M ports for IAR EWARM 945 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM4F> 946 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM4F_MPU>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM4F_MPU> 947 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM7>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM7/r0p1> 948 949 # ARMv8-M Ports for IAR EWARM 950 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23/non_secure> 951 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23/secure> 952 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM23_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM23_NTZ/non_secure> 953 954 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/non_secure> 955 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33/secure> 956 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM33_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM33_NTZ/non_secure> 957 958 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM35P/non_secure> 959 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM35P/secure> 960 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM35P_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM35P_NTZ/non_secure> 961 962 # ARMv8.1-M ports for IAR EWARM 963 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55/non_secure> 964 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55/secure> 965 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM55_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM55_NTZ/non_secure> 966 967 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM85/non_secure> 968 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_SECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM85/secure> 969 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CM85_NTZ_NONSECURE>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CM85_NTZ/non_secure> 970 971 # ARMv7-R Ports for IAR EWARM 972 $<$<STREQUAL:${FREERTOS_PORT},IAR_ARM_CRX_NOGIC>:${CMAKE_CURRENT_LIST_DIR}/IAR/ARM_CRx_No_GIC> 973 974 # ARMv4T ARM7TDMI ports for IAR Embedded Workbench for ARM 975 $<$<STREQUAL:${FREERTOS_PORT},IAR_STR71X>:${CMAKE_CURRENT_LIST_DIR}/IAR/STR71x> 976 $<$<STREQUAL:${FREERTOS_PORT},IAR_STR75X>:${CMAKE_CURRENT_LIST_DIR}/IAR/STR75x> 977 $<$<STREQUAL:${FREERTOS_PORT},IAR_LPC2000>:${CMAKE_CURRENT_LIST_DIR}/IAR/LPC2000> 978 $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM7S64>:${CMAKE_CURRENT_LIST_DIR}/IAR/AtmelSAM7S64> 979 980 # ARMv5TE ARM926 ports for IAR Embedded Workbench for ARM 981 $<$<STREQUAL:${FREERTOS_PORT},IAR_STR91X>:${CMAKE_CURRENT_LIST_DIR}/IAR/STR91x> 982 $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEL_SAM9XE>:${CMAKE_CURRENT_LIST_DIR}/IAR/AtmelSAM9XE> 983 984 # Microchip (formerly Atmel) AVR8 ports for IAR EWAVR 985 $<$<STREQUAL:${FREERTOS_PORT},IAR_ATMEGA323>:${CMAKE_CURRENT_LIST_DIR}/IAR/ATMega323> 986 $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_AVRDX>:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR_AVRDx> 987 $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR_MEGA0>:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR_Mega0> 988 989 # Microchip (formerly Atmel) AVR32 port for IAR Embedded Workbench for AVR32 990 $<$<STREQUAL:${FREERTOS_PORT},IAR_AVR32_UC3>:${CMAKE_CURRENT_LIST_DIR}/IAR/AVR32_UC3> 991 992 # Texas Instruments MSP430 ports for IAR Embedded Workbench for MSP430 993 $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430>:${CMAKE_CURRENT_LIST_DIR}/IAR/MSP430> 994 $<$<STREQUAL:${FREERTOS_PORT},IAR_MSP430X>:${CMAKE_CURRENT_LIST_DIR}/IAR/MSP430X> 995 996 # RISC-V architecture port for IAR Embedded Workbench for RISC-V 997 $<$<STREQUAL:${FREERTOS_PORT},IAR_RISC_V>: 998 ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V 999 ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V/chip_specific_extensions/RV32I_CLINT_no_extensions> 1000 1001 $<$<STREQUAL:${FREERTOS_PORT},IAR_RISC_V_GENERIC>: 1002 ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V 1003 ${CMAKE_CURRENT_LIST_DIR}/IAR/RISC-V/chip_specific_extensions/${FREERTOS_RISCV_EXTENSION}> 1004 1005 # Renesas RL78 port for IAR EWRL78 1006 $<$<STREQUAL:${FREERTOS_PORT},IAR_RL78>:${CMAKE_CURRENT_LIST_DIR}/IAR/RL78> 1007 1008 # Renesas RX architecture ports for IAR EWRX 1009 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX100>:${CMAKE_CURRENT_LIST_DIR}/IAR/RX100> 1010 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX600>:${CMAKE_CURRENT_LIST_DIR}/IAR/RX600> 1011 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX700_V3_DPFPU>:${CMAKE_CURRENT_LIST_DIR}/IAR/RX700v3_DPFPU> 1012 $<$<STREQUAL:${FREERTOS_PORT},IAR_RX_V2>:${CMAKE_CURRENT_LIST_DIR}/IAR/RXv2> 1013 1014 # Renesas (formerly NEC) V850ES port for IAR EWV850 1015 $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_FX3>:${CMAKE_CURRENT_LIST_DIR}/IAR/V850ES> 1016 $<$<STREQUAL:${FREERTOS_PORT},IAR_V850ES_HX3>:${CMAKE_CURRENT_LIST_DIR}/IAR/V850ES> 1017 1018 # ARM Cortex-M4F port for the MikroElektronika MikroC compiler 1019 $<$<STREQUAL:${FREERTOS_PORT},MIKROC_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/MikroC/ARM_CM4F> 1020 1021 # Microchip PIC18 8-bit MCU port for MPLAB XC8 1022 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC18F>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC18F> 1023 1024 # Microchip PIC24 16-bit MCU port for MPLAB XC16 1025 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC24>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC24_dsPIC> 1026 1027 # Microchip MIPS 32-Bit MCU ports for MPLAB XC32 1028 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MEC14XX>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MEC14xx> 1029 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MX>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MX> 1030 $<$<STREQUAL:${FREERTOS_PORT},MPLAB_PIC32MZ>:${CMAKE_CURRENT_LIST_DIR}/MPLAB/PIC32MZ> 1031 1032 # Windows Simulator for Microsoft Visual C Compiler and MinGW GCC 1033 $<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:${CMAKE_CURRENT_LIST_DIR}/MSVC-MingW> 1034 1035 # 16 bit DOS ports for Open Watcom 1036 $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_FLSH186>: 1037 ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/common 1038 ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/Flsh186> 1039 $<$<STREQUAL:${FREERTOS_PORT},OWATCOM_16BIT_DOS_PC>: 1040 ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/common 1041 ${CMAKE_CURRENT_LIST_DIR}/oWatcom/16BitDOS/PC> 1042 1043 $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_LARGE>:${CMAKE_CURRENT_LIST_DIR}/Paradigm/Tern_EE/large_untested> 1044 $<$<STREQUAL:${FREERTOS_PORT},PARADIGM_TERN_EE_SMALL>:${CMAKE_CURRENT_LIST_DIR}/Paradigm/Tern_EE/small> 1045 1046 # Renesas RX mcu ports for Renesas CC-RX 1047 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX100>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX100> 1048 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX200>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX200> 1049 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX600> 1050 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX600_V2>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX600v2> 1051 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_RX700_V3_DPFPU>:${CMAKE_CURRENT_LIST_DIR}/Renesas/RX700v3_DPFPU> 1052 1053 # Renesas (formerly Hitach) SHA2 SuperH port for the Renesas SH C Compiler 1054 $<$<STREQUAL:${FREERTOS_PORT},RENESAS_SH2A_FPU>:${CMAKE_CURRENT_LIST_DIR}/Renesas/SH2A_FPU> 1055 1056 # Texas Instruments MSP430 port for Rowley CrossWorks 1057 $<$<STREQUAL:${FREERTOS_PORT},ROWLEY_MSP430F449>:${CMAKE_CURRENT_LIST_DIR}/Rowley/MSP430F449> 1058 1059 # ARMv7-A Cortex-A9 port for ARM RVDS / armcc 1060 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CA9>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CA9> 1061 1062 # ARMv6-M port for ARM RVDS / armcc 1063 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM0>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM0> 1064 1065 # ARMv7-M port for ARM RVDS / armcc 1066 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM3>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM3> 1067 1068 # ARMv7E-M ports for ARM RVDS / armcc 1069 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4_MPU>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM4_MPU> 1070 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM4F> 1071 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM_CM7>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM_CM7/r0p1> 1072 1073 # ARMv4T / ARM7TDMI LPC21XX port for ARM RVDS / armcc 1074 $<$<STREQUAL:${FREERTOS_PORT},RVDS_ARM7_LPC21XX>:${CMAKE_CURRENT_LIST_DIR}/RVDS/ARM7_LPC21xx> 1075 1076 # Cygnal c8051 port for SDCC (Small Device C Compiler) 1077 $<$<STREQUAL:${FREERTOS_PORT},SDCC_CYGNAL>:${CMAKE_CURRENT_LIST_DIR}/SDCC/Cygnal> 1078 1079 # Infineon (formerly Fujitsu, Spansion, Cypress) MB9x ports for Softune C Compiler 1080 $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB91460>:${CMAKE_CURRENT_LIST_DIR}/Softune/MB91460> 1081 $<$<STREQUAL:${FREERTOS_PORT},SOFTUNE_MB96340>:${CMAKE_CURRENT_LIST_DIR}/Softune/MB96340> 1082 1083 # ARMv7E-M (Cortex-M4F) port for TASKING VX-toolset for ARM 1084 $<$<STREQUAL:${FREERTOS_PORT},TASKING_ARM_CM4F>:${CMAKE_CURRENT_LIST_DIR}/Tasking/ARM_CM4F> 1085 1086 # Port for C-SKY T-HEAD CK802 1087 $<$<STREQUAL:${FREERTOS_PORT},CDK_THEAD_CK802>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/CDK/T-HEAD_CK802> 1088 1089 # Tensilica Xtensa port for XCC 1090 $<$<STREQUAL:${FREERTOS_PORT},XCC_XTENSA>:${CMAKE_CURRENT_LIST_DIR}/ThirdParty/XCC/Xtensa> 1091 1092 # Microchip PIC18 port for WIZ-C 1093 $<$<STREQUAL:${FREERTOS_PORT},WIZC_PIC18>:${CMAKE_CURRENT_LIST_DIR}/WizC/PIC18> 1094) 1095 1096if(FREERTOS_PORT STREQUAL GCC_POSIX) 1097 find_package(Threads REQUIRED) 1098endif() 1099 1100target_link_libraries(freertos_kernel_port 1101 PUBLIC 1102 $<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:pico_base_headers> 1103 $<$<STREQUAL:${FREERTOS_PORT},GCC_XTENSA_ESP32>:idf::esp32> 1104 freertos_kernel_port_headers 1105 PRIVATE 1106 freertos_kernel_include 1107 $<$<STREQUAL:${FREERTOS_PORT},GCC_POSIX>:Threads::Threads> 1108 "$<$<STREQUAL:${FREERTOS_PORT},GCC_RP2040>:hardware_clocks;hardware_exception>" 1109 $<$<STREQUAL:${FREERTOS_PORT},MSVC_MINGW>:winmm> # Windows library which implements timers 1110) 1111