Skip to content

CMake: Add support for all Freescale Mbed targets #13952

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Dec 1, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion targets/TARGET_Freescale/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("MCUXpresso_MCUS" IN_LIST MBED_TARGET_LABELS)
if("KLXX" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_KLXX)
elseif("MCUXpresso_MCUS" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_MCUXpresso_MCUS)
endif()

Expand Down
27 changes: 27 additions & 0 deletions targets/TARGET_Freescale/TARGET_KLXX/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("KL25Z" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_KL25Z)
elseif("KL46Z" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_KL46Z)
endif()

target_include_directories(mbed-core
INTERFACE
.
)

target_sources(mbed-core
INTERFACE
analogin_api.c
analogout_api.c
gpio_api.c
i2c_api.c
pinmap.c
port_api.c
pwmout_api.c
rtc_api.c
sleep.c
us_ticker.c
)
34 changes: 34 additions & 0 deletions targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MKL25Z4.sct)
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MKL25Z4.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MKL25Z4.ld)
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MKL25Z4.S)
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
PeripheralPins.c
gpio_irq_api.c
mbed_overrides.c
serial_api.c
spi_api.c

device/system_MKL25Z4.c
${STARTUP_FILE}
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus

#if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE)
# if defined(MBED_BOOT_STACK_SIZE)
Expand Down
35 changes: 35 additions & 0 deletions targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/MKL46Z4.sct)
set(STARTUP_FILE device/TOOLCHAIN_ARM_STD/startup_MKL46Z4.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/MKL46Z4.ld)
set(STARTUP_FILE device/TOOLCHAIN_GCC_ARM/startup_MKL46Z4.S)
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
PeripheralPins.c
flash_api.c
gpio_irq_api.c
mbed_overrides.c
serial_api.c
spi_api.c

device/system_MKL46Z4.c
${STARTUP_FILE}
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus

#if !defined(MBED_CONF_TARGET_BOOT_STACK_SIZE)
# if defined(MBED_BOOT_STACK_SIZE)
Expand Down
24 changes: 19 additions & 5 deletions targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -25,8 +44,3 @@ target_sources(mbed-core
api/rtc_api.c
api/sleep.c
)

target_include_directories(mbed-core
INTERFACE
api
)
Original file line number Diff line number Diff line change
Expand Up @@ -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
)

Expand Down Expand Up @@ -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}
)

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -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}
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! armcc -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4
/*
** ###################################################################
** Processors: MK82FN256CAx15
Expand Down
Loading