CMake: Add support for Freescale MCUXpresso_MCUS targets

All Freescale MCUXpresso_MCUS targets supported by Mbed OS
can now be built with CMake.
pull/13952/head
Hugues Kamba 2020-11-23 17:00:23 +00:00
parent 8ef0087314
commit 43fb514832
13 changed files with 454 additions and 64 deletions

View File

@ -3,10 +3,29 @@
if("K66F" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_K66F)
elseif("K82F" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_K82F)
elseif("KL27Z" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_KL27Z)
elseif("KL43Z" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_KL43Z)
elseif("KW41Z" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_KW41Z)
elseif("MCU_K22F" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_MCU_K22F)
elseif("MCU_K64F" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_MCU_K64F)
endif()
if("FRAMEWORK_5_3_3" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(middleware/wireless/TARGET_FRAMEWORK_5_3_3)
endif()
target_include_directories(mbed-core
INTERFACE
api
)
target_sources(mbed-core
INTERFACE
fsl_common.c
@ -25,8 +44,3 @@ target_sources(mbed-core
api/rtc_api.c
api/sleep.c
)
target_include_directories(mbed-core
INTERFACE
api
)

View File

@ -2,14 +2,39 @@
# SPDX-License-Identifier: Apache-2.0
if("FRDM" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_FRDM)
target_include_directories(mbed-core
INTERFACE
TARGET_FRDM
)
target_sources(mbed-core
INTERFACE
TARGET_FRDM/PeripheralPins.c
TARGET_FRDM/crc.c
TARGET_FRDM/fsl_clock_config.c
TARGET_FRDM/fsl_phy.c
TARGET_FRDM/mbed_overrides.c
)
endif()
add_subdirectory(device)
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MK66FN2M0xxx18.sct)
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MK66F18.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MK66FN2M0xxx18.ld)
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MK66F18.S)
endif()
set_property(
GLOBAL PROPERTY
MBED_TARGET_LINKER_FILE
${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
device
drivers
)
@ -64,4 +89,7 @@ target_sources(mbed-core
drivers/fsl_uart_edma.c
drivers/fsl_vref.c
drivers/fsl_wdog.c
device/system_MK66F18.c
${STARTUP_FILE}
)

View File

@ -1,16 +0,0 @@
# 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
PeripheralPins.c
crc.c
fsl_clock_config.c
fsl_phy.c
mbed_overrides.c
)

View File

@ -1,37 +0,0 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
function(_mbed_get_assembly_mk66f18)
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_MK66F18.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM_STD/startup_MK66F18.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
set(STARTUP_FILE TOOLCHAIN_IAR/startup_MK66F18.S)
endif()
target_sources(mbed-core INTERFACE ${STARTUP_FILE})
endfunction()
function(_mbed_set_mk66f18_linker_file)
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TOOLCHAIN_GCC_ARM/MK66FN2M0xxx18.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TOOLCHAIN_ARM_STD/MK66FN2M0xxx18.sct)
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
set(LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TOOLCHAIN_IAR/MK66FN2M0xxx18.icf)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${LINKER_FILE})
endfunction()
_mbed_get_assembly_mk66f18()
_mbed_set_mk66f18_linker_file()
target_include_directories(mbed-core
INTERFACE
.
)
target_sources(mbed-core
INTERFACE
system_MK66F18.c
)

View File

@ -0,0 +1,107 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("FRDM" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_FRDM
)
target_sources(mbed-core
INTERFACE
TARGET_FRDM/PeripheralPins.c
TARGET_FRDM/fsl_clock_config.c
TARGET_FRDM/mbed_overrides.c
)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MK82FN256xxx15.sct)
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MK82F25615.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MK82FN256xxx15.ld)
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MK82F25615.S)
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
pwmout_api.c
serial_api.c
spi_api.c
trng_api.c
us_ticker.c
drivers/fsl_adc16.c
drivers/fsl_clock.c
drivers/fsl_cmp.c
drivers/fsl_cmt.c
drivers/fsl_crc.c
drivers/fsl_dac.c
drivers/fsl_dmamux.c
drivers/fsl_dspi.c
drivers/fsl_dspi_edma.c
drivers/fsl_edma.c
drivers/fsl_ewm.c
drivers/fsl_flash.c
drivers/fsl_flexbus.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_spi.c
drivers/fsl_flexio_spi_edma.c
drivers/fsl_flexio_uart.c
drivers/fsl_flexio_uart_edma.c
drivers/fsl_ftm.c
drivers/fsl_gpio.c
drivers/fsl_i2c.c
drivers/fsl_i2c_edma.c
drivers/fsl_llwu.c
drivers/fsl_lmem_cache.c
drivers/fsl_lptmr.c
drivers/fsl_lpuart.c
drivers/fsl_lpuart_edma.c
drivers/fsl_ltc.c
drivers/fsl_ltc_edma.c
drivers/fsl_mpu.c
drivers/fsl_pdb.c
drivers/fsl_pit.c
drivers/fsl_pmc.c
drivers/fsl_qspi.c
drivers/fsl_qspi_edma.c
drivers/fsl_rcm.c
drivers/fsl_rtc.c
drivers/fsl_sai.c
drivers/fsl_sai_edma.c
drivers/fsl_sdhc.c
drivers/fsl_sdramc.c
drivers/fsl_sim.c
drivers/fsl_smartcard_emvsim.c
drivers/fsl_smartcard_phy_emvsim.c
drivers/fsl_smartcard_phy_ncn8025.c
drivers/fsl_smartcard_phy_tda8035.c
drivers/fsl_smc.c
drivers/fsl_tpm.c
drivers/fsl_trng.c
drivers/fsl_tsi_v4.c
drivers/fsl_vref.c
drivers/fsl_wdog.c
device/system_MK82F25615.c
${STARTUP_FILE}
)

View File

@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4
/*
** ###################################################################
** Processors: MK82FN256CAx15

View File

@ -0,0 +1,87 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("FRDM" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_FRDM
)
target_sources(mbed-core
INTERFACE
TARGET_FRDM/PeripheralPins.c
TARGET_FRDM/fsl_clock_config.c
TARGET_FRDM/mbed_overrides.c
)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MKL43Z256xxx4.sct)
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MKL43Z4.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MKL43Z256xxx4.ld)
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MKL43Z4.S)
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
pwmout_api.c
serial_api.c
spi_api.c
us_ticker.c
drivers/fsl_adc16.c
drivers/fsl_clock.c
drivers/fsl_cmp.c
drivers/fsl_cop.c
drivers/fsl_dac.c
drivers/fsl_dma.c
drivers/fsl_dmamux.c
drivers/fsl_flash.c
drivers/fsl_flexio.c
drivers/fsl_flexio_i2c_master.c
drivers/fsl_flexio_i2s.c
drivers/fsl_flexio_i2s_dma.c
drivers/fsl_flexio_spi.c
drivers/fsl_flexio_spi_dma.c
drivers/fsl_flexio_uart.c
drivers/fsl_flexio_uart_dma.c
drivers/fsl_gpio.c
drivers/fsl_i2c.c
drivers/fsl_i2c_dma.c
drivers/fsl_llwu.c
drivers/fsl_lptmr.c
drivers/fsl_lpuart.c
drivers/fsl_lpuart_dma.c
drivers/fsl_pit.c
drivers/fsl_pmc.c
drivers/fsl_rcm.c
drivers/fsl_rtc.c
drivers/fsl_sai.c
drivers/fsl_sai_dma.c
drivers/fsl_sim.c
drivers/fsl_slcd.c
drivers/fsl_smc.c
drivers/fsl_spi.c
drivers/fsl_spi_dma.c
drivers/fsl_tpm.c
drivers/fsl_uart.c
drivers/fsl_uart_dma.c
drivers/fsl_vref.c
device/system_MKL43Z4.c
${STARTUP_FILE}
)

View File

@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus
/*
** ###################################################################
** Processors: MKL43Z256VLH4

View File

@ -0,0 +1,81 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("FRDM" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_FRDM
)
target_sources(mbed-core
INTERFACE
TARGET_FRDM/PeripheralPins.c
TARGET_FRDM/fsl_clock_config.c
TARGET_FRDM/mbed_overrides.c
)
endif()
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MKW41Z512xxx4.sct)
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MKW41Z4.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MKW41Z512xxx4.ld)
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MKW41Z4.S)
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
pwmout_api.c
serial_api.c
spi_api.c
trng_api.c
us_ticker.c
drivers/fsl_adc16.c
drivers/fsl_clock.c
drivers/fsl_cmp.c
drivers/fsl_cmt.c
drivers/fsl_cop.c
drivers/fsl_dac.c
drivers/fsl_dcdc.c
drivers/fsl_dmamux.c
drivers/fsl_dspi.c
drivers/fsl_dspi_edma.c
drivers/fsl_edma.c
drivers/fsl_flash.c
drivers/fsl_gpio.c
drivers/fsl_i2c.c
drivers/fsl_i2c_edma.c
drivers/fsl_llwu.c
drivers/fsl_lptmr.c
drivers/fsl_lpuart.c
drivers/fsl_lpuart_edma.c
drivers/fsl_ltc.c
drivers/fsl_ltc_edma.c
drivers/fsl_pit.c
drivers/fsl_pmc.c
drivers/fsl_rcm.c
drivers/fsl_rtc.c
drivers/fsl_sim.c
drivers/fsl_smc.c
drivers/fsl_tpm.c
drivers/fsl_trng.c
drivers/fsl_tsi_v4.c
drivers/fsl_vref.c
device/system_MKW41Z4.c
${STARTUP_FILE}
)

View File

@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus
/*
** ###################################################################
** Processor: MKW41Z512VHT4

View File

@ -0,0 +1,94 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
if("MCU_K22F512" IN_LIST MBED_TARGET_LABELS)
if("FRDM" IN_LIST MBED_TARGET_LABELS)
target_include_directories(mbed-core
INTERFACE
TARGET_MCU_K22F512/TARGET_FRDM
)
target_sources(mbed-core
INTERFACE
TARGET_MCU_K22F512/TARGET_FRDM/PeripheralPins.c
TARGET_MCU_K22F512/TARGET_FRDM/fsl_clock_config.c
TARGET_MCU_K22F512/TARGET_FRDM/mbed_overrides.c
)
endif()
target_include_directories(mbed-core
INTERFACE
TARGET_MCU_K22F512/device
)
target_sources(mbed-core
INTERFACE
TARGET_MCU_K22F512/device/system_MK22F51212.c
)
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE TARGET_MCU_K22F512/device/TOOLCHAIN_ARM_STD/MK22FN512xxx12.sct)
set(STARTUP_FILE TARGET_MCU_K22F512/device/TOOLCHAIN_ARM_STD/startup_MK22F51212.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE TARGET_MCU_K22F512/device/TOOLCHAIN_GCC_ARM/MK22FN512xxx12.ld)
set(STARTUP_FILE TARGET_MCU_K22F512/device/TOOLCHAIN_GCC_ARM/startup_MK22F51212.S)
endif()
endif()
set_property(
GLOBAL PROPERTY
MBED_TARGET_LINKER_FILE
${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE}
)
target_include_directories(mbed-core
INTERFACE
.
drivers
)
target_sources(mbed-core
INTERFACE
pwmout_api.c
serial_api.c
spi_api.c
trng_api.c
us_ticker.c
drivers/fsl_adc16.c
drivers/fsl_clock.c
drivers/fsl_cmp.c
drivers/fsl_crc.c
drivers/fsl_dac.c
drivers/fsl_dmamux.c
drivers/fsl_dspi.c
drivers/fsl_dspi_edma.c
drivers/fsl_edma.c
drivers/fsl_ewm.c
drivers/fsl_flash.c
drivers/fsl_flexbus.c
drivers/fsl_ftm.c
drivers/fsl_gpio.c
drivers/fsl_i2c.c
drivers/fsl_i2c_edma.c
drivers/fsl_llwu.c
drivers/fsl_lptmr.c
drivers/fsl_lpuart.c
drivers/fsl_lpuart_edma.c
drivers/fsl_pdb.c
drivers/fsl_pit.c
drivers/fsl_pmc.c
drivers/fsl_rcm.c
drivers/fsl_rnga.c
drivers/fsl_rtc.c
drivers/fsl_sai.c
drivers/fsl_sai_edma.c
drivers/fsl_sim.c
drivers/fsl_smc.c
drivers/fsl_uart.c
drivers/fsl_uart_edma.c
drivers/fsl_vref.c
drivers/fsl_wdog.c
${STARTUP_FILE}
)

View File

@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4
/*
** ###################################################################
** Processors: MK22FN512CAP12

View File

@ -0,0 +1,32 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-core
INTERFACE
Common
OSAbstraction/Interface
XCVR/MKW41Z4
)
target_sources(mbed-core
INTERFACE
OSAbstraction/Source/fsl_os_abstraction_mbed.c
XCVR/MKW41Z4/dbg_ram_capture.c
XCVR/MKW41Z4/fsl_xcvr.c
XCVR/MKW41Z4/fsl_xcvr_trim.c
XCVR/MKW41Z4/ifr_radio.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_ant_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_ble_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_common_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_gfsk_bt_0p3_h_0p5_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_gfsk_bt_0p5_h_0p32_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_gfsk_bt_0p5_h_0p5_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_gfsk_bt_0p5_h_0p7_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_gfsk_bt_0p5_h_1p0_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_gfsk_bt_0p7_h_0p5_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_mode_datarate_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_msk_config.c
XCVR/MKW41Z4/cfgs_kw4x_3x_2x/fsl_xcvr_zgbe_config.c
)