CMake: Add support for TARGET_MCUXpresso_MCUS targets

All TARGET_MCUXpresso_MCUS targets supported by Mbed OS
can now be built with CMake.
pull/13924/head
Hugues Kamba 2020-11-18 18:23:53 +00:00 committed by Martin Kojtal
parent ea6661caf3
commit cf23ba5388
10 changed files with 557 additions and 0 deletions

View File

@ -0,0 +1,43 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("IMX" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_IMX)
endif()
if("LPC" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_LPC)
endif()
if("LPC54114" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_LPC54114)
endif()
if("LPC55S69" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_LPC55S69)
endif()
if("MCU_LPC546XX" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_MCU_LPC546XX)
endif()
if("MIMXRT1050" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_MIMXRT1050)
endif()
if("USB" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(middleware/TARGET_USB)
endif()
target_include_directories(mbed-core
INTERFACE
.
middleware/osa
)
target_sources(mbed-core
INTERFACE
USBPhy_MCUXpresso.cpp
middleware/osa/fsl_os_abstraction_mbed.c
)

View File

@ -0,0 +1,27 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-core
INTERFACE
.
)
target_sources(mbed-core
INTERFACE
analogin_api.c
flash_api.c
gpio_api.c
gpio_irq_api.c
i2c_api.c
lp_ticker.c
pinmap.c
port_api.c
pwmout_api.c
rtc_api.c
serial_api.c
sleep.c
spi_api.c
trng_api.c
us_ticker.c
watchdog_api.c
)

View File

@ -0,0 +1,24 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-core
INTERFACE
.
)
target_sources(mbed-core
INTERFACE
analogin_api.c
gpio_api.c
gpio_irq_api.c
i2c_api.c
lp_analogin_api.c
pinmap.c
port_api.c
qspi_api.c
rtc_api.c
serial_api.c
sleep.c
spi_api.c
us_ticker.c
)

View File

@ -0,0 +1,86 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("LPCXpresso" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_LPCXpresso
)
target_sources(mbed-core
INTERFACE
TARGET_LPCXpresso/PeripheralPins.c
TARGET_LPCXpresso/clock_config.c
TARGET_LPCXpresso/mbed_overrides.c
)
endif()
if("LPC54114_M4" IN_LIST MBED_TARGET_LABELS)
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE device/TARGET_LPC54114_M4/TOOLCHAIN_ARM_STD/startup_LPC54114_cm4.S)
set(LINKER_FILE device/TARGET_LPC54114_M4/TOOLCHAIN_ARM_STD/LPC54114J256_cm4.sct)
set(LIB_POWER device/TARGET_LPC54114_M4/TOOLCHAIN_ARM_STD/libpower.ar)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE device/TARGET_LPC54114_M4/TOOLCHAIN_GCC_ARM/startup_LPC54114_cm4.S)
set(LINKER_FILE device/TARGET_LPC54114_M4/TOOLCHAIN_GCC_ARM/LPC54114J256_cm4_flash.ld)
set(LIB_POWER device/TARGET_LPC54114_M4/TOOLCHAIN_GCC_ARM/libpower.a)
endif()
target_link_libraries(mbed-core INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_POWER})
target_include_directories(mbed-core
INTERFACE
device/TARGET_LPC54114_M4
)
target_sources(mbed-core
INTERFACE
device/TARGET_LPC54114_M4/system_LPC54114_cm4.c
)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(mbed-core
INTERFACE
device
drivers
)
target_sources(mbed-core
INTERFACE
flash_api.c
drivers/fsl_adc.c
drivers/fsl_clock.c
drivers/fsl_common.c
drivers/fsl_crc.c
drivers/fsl_ctimer.c
drivers/fsl_dma.c
drivers/fsl_dmic.c
drivers/fsl_dmic_dma.c
drivers/fsl_flashiap.c
drivers/fsl_flexcomm.c
drivers/fsl_fmeas.c
drivers/fsl_gint.c
drivers/fsl_gpio.c
drivers/fsl_i2c.c
drivers/fsl_i2c_dma.c
drivers/fsl_i2s.c
drivers/fsl_i2s_dma.c
drivers/fsl_inputmux.c
drivers/fsl_mrt.c
drivers/fsl_pint.c
drivers/fsl_power.c
drivers/fsl_reset.c
drivers/fsl_rtc.c
drivers/fsl_sctimer.c
drivers/fsl_spi.c
drivers/fsl_spi_dma.c
drivers/fsl_usart.c
drivers/fsl_usart_dma.c
drivers/fsl_utick.c
drivers/fsl_wwdt.c
${STARTUP_FILE}
)

View File

@ -0,0 +1,100 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("HANI_IOT" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_HANI_IOT
)
target_sources(mbed-core
INTERFACE
TARGET_HANI_IOT/PeripheralPins.c
TARGET_HANI_IOT/clock_config.c
TARGET_HANI_IOT/mbed_overrides.c
)
elseif("LPCXpresso" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_LPCXpresso
)
target_sources(mbed-core
INTERFACE
TARGET_LPCXpresso/PeripheralPins.c
TARGET_LPCXpresso/clock_config.c
TARGET_LPCXpresso/mbed_overrides.c
)
endif()
if("M33_NS" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M33_NS)
elseif("M33_S" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M33_S)
endif()
target_include_directories(mbed-core
INTERFACE
device
drivers
partition
)
target_sources(mbed-core
INTERFACE
flash_api.c
device/system_LPC55S69_cm33_core0.c
drivers/fsl_anactrl.c
drivers/fsl_casper.c
drivers/fsl_clock.c
drivers/fsl_cmp.c
drivers/fsl_common.c
drivers/fsl_crc.c
drivers/fsl_ctimer.c
drivers/fsl_dma.c
drivers/fsl_flexcomm.c
drivers/fsl_gint.c
drivers/fsl_gpio.c
drivers/fsl_hashcrypt.c
drivers/fsl_i2c.c
drivers/fsl_i2c_dma.c
drivers/fsl_i2s.c
drivers/fsl_i2s_dma.c
drivers/fsl_iap.c
drivers/fsl_inputmux.c
drivers/fsl_lpadc.c
drivers/fsl_mrt.c
drivers/fsl_ostimer.c
drivers/fsl_pint.c
drivers/fsl_plu.c
drivers/fsl_power.c
drivers/fsl_powerquad_basic.c
drivers/fsl_powerquad_data.c
drivers/fsl_powerquad_filter.c
drivers/fsl_powerquad_math.c
drivers/fsl_powerquad_matrix.c
drivers/fsl_powerquad_transform.c
drivers/fsl_prince.c
drivers/fsl_puf.c
drivers/fsl_reset.c
drivers/fsl_rng.c
drivers/fsl_rtc.c
drivers/fsl_sctimer.c
drivers/fsl_sdif.c
drivers/fsl_spi.c
drivers/fsl_spi_dma.c
drivers/fsl_sysctl.c
drivers/fsl_usart.c
drivers/fsl_usart_dma.c
drivers/fsl_utick.c
drivers/fsl_wwdt.c
)
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LIB_POWER device/TOOLCHAIN_ARMC6/lib_power.ar)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LIB_POWER device/TOOLCHAIN_GCC_ARM/libpower.a)
endif()
target_link_libraries(mbed-core INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_POWER})

View File

@ -0,0 +1,22 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE device/TOOLCHAIN_ARMC6/startup_LPC55S69_cm33_core0.S)
set(LINKER_FILE device/TOOLCHAIN_ARMC6/LPC55S69_cm33_core0_flash.sct)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_LPC55S69_cm33_core0.S)
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/LPC55S69_cm33_core0_flash.ld)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(mbed-core
INTERFACE
device
)
target_sources(mbed-core
INTERFACE
${STARTUP_FILE}
)

View File

@ -0,0 +1,21 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE device/TOOLCHAIN_ARMC6/startup_LPC55S69_cm33_core0.S)
set(LINKER_FILE device/TOOLCHAIN_ARMC6/LPC55S69_cm33_core0_flash.sct)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_include_directories(mbed-core
INTERFACE
.
)
target_sources(mbed-core
INTERFACE
spm_hal.c
target_cfg.c
trng_api.c
)

View File

@ -0,0 +1,102 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("FF_LPC546XX" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_FF_LPC546XX
)
target_sources(mbed-core
INTERFACE
TARGET_FF_LPC546XX/PeripheralPins.c
TARGET_FF_LPC546XX/clock_config.c
TARGET_FF_LPC546XX/mbed_overrides.c
)
elseif("LPCXpresso" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_LPCXpresso
)
target_sources(mbed-core
INTERFACE
TARGET_LPCXpresso/PeripheralPins.c
TARGET_LPCXpresso/clock_config.c
TARGET_LPCXpresso/crc.c
TARGET_LPCXpresso/mbed_overrides.c
)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_LPC54628.S)
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/LPC54628J512.sct)
set(LIB_POWER device/TOOLCHAIN_ARMC6/lib_power.ar)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_LPC54628.S)
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/LPC54628J512.ld)
set(LIB_POWER device/TOOLCHAIN_GCC_ARM/libpower.a)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
target_link_libraries(mbed-core INTERFACE ${CMAKE_CURRENT_SOURCE_DIR}/${LIB_POWER})
target_include_directories(mbed-core
INTERFACE
device
drivers
)
target_sources(mbed-core
INTERFACE
flash_api.c
trng_api.c
device/system_LPC54628.c
drivers/fsl_adc.c
drivers/fsl_clock.c
drivers/fsl_common.c
drivers/fsl_crc.c
drivers/fsl_ctimer.c
drivers/fsl_dma.c
drivers/fsl_dmic.c
drivers/fsl_dmic_dma.c
drivers/fsl_eeprom.c
drivers/fsl_emc.c
drivers/fsl_enet.c
drivers/fsl_flashiap.c
drivers/fsl_flexcomm.c
drivers/fsl_fmc.c
drivers/fsl_fmeas.c
drivers/fsl_gint.c
drivers/fsl_gpio.c
drivers/fsl_i2c.c
drivers/fsl_i2c_dma.c
drivers/fsl_i2s.c
drivers/fsl_i2s_dma.c
drivers/fsl_inputmux.c
drivers/fsl_lcdc.c
drivers/fsl_mcan.c
drivers/fsl_mrt.c
drivers/fsl_phy.c
drivers/fsl_pint.c
drivers/fsl_power.c
drivers/fsl_reset.c
drivers/fsl_rit.c
drivers/fsl_rtc.c
drivers/fsl_sctimer.c
drivers/fsl_sdif.c
drivers/fsl_sha.c
drivers/fsl_spi.c
drivers/fsl_spi_dma.c
drivers/fsl_spifi.c
drivers/fsl_spifi_dma.c
drivers/fsl_usart.c
drivers/fsl_usart_dma.c
drivers/fsl_utick.c
drivers/fsl_wwdt.c
${STARTUP_FILE}
)

View File

@ -0,0 +1,113 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("EVK" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_EVK
TARGET_EVK/xip
)
target_sources(mbed-core
INTERFACE
TARGET_EVK/PeripheralPins.c
TARGET_EVK/fsl_clock_config.c
TARGET_EVK/fsl_phy.c
TARGET_EVK/lpm.c
TARGET_EVK/mbed_overrides.c
TARGET_EVK/specific.c
TARGET_EVK/xip/evkbimxrt1050_flexspi_nor_config.c
TARGET_EVK/xip/evkbimxrt1050_sdram_ini_dcd.c
)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MIMXRT1052.S)
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MIMXRT1052xxxxx.sct)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MIMXRT1052.S)
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MIMXRT1052xxxxx.ld)
endif()
target_include_directories(mbed-core
INTERFACE
.
device
drivers
)
target_sources(mbed-core
INTERFACE
usb_device_ch9.c
usb_device_class.c
device/system_MIMXRT1052.c
drivers/fsl_adc.c
drivers/fsl_adc_etc.c
drivers/fsl_aipstz.c
drivers/fsl_aoi.c
drivers/fsl_bee.c
drivers/fsl_cache.c
drivers/fsl_clock.c
drivers/fsl_cmp.c
drivers/fsl_common.c
drivers/fsl_csi.c
drivers/fsl_dcdc.c
drivers/fsl_dcp.c
drivers/fsl_dmamux.c
drivers/fsl_edma.c
drivers/fsl_elcdif.c
drivers/fsl_enc.c
drivers/fsl_enet.c
drivers/fsl_ewm.c
drivers/fsl_flexcan.c
drivers/fsl_flexio.c
drivers/fsl_flexio_camera.c
drivers/fsl_flexio_camera_edma.c
drivers/fsl_flexio_i2c_master.c
drivers/fsl_flexio_i2s.c
drivers/fsl_flexio_i2s_edma.c
drivers/fsl_flexio_mculcd.c
drivers/fsl_flexio_mculcd_edma.c
drivers/fsl_flexio_spi.c
drivers/fsl_flexio_spi_edma.c
drivers/fsl_flexio_uart.c
drivers/fsl_flexio_uart_edma.c
drivers/fsl_flexram.c
drivers/fsl_flexspi.c
drivers/fsl_flexspi_nor_boot.c
drivers/fsl_gpc.c
drivers/fsl_gpio.c
drivers/fsl_gpt.c
drivers/fsl_kpp.c
drivers/fsl_lpi2c.c
drivers/fsl_lpi2c_edma.c
drivers/fsl_lpspi.c
drivers/fsl_lpspi_edma.c
drivers/fsl_lpuart.c
drivers/fsl_lpuart_edma.c
drivers/fsl_ocotp.c
drivers/fsl_pit.c
drivers/fsl_pmu.c
drivers/fsl_pwm.c
drivers/fsl_pxp.c
drivers/fsl_qtmr.c
drivers/fsl_rtwdog.c
drivers/fsl_sai.c
drivers/fsl_sai_edma.c
drivers/fsl_semc.c
drivers/fsl_snvs_hp.c
drivers/fsl_snvs_lp.c
drivers/fsl_spdif.c
drivers/fsl_spdif_edma.c
drivers/fsl_src.c
drivers/fsl_tempmon.c
drivers/fsl_trng.c
drivers/fsl_tsc.c
drivers/fsl_usdhc.c
drivers/fsl_wdog.c
drivers/fsl_xbara.c
drivers/fsl_xbarb.c
)

View File

@ -0,0 +1,19 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-core
INTERFACE
device
include
phy
)
target_sources(mbed-core
INTERFACE
device/usb_device_dci.c
device/usb_device_ehci.c
device/usb_device_khci.c
device/usb_device_lpcip3511.c
phy/usb_phy.c
)