From 8ef0087314fb415297c0f804d6401a0cc2429c54 Mon Sep 17 00:00:00 2001 From: Hugues Kamba Date: Mon, 23 Nov 2020 15:45:50 +0000 Subject: [PATCH 1/3] CMake: Add support for Freescale KLXX targets All Freescale KLXX targets supported by Mbed OS can now be built with CMake. --- targets/TARGET_Freescale/CMakeLists.txt | 4 ++- .../TARGET_KLXX/CMakeLists.txt | 27 ++++++++++++++ .../TARGET_KLXX/TARGET_KL25Z/CMakeLists.txt | 34 ++++++++++++++++++ .../device/TOOLCHAIN_ARM_STD/MKL25Z4.sct | 2 +- .../TARGET_KLXX/TARGET_KL46Z/CMakeLists.txt | 35 +++++++++++++++++++ .../device/TOOLCHAIN_ARM_STD/MKL46Z4.sct | 2 +- 6 files changed, 101 insertions(+), 3 deletions(-) create mode 100644 targets/TARGET_Freescale/TARGET_KLXX/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/CMakeLists.txt diff --git a/targets/TARGET_Freescale/CMakeLists.txt b/targets/TARGET_Freescale/CMakeLists.txt index 4e1dc88754f..3eda673f02a 100644 --- a/targets/TARGET_Freescale/CMakeLists.txt +++ b/targets/TARGET_Freescale/CMakeLists.txt @@ -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() diff --git a/targets/TARGET_Freescale/TARGET_KLXX/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_KLXX/CMakeLists.txt new file mode 100644 index 00000000000..d9d9c30ae3e --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_KLXX/CMakeLists.txt @@ -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 +) diff --git a/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/CMakeLists.txt new file mode 100644 index 00000000000..e316fa161c6 --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/CMakeLists.txt @@ -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} +) diff --git a/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/device/TOOLCHAIN_ARM_STD/MKL25Z4.sct b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/device/TOOLCHAIN_ARM_STD/MKL25Z4.sct index 3a057a8426b..0789bfefbf7 100644 --- a/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/device/TOOLCHAIN_ARM_STD/MKL25Z4.sct +++ b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL25Z/device/TOOLCHAIN_ARM_STD/MKL25Z4.sct @@ -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) diff --git a/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/CMakeLists.txt new file mode 100644 index 00000000000..c617d1ddae9 --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/CMakeLists.txt @@ -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} +) diff --git a/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/device/TOOLCHAIN_ARM_STD/MKL46Z4.sct b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/device/TOOLCHAIN_ARM_STD/MKL46Z4.sct index b0e1a750130..45dd786a86d 100644 --- a/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/device/TOOLCHAIN_ARM_STD/MKL46Z4.sct +++ b/targets/TARGET_Freescale/TARGET_KLXX/TARGET_KL46Z/device/TOOLCHAIN_ARM_STD/MKL46Z4.sct @@ -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) From 43fb5148325ea74409112dc731cf40ba77f5e250 Mon Sep 17 00:00:00 2001 From: Hugues Kamba Date: Mon, 23 Nov 2020 17:00:23 +0000 Subject: [PATCH 2/3] CMake: Add support for Freescale MCUXpresso_MCUS targets All Freescale MCUXpresso_MCUS targets supported by Mbed OS can now be built with CMake. --- .../TARGET_MCUXpresso_MCUS/CMakeLists.txt | 24 +++- .../TARGET_K66F/CMakeLists.txt | 32 +++++- .../TARGET_K66F/TARGET_FRDM/CMakeLists.txt | 16 --- .../TARGET_K66F/device/CMakeLists.txt | 37 ------ .../TARGET_K82F/CMakeLists.txt | 107 ++++++++++++++++++ .../TOOLCHAIN_ARM_STD/MK82FN256xxx15.sct | 2 +- .../TARGET_KL43Z/CMakeLists.txt | 87 ++++++++++++++ .../TOOLCHAIN_ARM_STD/MKL43Z256xxx4.sct | 2 +- .../TARGET_KW41Z/CMakeLists.txt | 81 +++++++++++++ .../TOOLCHAIN_ARM_STD/MKW41Z512xxx4.sct | 2 +- .../TARGET_MCU_K22F/CMakeLists.txt | 94 +++++++++++++++ .../TOOLCHAIN_ARM_STD/MK22FN512xxx12.sct | 2 +- .../TARGET_FRAMEWORK_5_3_3/CMakeLists.txt | 32 ++++++ 13 files changed, 454 insertions(+), 64 deletions(-) delete mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/TARGET_FRDM/CMakeLists.txt delete mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/device/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/CMakeLists.txt create mode 100644 targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/middleware/wireless/TARGET_FRAMEWORK_5_3_3/CMakeLists.txt diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/CMakeLists.txt index 03bd8fb97da..73b4a2809de 100644 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/CMakeLists.txt +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/CMakeLists.txt @@ -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 -) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/CMakeLists.txt index 1f8c973ff0e..cb61314893a 100644 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/CMakeLists.txt +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/CMakeLists.txt @@ -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} ) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/TARGET_FRDM/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/TARGET_FRDM/CMakeLists.txt deleted file mode 100644 index 8e0df173d1e..00000000000 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/TARGET_FRDM/CMakeLists.txt +++ /dev/null @@ -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 -) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/device/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/device/CMakeLists.txt deleted file mode 100644 index e457ca52aee..00000000000 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K66F/device/CMakeLists.txt +++ /dev/null @@ -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 -) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/CMakeLists.txt new file mode 100644 index 00000000000..93081e09193 --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/CMakeLists.txt @@ -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} +) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/device/TOOLCHAIN_ARM_STD/MK82FN256xxx15.sct b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/device/TOOLCHAIN_ARM_STD/MK82FN256xxx15.sct index fb2c4d618d0..0e9fba38284 100644 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/device/TOOLCHAIN_ARM_STD/MK82FN256xxx15.sct +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_K82F/device/TOOLCHAIN_ARM_STD/MK82FN256xxx15.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4 /* ** ################################################################### ** Processors: MK82FN256CAx15 diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/CMakeLists.txt new file mode 100644 index 00000000000..384ff7b064e --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/CMakeLists.txt @@ -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} +) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/device/TOOLCHAIN_ARM_STD/MKL43Z256xxx4.sct b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/device/TOOLCHAIN_ARM_STD/MKL43Z256xxx4.sct index d138c15c874..ed42f929cc0 100644 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/device/TOOLCHAIN_ARM_STD/MKL43Z256xxx4.sct +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KL43Z/device/TOOLCHAIN_ARM_STD/MKL43Z256xxx4.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus /* ** ################################################################### ** Processors: MKL43Z256VLH4 diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/CMakeLists.txt new file mode 100644 index 00000000000..cdb298d37fb --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/CMakeLists.txt @@ -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} +) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/device/TOOLCHAIN_ARM_STD/MKW41Z512xxx4.sct b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/device/TOOLCHAIN_ARM_STD/MKW41Z512xxx4.sct index 410086d79ef..6e3f5f4d90b 100644 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/device/TOOLCHAIN_ARM_STD/MKW41Z512xxx4.sct +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_KW41Z/device/TOOLCHAIN_ARM_STD/MKW41Z512xxx4.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus /* ** ################################################################### ** Processor: MKW41Z512VHT4 diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/CMakeLists.txt new file mode 100644 index 00000000000..30b01923916 --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/CMakeLists.txt @@ -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} +) diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/TARGET_MCU_K22F512/device/TOOLCHAIN_ARM_STD/MK22FN512xxx12.sct b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/TARGET_MCU_K22F512/device/TOOLCHAIN_ARM_STD/MK22FN512xxx12.sct index 65ba8ed91ab..8200dc0bda9 100644 --- a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/TARGET_MCU_K22F512/device/TOOLCHAIN_ARM_STD/MK22FN512xxx12.sct +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/TARGET_MCU_K22F/TARGET_MCU_K22F512/device/TOOLCHAIN_ARM_STD/MK22FN512xxx12.sct @@ -1,4 +1,4 @@ -#! armcc -E +#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4 /* ** ################################################################### ** Processors: MK22FN512CAP12 diff --git a/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/middleware/wireless/TARGET_FRAMEWORK_5_3_3/CMakeLists.txt b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/middleware/wireless/TARGET_FRAMEWORK_5_3_3/CMakeLists.txt new file mode 100644 index 00000000000..f725fc51b82 --- /dev/null +++ b/targets/TARGET_Freescale/TARGET_MCUXpresso_MCUS/middleware/wireless/TARGET_FRAMEWORK_5_3_3/CMakeLists.txt @@ -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 +) From be84b8cb0f8529a11bc5cee4ac42eb436c3918f0 Mon Sep 17 00:00:00 2001 From: Hugues Kamba Date: Mon, 23 Nov 2020 18:32:06 +0000 Subject: [PATCH 3/3] CMake: Add Freescale in the list of supported targets --- tools/cmake/README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/cmake/README.md b/tools/cmake/README.md index aa49fb21e72..6728b667bde 100644 --- a/tools/cmake/README.md +++ b/tools/cmake/README.md @@ -19,12 +19,12 @@ The full profile with the selected printf and C libraries. Only a limited set of targets is supported at the moment. The following targets are supported: -- all STM32 targets -- K64F +- K64F - K66F - NRF52840_DK -- WIO_3G - ARM FM targets +- Freescale targets +- STM targets ### Supported toolchains @@ -32,7 +32,7 @@ Arm Compiler 6 and GNU Arm Embedded toolchains are supported. ### Examples -Supported examples can be identified by the presence of a top level `CMakelists.txt` input source file. +Supported examples can be identified by the presence of a top level `CMakeLists.txt` input source file. ### Known issues