Skip to content
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
6 changes: 4 additions & 2 deletions targets/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
if("Freescale" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_Freescale)
elseif("NORDIC" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NORDIC)
add_subdirectory(TARGET_NORDIC)
elseif("STM" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_STM)
add_subdirectory(TARGET_STM)
elseif("NUVOTON" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NUVOTON)
endif()
31 changes: 31 additions & 0 deletions targets/TARGET_NUVOTON/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("M2351" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M2351)
elseif("M251" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M251)
elseif("M261" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M261)
elseif("M451" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M451)
elseif("M480" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M480)
elseif("NANO100" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NANO100)
elseif("NUC472" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NUC472)
endif()

target_include_directories(mbed-core
INTERFACE
.
)

target_sources(mbed-core
INTERFACE
nu_miscutil.c
nu_modutil.c
nu_timer.c
USBEndpoints_Nuvoton.cpp
)
90 changes: 90 additions & 0 deletions targets/TARGET_NUVOTON/TARGET_M2351/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("M23_NS" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M23_NS)
elseif("M23_S" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M23_S)
elseif("NU_PFM_M2351" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NU_PFM_M2351)
endif()

target_sources(mbed-core
INTERFACE
dma_api.c
flash_api.c
gpio_api.c
gpio_irq_api.c
gpio_object.h
hal_secure.h
i2c_api.c
lp_ticker.c
mbed_overrides.c
objects.h
PeripheralNames.h
PeripheralPins.c
PeripheralPins.h
pinmap.c
PinNamesCommon.h
PortNames.h
port_api.c
pwmout_api.c
rtc_api.c
serial_api.c
sleep.c
spi_api.c
trng_api.cpp
us_ticker.c
trng_api.cpp

crypto/crypto-misc.cpp

device/StdDriver/src/m2351_acmp.c
device/StdDriver/src/m2351_bpwm.c
device/StdDriver/src/m2351_can.c
device/StdDriver/src/m2351_clk.c
device/StdDriver/src/m2351_crc.c
device/StdDriver/src/m2351_crypto.c
device/StdDriver/src/m2351_dac.c
device/StdDriver/src/m2351_eadc.c
device/StdDriver/src/m2351_ebi.c
device/StdDriver/src/m2351_ecap.c
device/StdDriver/src/m2351_epwm.c
device/StdDriver/src/m2351_fmc.c
device/StdDriver/src/m2351_gpio.c
device/StdDriver/src/m2351_i2c.c
device/StdDriver/src/m2351_i2s.c
device/StdDriver/src/m2351_pdma.c
device/StdDriver/src/m2351_qei.c
device/StdDriver/src/m2351_qspi.c
device/StdDriver/src/m2351_rtc.c
device/StdDriver/src/m2351_sc.c
device/StdDriver/src/m2351_scuart.c
device/StdDriver/src/m2351_sdh.c
device/StdDriver/src/m2351_spi.c
device/StdDriver/src/m2351_sys.c
device/StdDriver/src/m2351_timer.c
device/StdDriver/src/m2351_timer_pwm.c
device/StdDriver/src/m2351_uart.c
device/StdDriver/src/m2351_usbd.c
device/StdDriver/src/m2351_usci_i2c.c
device/StdDriver/src/m2351_usci_spi.c
device/StdDriver/src/m2351_usci_uart.c
device/StdDriver/src/m2351_wdt.c
device/StdDriver/src/m2351_wwdt.c
device/stddriver_secure.c
device/stddriver_secure.h
device/system_core_M2351.h
device/system_M2351.c
device/system_M2351.h
device/startup_M2351.c
)

target_include_directories(mbed-core
INTERFACE
.
device
device/Reg
device/StdDriver/inc
crypto
)
17 changes: 17 additions & 0 deletions targets/TARGET_NUVOTON/TARGET_M2351/TARGET_M23_NS/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("NU_PFM_M2351_NPSA_NS" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NU_PFM_M2351_NPSA_NS)
elseif("NU_PFM_M2351_NS" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NU_PFM_M2351_NS)
elseif("TFM" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_TFM)
endif()

add_subdirectory(device)

target_sources(mbed-core
INTERFACE
wait_ns.c
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

target_sources(mbed-core
INTERFACE
tfm_ns_lock_rtx.c
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("TFM" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_TFM)
endif()

if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE TOOLCHAIN_GCC_ARM/M2351.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE TOOLCHAIN_ARMC6/M2351.sct)
endif()

set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

target_sources(mbed-core
INTERFACE
cmsis_nvic_virtual.c
)

target_include_directories(mbed-core
INTERFACE
.
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! armclang -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m23

/*
* Copyright (c) 2018-2019, Nuvoton Technology Corporation
Expand Down
14 changes: 14 additions & 0 deletions targets/TARGET_NUVOTON/TARGET_M2351/TARGET_M23_S/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("TFM" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_TFM)
endif()

if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/M2351.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/M2351.sct)
endif()

set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

target_sources(mbed-core
INTERFACE
target_cfg.cpp
spm_hal.c
)

target_include_directories(mbed-core
INTERFACE
.
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

target_include_directories(mbed-core
INTERFACE
.
)
75 changes: 75 additions & 0 deletions targets/TARGET_NUVOTON/TARGET_M251/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("NUMAKER_IOT_M252" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_NUMAKER_IOT_M252)
endif()

if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/M251.ld)
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/M251.sct)
endif()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also support IAR linker file, such like as ?

elseif(${MBED_TOOLCHAIN} STREQUAL "IAR")
    set(LINKER_FILE device/TOOLCHAIN_IAR/M251.icf)
endif()

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we do not support IAR with CMake , thus we do not port it neither. If IAR is supported, we will need to add targets support (will be done via separate PRs).


set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})

target_sources(mbed-core
INTERFACE
analogin_api.c
analogout_api.c
device/startup_M251.c
device/StdDriver/src/m251_acmp.c
device/StdDriver/src/m251_bpwm.c
device/StdDriver/src/m251_clk.c
device/StdDriver/src/m251_crc.c
device/StdDriver/src/m251_crypto.c
device/StdDriver/src/m251_dac.c
device/StdDriver/src/m251_eadc.c
device/StdDriver/src/m251_ebi.c
device/StdDriver/src/m251_fmc.c
device/StdDriver/src/m251_gpio.c
device/StdDriver/src/m251_i2c.c
device/StdDriver/src/m251_pdma.c
device/StdDriver/src/m251_pwm.c
device/StdDriver/src/m251_qspi.c
device/StdDriver/src/m251_rtc.c
device/StdDriver/src/m251_sc.c
device/StdDriver/src/m251_scuart.c
device/StdDriver/src/m251_spi.c
device/StdDriver/src/m251_sys.c
device/StdDriver/src/m251_timer.c
device/StdDriver/src/m251_timer_pwm.c
device/StdDriver/src/m251_uart.c
device/StdDriver/src/m251_usbd.c
device/StdDriver/src/m251_usci_i2c.c
device/StdDriver/src/m251_usci_spi.c
device/StdDriver/src/m251_usci_uart.c
device/StdDriver/src/m251_wdt.c
device/StdDriver/src/m251_wwdt.c
device/system_M251.c

dma_api.c
flash_api.c
gpio_api.c
gpio_irq_api.c
i2c_api.c
lp_ticker.c
mbed_overrides.c
PeripheralPins.c
pinmap.c
port_api.c
pwmout_api.c
rtc_api.c
serial_api.c
sleep.c
spi_api.c
us_ticker.c
)

target_include_directories(mbed-core
INTERFACE
.
device
device/Reg
device/StdDriver/inc
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

target_include_directories(mbed-core
INTERFACE
.
)
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#! armclang -E
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m23

/*
* Copyright (c) 2019, Nuvoton Technology Corporation
Expand Down
Loading