CMake: Add support for K64F target

pull/13566/head
Hugues Kamba 2020-07-20 18:12:23 +01:00
parent a08be8c8a0
commit 70d92298b8
7 changed files with 161 additions and 1 deletions

6
targets/CMakeLists.txt Normal file
View File

@ -0,0 +1,6 @@
# SPDX-License-Identifier: Apache-2.0
# Add target directories by appending the prefix below to the labels defined
# by MBED_OS_TARGET_LABELS in ../cmake/target.cmake
mbed_add_cmake_directory_if_labels("TARGET")

View File

@ -0,0 +1,14 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_include_directories(mbed-os
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)
target_sources(mbed-os
PRIVATE
USBPhy_Kinetis.cpp
)
mbed_add_cmake_directory_if_labels("TARGET")

View File

@ -0,0 +1,28 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-os
PRIVATE
fsl_common.c
api/analogin_api.c
api/analogout_api.c
api/dma_api.c
api/flash_api.c
api/gpio_api.c
api/gpio_irq_api.c
api/i2c_api.c
api/lp_ticker.c
api/pinmap.c
api/port_api.c
api/qspi_api.c
api/rtc_api.c
api/sleep.c
)
target_include_directories(mbed-os
PUBLIC
api
)
mbed_add_cmake_directory_if_labels("TARGET")

View File

@ -0,0 +1,61 @@
# SPDX-License-Identifier: Apache-2.0
add_subdirectory(device)
mbed_add_cmake_directory_if_labels("TARGET")
target_sources(mbed-os
PRIVATE
mbed_crc_api.c
pwmout_api.c
reset_reason.c
serial_api.c
spi_api.c
trng_api.c
us_ticker.c
watchdog_api.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_enet.c
drivers/fsl_ewm.c
drivers/fsl_flash.c
drivers/fsl_flexbus.c
drivers/fsl_flexcan.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_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_sdhc.c
drivers/fsl_sim.c
drivers/fsl_smc.c
drivers/fsl_sysmpu.c
drivers/fsl_uart.c
drivers/fsl_uart_edma.c
drivers/fsl_vref.c
drivers/fsl_wdog.c
)
target_include_directories(mbed-os
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
drivers
)

View File

@ -0,0 +1,15 @@
# SPDX-License-Identifier: Apache-2.0
target_sources(mbed-os
PRIVATE
crc.c
fsl_clock_config.c
fsl_phy.c
mbed_overrides.c
PeripheralPins.c
)
target_include_directories(mbed-os
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)

View File

@ -0,0 +1,36 @@
# SPDX-License-Identifier: Apache-2.0
function(_mbed_get_assembly_k64f)
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(STARTUP_FILE TOOLCHAIN_GCC_ARM/startup_MK64F12.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(STARTUP_FILE TOOLCHAIN_ARM_STD/startup_MK64F12.S)
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
set(STARTUP_FILE TOOLCHAIN_IAR/startup_MK64F12.S)
endif()
target_sources(mbed-os PRIVATE ${STARTUP_FILE})
endfunction()
function(_mbed_set_linker_file)
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TOOLCHAIN_GCC_ARM/MK64FN1M0xxx12.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TOOLCHAIN_ARM_STD/MK64FN1M0xxx12.sct)
elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
set(LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/TOOLCHAIN_IAR/MK64FN1M0xxx12.icf)
endif()
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${LINKER_FILE})
endfunction()
_mbed_get_assembly_k64f()
_mbed_set_linker_file()
target_sources(mbed-os
PRIVATE
system_MK64F12.c
)
target_include_directories(mbed-os
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
)

View File

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