rework make freertos port handling

this allows ports to specify a freertos port outside the FreeRTOS-Kernel lib directory, which would otherwise not be possible

Signed-off-by: Rafael Silva <rafaelsilva@ajtec.pt>
This commit is contained in:
Rafael Silva 2022-03-09 12:14:55 +00:00
parent 03777f4a46
commit 2a17a7e8f8
56 changed files with 62 additions and 60 deletions

View File

@ -4,14 +4,15 @@ include ../../../tools/top.mk
include ../../make.mk
FREERTOS_SRC = lib/FreeRTOS-Kernel
FREERTOS_PORT_PATH = lib/FreeRTOS-Kernel/portable/GCC
INC += \
src \
src/FreeRTOSConfig \
$(TOP)/hw \
$(TOP)/$(FREERTOS_SRC)/include \
$(TOP)/$(FREERTOS_SRC)/portable/GCC/$(FREERTOS_PORT)
$(TOP)/$(FREERTOS_PORT)
# Example source
EXAMPLE_SOURCE = \
src/freertos_hook.c \
@ -27,7 +28,7 @@ SRC_C += \
$(FREERTOS_SRC)/queue.c \
$(FREERTOS_SRC)/tasks.c \
$(FREERTOS_SRC)/timers.c \
$(subst ../../../,,$(wildcard ../../../$(FREERTOS_SRC)/portable/GCC/$(FREERTOS_PORT)/*.c))
$(subst $(TOP)/,,$(wildcard $(TOP)/$(FREERTOS_PORT)/*.c))
# Suppress FreeRTOS warnings
CFLAGS += -Wno-error=cast-qual

View File

@ -4,20 +4,21 @@ include ../../../tools/top.mk
include ../../make.mk
FREERTOS_SRC = lib/FreeRTOS-Kernel
FREERTOS_PORT_PATH = lib/FreeRTOS-Kernel/portable/GCC
INC += \
src \
src/FreeRTOSConfig \
$(TOP)/hw \
$(TOP)/$(FREERTOS_SRC)/include \
$(TOP)/$(FREERTOS_SRC)/portable/GCC/$(FREERTOS_PORT)
$(TOP)/$(FREERTOS_PORT)
# Example source
EXAMPLE_SOURCE = \
src/freertos_hook.c \
src/main.c \
src/usb_descriptors.c
SRC_C += $(addprefix $(CURRENT_PATH)/, $(EXAMPLE_SOURCE))
# FreeRTOS source, all files in port folder
@ -26,7 +27,7 @@ SRC_C += \
$(FREERTOS_SRC)/queue.c \
$(FREERTOS_SRC)/tasks.c \
$(FREERTOS_SRC)/timers.c \
$(subst ../../../,,$(wildcard ../../../$(FREERTOS_SRC)/portable/GCC/$(FREERTOS_PORT)/*.c))
$(subst $(TOP)/,,$(wildcard $(TOP)/$(FREERTOS_PORT)/*.c))
# Suppress FreeRTOS warnings
CFLAGS += -Wno-error=cast-qual

View File

@ -52,7 +52,7 @@ INC += \
$(TOP)/hw/mcu/microchip/same51/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = ATSAME51J19

View File

@ -31,7 +31,7 @@ INC += \
$(TOP)/$(MCU_FAMILY_DIR)/SDK_10.0.8.105/sdk/bsp/include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM33_NTZ/non_secure
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM33_NTZ/non_secure
# For flash-jlink target
JLINK_DEVICE = DA14695

View File

@ -31,7 +31,7 @@ INC += \
$(TOP)/$(MCU_FAMILY_DIR)/SDK_10.0.8.105/sdk/bsp/include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM33_NTZ/non_secure
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM33_NTZ/non_secure
# For flash-jlink target
JLINK_DEVICE = DA14699

View File

@ -37,7 +37,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = LPC4088

View File

@ -39,7 +39,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc/config_43xx
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = LPC4357_M4

View File

@ -19,7 +19,7 @@ INC += \
$(TOP)/$(FAMILY_PATH)/include
# For freeRTOS port source
FREERTOS_PORT = RISC-V
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/RISC-V
# flash using dfu-util
$(BUILD)/$(PROJECT).dfu: $(BUILD)/$(PROJECT).bin

View File

@ -39,7 +39,7 @@ INC += \
SRC_S += $(MCU_DIR)/gcc/startup_K32L2B31A.S
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = MKL25Z128xxx4

View File

@ -40,7 +40,7 @@ INC += \
SRC_S += $(MCU_DIR)/gcc/startup_MKL25Z4.S
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = MKL25Z128xxx4

View File

@ -57,7 +57,7 @@ INC += \
$(TOP)/$(GD32VF103_SDK_SOC)/Common/Include/Usb
# For freeRTOS port source
FREERTOS_PORT = RISC-V
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/RISC-V
# For flash-jlink target
JLINK_IF = jtag

View File

@ -59,5 +59,5 @@ INC += \
SRC_S += $(MCU_DIR)/gcc/startup_$(MCU_VARIANT).S
# For freeRTOS port source
FREERTOS_PORT = ARM_CM7/r0p1
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM7/r0p1

View File

@ -40,7 +40,7 @@ INC += \
SRC_S += $(MCU_DIR)/gcc/startup_K32L2B31A.S
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = MKL25Z128xxx4

View File

@ -36,4 +36,4 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3

View File

@ -34,4 +34,4 @@ INC += \
$(TOP)/$(MCU_DIR)/inc/config_18xx
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3

View File

@ -51,4 +51,4 @@ INC += \
SRC_S += $(MCU_DIR)/gcc/startup_$(MCU_CORE).S
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F

View File

@ -64,4 +64,4 @@ SRC_S += $(MCU_DIR)/gcc/startup_$(MCU_CORE).S
LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower_hardabi.a
# For freeRTOS port source
FREERTOS_PORT = ARM_CM33_NTZ/non_secure
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM33_NTZ/non_secure

View File

@ -36,7 +36,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = LPC11U37/401

View File

@ -32,7 +32,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = LPC11U68

View File

@ -36,7 +36,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# For flash-jlink target
JLINK_DEVICE = LPC1347

View File

@ -34,7 +34,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# For flash-jlink target
JLINK_DEVICE = LPC1769

View File

@ -43,7 +43,7 @@ SRC_S += $(MCU_DIR)/gcc/startup_LPC51U68.S
LIBS += $(TOP)/$(MCU_DIR)/gcc/libpower.a
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
JLINK_DEVICE = LPC51U68
PYOCD_TARGET = LPC51U68

View File

@ -34,7 +34,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# For flash-jlink target
JLINK_DEVICE = LPC1768

View File

@ -30,7 +30,7 @@ INC += \
$(TOP)/$(SDK_DIR)/mm32f327x/MM32F327x/HAL_Lib/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# flash target using on-board
flash: flash-jlink

View File

@ -34,7 +34,7 @@ INC += \
SRC_S += $(MCU_DIR)/Source/startup_msp432e411y_gcc.S
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = MSP432E401Y

View File

@ -37,7 +37,7 @@ INC += \
$(TOP)/$(MCU_DIR)/inc/config_43xx
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = LPC4330

View File

@ -42,7 +42,7 @@ SRC_S += hw/mcu/nordic/nrfx/mdk/gcc_startup_$(MCU_VARIANT).S
ASFLAGS += -D__HEAP_SIZE=0
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = $(MCU_VARIANT)_xxaa

View File

@ -32,7 +32,7 @@ INC += \
$(TOP)/hw/mcu/nuvoton/nuc121_125/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = NUC121SC2AE

View File

@ -28,7 +28,7 @@ INC += \
$(TOP)/hw/mcu/nuvoton/nuc121_125/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = NUC125SC2AE

View File

@ -34,7 +34,7 @@ INC += \
$(TOP)/hw/mcu/nuvoton/nuc126/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = NUC126VG4AE

View File

@ -30,7 +30,7 @@ INC += \
$(TOP)/hw/mcu/nuvoton/nuc100_120/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = NUC120LE3

View File

@ -39,7 +39,7 @@ INC += \
$(TOP)/hw/mcu/nuvoton/nuc505/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = NUC505YO13Y

View File

@ -11,7 +11,7 @@ MCU_DIR = hw/mcu/renesas/rx/rx63n
LD_FILE = $(BOARD_PATH)/r5f5631fd.ld
# For freeRTOS port source
FREERTOS_PORT = RX600
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/RX600
# For flash-jlink target
JLINK_DEVICE = R5F5631F

View File

@ -12,7 +12,7 @@ MCU_DIR = hw/mcu/renesas/rx/rx65n
LD_FILE = $(BOARD_PATH)/r5f565ne.ld
# For freeRTOS port source
FREERTOS_PORT = RX600
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/RX600
# For flash-jlink target
JLINK_DEVICE = R5F565NE

View File

@ -37,4 +37,4 @@ INC += \
$(TOP)/hw/mcu/microchip/samd11/CMSIS/Core/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0

View File

@ -37,7 +37,7 @@ INC += \
$(TOP)/hw/mcu/microchip/samd21/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# flash using bossac at least version 1.8
# can be found in arduino15/packages/arduino/tools/bossac/

View File

@ -38,7 +38,7 @@ INC += \
$(TOP)/hw/mcu/microchip/samd51/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# flash using bossac at least version 1.8
# can be found in arduino15/packages/arduino/tools/bossac/

View File

@ -38,7 +38,7 @@ INC += \
$(TOP)/hw/mcu/microchip/same54/CMSIS/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = ATSAME54P20

View File

@ -44,7 +44,7 @@ INC += \
$(TOP)/$(ASF_DIR)/CMSIS/Core/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM7
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM7
# For flash-jlink target
JLINK_DEVICE = SAME70N19B

View File

@ -44,7 +44,7 @@ INC += \
$(TOP)/$(ASF_DIR)/CMSIS/Core/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM7
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM7
# For flash-jlink target
JLINK_DEVICE = SAME70Q21B

View File

@ -42,7 +42,7 @@ INC += \
$(TOP)/$(ASF_DIR)/CMSIS/Core/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = ATSAMG55J19

View File

@ -39,7 +39,7 @@ INC += \
$(TOP)/lib/CMSIS_5/CMSIS/Core/Include
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# flash using bossac at least version 1.8
# can be found in arduino15/packages/arduino/tools/bossac/

View File

@ -35,7 +35,7 @@ INC += \
$(TOP)/hw/bsp/$(BOARD)
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# For flash-jlink target
JLINK_DEVICE = EFM32GG12B810F1024

View File

@ -37,4 +37,4 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0

View File

@ -35,7 +35,7 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# For flash-jlink target
JLINK_DEVICE = stm32f103c8

View File

@ -39,7 +39,7 @@ INC += \
$(TOP)/hw/bsp/$(BOARD)
# For freeRTOS port source
FREERTOS_PORT = ARM_CM3
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM3
# For flash-jlink target
JLINK_DEVICE = stm32f207zg

View File

@ -40,7 +40,7 @@ INC += \
$(TOP)/hw/bsp/$(BOARD)
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# For flash-jlink target
JLINK_DEVICE = stm32f303vc

View File

@ -37,7 +37,7 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# flash target using on-board stlink
flash: flash-stlink

View File

@ -51,4 +51,4 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM7/r0p1
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM7/r0p1

View File

@ -38,7 +38,7 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# flash target using on-board stlink
flash: flash-stlink

View File

@ -53,5 +53,5 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM7/r0p1
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM7/r0p1

View File

@ -41,7 +41,7 @@ INC += \
$(TOP)/hw/bsp/$(BOARD)
# For freeRTOS port source
FREERTOS_PORT = ARM_CM0
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM0
# For flash-jlink target
JLINK_DEVICE = STM32L053R8

View File

@ -39,7 +39,7 @@ INC += \
$(TOP)/$(BOARD_PATH)
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# flash target using on-board stlink
flash: flash-stlink

View File

@ -38,7 +38,7 @@ INC += \
$(TOP)/$(ST_HAL_DRIVER)/Inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F
# flash target using on-board stlink
flash: flash-stlink

View File

@ -33,4 +33,4 @@ SRC_C += \
$(MCU_DIR)/Source/GCC/tm4c123_startup.c
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F

View File

@ -37,4 +37,4 @@ INC += \
$(TOP)/$(MCU_DIR)/XMCLib/inc
# For freeRTOS port source
FREERTOS_PORT = ARM_CM4F
FREERTOS_PORT = $(FREERTOS_PORT_PATH)/ARM_CM4F