mirror of https://github.com/ARMmbed/mbed-os.git
CMake: Break down RTX CMake source file into 2 source files
parent
ef11e06cfb
commit
06f4e1bc8b
|
|
@ -18,7 +18,7 @@ if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
|||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
||||
target_sources(mbed-os
|
||||
PRIVATE
|
||||
TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c
|
||||
TOOLCHAIN_ARM_STD/mbed_boot_arm_std.c
|
||||
)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
|
||||
target_sources(mbed-os
|
||||
|
|
|
|||
|
|
@ -1,76 +1,15 @@
|
|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
function(_mbed_get_rtx_assembly TOOLCHAIN_DIR)
|
||||
get_property(target_labels GLOBAL PROPERTY MBED_TARGET_LABELS)
|
||||
foreach(key ${target_labels})
|
||||
if(${key} STREQUAL CORTEX_A)
|
||||
set(STARTUP_RTX_FILE TARGET_CORTEX_A/irq_ca.S)
|
||||
elseif(${key} STREQUAL M0)
|
||||
set(STARTUP_RTX_FILE TARGET_M0/irq_cm0.S)
|
||||
elseif(${key} STREQUAL M0P)
|
||||
set(STARTUP_RTX_FILE TARGET_M0P/irq_cm0.S)
|
||||
elseif(${key} STREQUAL M23)
|
||||
set(STARTUP_RTX_FILE TARGET_M23/irq_armv8mbl.S)
|
||||
elseif(${key} STREQUAL M3)
|
||||
set(STARTUP_RTX_FILE TARGET_M3/irq_cm3.S)
|
||||
elseif(${key} STREQUAL M33)
|
||||
set(STARTUP_RTX_FILE TARGET_M33/irq_armv8mbl.S)
|
||||
elseif(${key} STREQUAL RTOS_M4_M7)
|
||||
set(STARTUP_RTX_FILE TARGET_RTOS_M4_M7/irq_cm4f.S)
|
||||
endif()
|
||||
target_sources(mbed-os PRIVATE RTX/Source/${TOOLCHAIN_DIR}/${STARTUP_RTX_FILE})
|
||||
endforeach()
|
||||
endfunction()
|
||||
add_subdirectory(RTX)
|
||||
|
||||
function(_mbed_add_cortexa_handler_if)
|
||||
get_property(target_labels GLOBAL PROPERTY MBED_TARGET_LABELS)
|
||||
foreach(key ${target_labels})
|
||||
if(${key} STREQUAL CORTEX_A)
|
||||
target_sources(mbed-os PRIVATE RTX/Config/TARGET_CORTEX_A/handlers.c)
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
target_include_directories(mbed-os
|
||||
PUBLIC
|
||||
Include
|
||||
)
|
||||
|
||||
target_sources(mbed-os PRIVATE Include/cmsis_os2.h)
|
||||
target_sources(mbed-os PRIVATE Include/os_tick.h)
|
||||
|
||||
# Add Cortex A handlers if needed
|
||||
_mbed_add_cortexa_handler_if()
|
||||
|
||||
target_sources(mbed-os PRIVATE RTX/Config/RTX_Config.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Config/RTX_Config.h)
|
||||
target_sources(mbed-os PRIVATE RTX/Include/rtx_evr.h)
|
||||
target_sources(mbed-os PRIVATE RTX/Include/rtx_os.h)
|
||||
|
||||
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
||||
_mbed_get_rtx_assembly(TOOLCHAIN_GCC)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
||||
_mbed_get_rtx_assembly(TOOLCHAIN_ARM)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
|
||||
_mbed_get_rtx_assembly(TOOLCHAIN_IAR)
|
||||
endif()
|
||||
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_core_ca.h)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_core_cm.h)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_delay.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_evflags.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_evr.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_kernel.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_lib.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_lib.h)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_memory.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_mempool.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_msgqueue.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_mutex.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_semaphore.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_system.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_thread.c)
|
||||
target_sources(mbed-os PRIVATE RTX/Source/rtx_timer.c)
|
||||
|
||||
target_sources(mbed-os PRIVATE Source/os_systick.c)
|
||||
target_sources(mbed-os PRIVATE Source/os_tick_ptim.c)
|
||||
|
||||
target_include_directories(mbed-os PUBLIC Include)
|
||||
target_include_directories(mbed-os PUBLIC RTX/Include)
|
||||
target_include_directories(mbed-os PUBLIC RTX/Source)
|
||||
target_include_directories(mbed-os PUBLIC RTX/Config)
|
||||
target_sources(mbed-os
|
||||
PRIVATE
|
||||
Source/os_systick.c
|
||||
Source/os_tick_ptim.c
|
||||
)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,74 @@
|
|||
# Copyright (c) 2020 ARM Limited. All rights reserved.
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
|
||||
function(_mbed_get_rtx_assembly toolchain_dir)
|
||||
get_property(target_labels GLOBAL PROPERTY MBED_TARGET_LABELS)
|
||||
foreach(key ${target_labels})
|
||||
if(${key} STREQUAL CORTEX_A)
|
||||
set(STARTUP_RTX_FILE TARGET_CORTEX_A/irq_ca.S)
|
||||
elseif(${key} STREQUAL M0)
|
||||
set(STARTUP_RTX_FILE TARGET_M0/irq_cm0.S)
|
||||
elseif(${key} STREQUAL M0P)
|
||||
set(STARTUP_RTX_FILE TARGET_M0P/irq_cm0.S)
|
||||
elseif(${key} STREQUAL M23)
|
||||
set(STARTUP_RTX_FILE TARGET_M23/irq_armv8mbl.S)
|
||||
elseif(${key} STREQUAL M3)
|
||||
set(STARTUP_RTX_FILE TARGET_M3/irq_cm3.S)
|
||||
elseif(${key} STREQUAL M33)
|
||||
set(STARTUP_RTX_FILE TARGET_M33/irq_armv8mbl.S)
|
||||
elseif(${key} STREQUAL RTOS_M4_M7)
|
||||
set(STARTUP_RTX_FILE TARGET_RTOS_M4_M7/irq_cm4f.S)
|
||||
endif()
|
||||
|
||||
target_sources(mbed-os
|
||||
PRIVATE
|
||||
Source/${toolchain_dir}/${STARTUP_RTX_FILE}
|
||||
)
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
function(_mbed_add_cortexa_handler_if)
|
||||
get_property(target_labels GLOBAL PROPERTY MBED_TARGET_LABELS)
|
||||
foreach(key ${target_labels})
|
||||
if(${key} STREQUAL CORTEX_A)
|
||||
target_sources(mbed-os PRIVATE Config/TARGET_CORTEX_A/handlers.c)
|
||||
endif()
|
||||
endforeach()
|
||||
endfunction()
|
||||
|
||||
# Add Cortex A handlers if needed
|
||||
_mbed_add_cortexa_handler_if()
|
||||
|
||||
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
|
||||
_mbed_get_rtx_assembly(TOOLCHAIN_GCC)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
|
||||
_mbed_get_rtx_assembly(TOOLCHAIN_ARM)
|
||||
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
|
||||
_mbed_get_rtx_assembly(TOOLCHAIN_IAR)
|
||||
endif()
|
||||
|
||||
target_include_directories(mbed-os
|
||||
PUBLIC
|
||||
Config
|
||||
Include
|
||||
Source
|
||||
)
|
||||
|
||||
target_sources(mbed-os
|
||||
PRIVATE
|
||||
Config/RTX_Config.c
|
||||
|
||||
Source/rtx_delay.c
|
||||
Source/rtx_evflags.c
|
||||
Source/rtx_evr.c
|
||||
Source/rtx_kernel.c
|
||||
Source/rtx_lib.c
|
||||
Source/rtx_memory.c
|
||||
Source/rtx_mempool.c
|
||||
Source/rtx_msgqueue.c
|
||||
Source/rtx_mutex.c
|
||||
Source/rtx_semaphore.c
|
||||
Source/rtx_system.c
|
||||
Source/rtx_thread.c
|
||||
Source/rtx_timer.c
|
||||
)
|
||||
Loading…
Reference in New Issue