141 lines
4.2 KiB
CMake
141 lines
4.2 KiB
CMake
set(COMPONENT_NAME "freertos")
|
|
|
|
if(${CHIP} MATCHES "ws63")
|
|
set(DEVICE_CORE "ws63")
|
|
set(LOCAL_ARCH "RISCV31")
|
|
else()
|
|
set(DEVICE_CORE "brandy")
|
|
set(LOCAL_ARCH "RISC-V")
|
|
endif()
|
|
message(STATUS "FreeRTOS: DEVICE_CORE is ${DEVICE_CORE}")
|
|
|
|
set(KERNEL_DIR_PATH ${ROOT_DIR}/open_source/FreeRTOS-Kernel)
|
|
set(FREERTOSTOPDIR "${ROOT_DIR}/kernel/freertos")
|
|
|
|
set(SOURCES
|
|
${KERNEL_DIR_PATH}/list.c
|
|
${KERNEL_DIR_PATH}/event_groups.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/hwi.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/print.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}/port.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}/portASM.S
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}/pmp.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}/cache.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/board/${DEVICE_CORE}/os_adapt.c
|
|
)
|
|
|
|
if("FREERTOS_DEBUG" IN_LIST DEFINES)
|
|
list (APPEND SOURCES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/debug/src/queue_debug.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/debug/src/task_debug.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/debug/src/swtmr_debug.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/debug/src/sysinfo_debug.c
|
|
)
|
|
else()
|
|
list (APPEND SOURCES
|
|
${KERNEL_DIR_PATH}/queue.c
|
|
${KERNEL_DIR_PATH}/tasks.c
|
|
${KERNEL_DIR_PATH}/timers.c
|
|
)
|
|
endif()
|
|
|
|
if(${CHIP} MATCHES "ws63")
|
|
list (APPEND SOURCES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/drivers/timer/riscv_linx131_timer.c
|
|
)
|
|
elseif(${CHIP} MATCHES "brandy")
|
|
list (APPEND SOURCES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/drivers/timer/riscv_linx170_timer.c
|
|
)
|
|
else()
|
|
list (APPEND SOURCES
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/drivers/timer/arm_sp804_timer.c
|
|
)
|
|
endif()
|
|
|
|
set(PUBLIC_HEADER
|
|
${KERNEL_DIR_PATH}
|
|
${KERNEL_DIR_PATH}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/board/${DEVICE_CORE}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/board/${DEVICE_CORE}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/board/${DEVICE_CORE}/include/soc
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/drivers/timer
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Targets/drivers/timer/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}/include
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Arch/${LOCAL_ARCH}/chip_specific_extensions/RV32I_LINX_PLIC
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/include
|
|
|
|
${FREERTOSTOPDIR}/include/cmsis #cmsis_os2.h
|
|
${FREERTOSTOPDIR}/include/cmsis/Core/Include #cmsis_compiler.h
|
|
${FREERTOSTOPDIR}/include/utils/securec
|
|
|
|
${CMAKE_CURRENT_SOURCE_DIR}/Kernel/debug/include
|
|
)
|
|
|
|
if("FREERTOS_TEST" IN_LIST DEFINES)
|
|
list (APPEND SOURCES
|
|
${FREERTOSTOPDIR}/Test/main_full.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/BlockQ.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/semtest.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/PollQ.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/integer.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/GenQTest.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/QPeek.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/countsem.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/dynamic.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/QueueOverwrite.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/EventGroupsDemo.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/IntSemTest.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/StaticAllocation.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/TimerDemo.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/death.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/blocktim.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/flop.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/TaskNotify.c
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/Minimal/recmutex.c
|
|
)
|
|
list(APPEND PUBLIC_HEADER
|
|
${FREERTOSTOPDIR}/Test
|
|
${FREERTOSTOPDIR}/Test/Demo/Common/include
|
|
)
|
|
endif()
|
|
|
|
if(${ARCH} MATCHES "riscv70")
|
|
set(FREERTOS_DEFINES ARCH_LINX_170)
|
|
endif()
|
|
|
|
set(PRIVATE_HEADER
|
|
${KERNEL_DIR_PATH}
|
|
${KERNEL_DIR_PATH}/include
|
|
)
|
|
|
|
set(PRIVATE_DEFINES
|
|
${FREERTOS_DEFINES}
|
|
)
|
|
|
|
set(PUBLIC_DEFINES
|
|
)
|
|
|
|
# use this when you want to add ccflags like -include xxx
|
|
set(COMPONENT_PUBLIC_CCFLAGS
|
|
)
|
|
|
|
set(COMPONENT_CCFLAGS
|
|
-Wno-sign-compare
|
|
-Wno-unused-parameter
|
|
-Wno-unused-function
|
|
-Wno-implicit-function-declaration
|
|
)
|
|
|
|
set(WHOLE_LINK
|
|
true
|
|
)
|
|
|
|
set(MAIN_COMPONENT
|
|
false
|
|
)
|
|
|
|
build_component()
|