Skip to content

Commit

Permalink
Merge pull request #13952 from hugueskamba/hk_cmake_freescale_support
Browse files Browse the repository at this point in the history
CMake: Add support for all Freescale Mbed targets
  • Loading branch information
0xc0170 authored Dec 1, 2020
2 parents 3fa8897 + be84b8c commit e77b1d8
Show file tree
Hide file tree
Showing 20 changed files with 559 additions and 71 deletions.
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

0 comments on commit e77b1d8

Please sign in to comment.