Skip to content

Commit 28eeee2

Browse files
authored
Merge pull request #13922 from 0xc0170/cmake-nuvoton
CMake: add nuvoton targets
2 parents 1d0e9b1 + 0efffa3 commit 28eeee2

File tree

27 files changed

+718
-9
lines changed

27 files changed

+718
-9
lines changed

targets/CMakeLists.txt

+4-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@ if("ARM_FM" IN_LIST MBED_TARGET_LABELS)
66
elseif("Freescale" IN_LIST MBED_TARGET_LABELS)
77
add_subdirectory(TARGET_Freescale)
88
elseif("NORDIC" IN_LIST MBED_TARGET_LABELS)
9-
add_subdirectory(TARGET_NORDIC)
9+
add_subdirectory(TARGET_NORDIC)
1010
elseif("STM" IN_LIST MBED_TARGET_LABELS)
11-
add_subdirectory(TARGET_STM)
11+
add_subdirectory(TARGET_STM)
12+
elseif("NUVOTON" IN_LIST MBED_TARGET_LABELS)
13+
add_subdirectory(TARGET_NUVOTON)
1214
endif()

targets/TARGET_NUVOTON/CMakeLists.txt

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("M2351" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_M2351)
6+
elseif("M251" IN_LIST MBED_TARGET_LABELS)
7+
add_subdirectory(TARGET_M251)
8+
elseif("M261" IN_LIST MBED_TARGET_LABELS)
9+
add_subdirectory(TARGET_M261)
10+
elseif("M451" IN_LIST MBED_TARGET_LABELS)
11+
add_subdirectory(TARGET_M451)
12+
elseif("M480" IN_LIST MBED_TARGET_LABELS)
13+
add_subdirectory(TARGET_M480)
14+
elseif("NANO100" IN_LIST MBED_TARGET_LABELS)
15+
add_subdirectory(TARGET_NANO100)
16+
elseif("NUC472" IN_LIST MBED_TARGET_LABELS)
17+
add_subdirectory(TARGET_NUC472)
18+
endif()
19+
20+
target_include_directories(mbed-core
21+
INTERFACE
22+
.
23+
)
24+
25+
target_sources(mbed-core
26+
INTERFACE
27+
nu_miscutil.c
28+
nu_modutil.c
29+
nu_timer.c
30+
USBEndpoints_Nuvoton.cpp
31+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("M23_NS" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_M23_NS)
6+
elseif("M23_S" IN_LIST MBED_TARGET_LABELS)
7+
add_subdirectory(TARGET_M23_S)
8+
elseif("NU_PFM_M2351" IN_LIST MBED_TARGET_LABELS)
9+
add_subdirectory(TARGET_NU_PFM_M2351)
10+
endif()
11+
12+
target_sources(mbed-core
13+
INTERFACE
14+
dma_api.c
15+
flash_api.c
16+
gpio_api.c
17+
gpio_irq_api.c
18+
gpio_object.h
19+
hal_secure.h
20+
i2c_api.c
21+
lp_ticker.c
22+
mbed_overrides.c
23+
objects.h
24+
PeripheralNames.h
25+
PeripheralPins.c
26+
PeripheralPins.h
27+
pinmap.c
28+
PinNamesCommon.h
29+
PortNames.h
30+
port_api.c
31+
pwmout_api.c
32+
rtc_api.c
33+
serial_api.c
34+
sleep.c
35+
spi_api.c
36+
trng_api.cpp
37+
us_ticker.c
38+
trng_api.cpp
39+
40+
crypto/crypto-misc.cpp
41+
42+
device/StdDriver/src/m2351_acmp.c
43+
device/StdDriver/src/m2351_bpwm.c
44+
device/StdDriver/src/m2351_can.c
45+
device/StdDriver/src/m2351_clk.c
46+
device/StdDriver/src/m2351_crc.c
47+
device/StdDriver/src/m2351_crypto.c
48+
device/StdDriver/src/m2351_dac.c
49+
device/StdDriver/src/m2351_eadc.c
50+
device/StdDriver/src/m2351_ebi.c
51+
device/StdDriver/src/m2351_ecap.c
52+
device/StdDriver/src/m2351_epwm.c
53+
device/StdDriver/src/m2351_fmc.c
54+
device/StdDriver/src/m2351_gpio.c
55+
device/StdDriver/src/m2351_i2c.c
56+
device/StdDriver/src/m2351_i2s.c
57+
device/StdDriver/src/m2351_pdma.c
58+
device/StdDriver/src/m2351_qei.c
59+
device/StdDriver/src/m2351_qspi.c
60+
device/StdDriver/src/m2351_rtc.c
61+
device/StdDriver/src/m2351_sc.c
62+
device/StdDriver/src/m2351_scuart.c
63+
device/StdDriver/src/m2351_sdh.c
64+
device/StdDriver/src/m2351_spi.c
65+
device/StdDriver/src/m2351_sys.c
66+
device/StdDriver/src/m2351_timer.c
67+
device/StdDriver/src/m2351_timer_pwm.c
68+
device/StdDriver/src/m2351_uart.c
69+
device/StdDriver/src/m2351_usbd.c
70+
device/StdDriver/src/m2351_usci_i2c.c
71+
device/StdDriver/src/m2351_usci_spi.c
72+
device/StdDriver/src/m2351_usci_uart.c
73+
device/StdDriver/src/m2351_wdt.c
74+
device/StdDriver/src/m2351_wwdt.c
75+
device/stddriver_secure.c
76+
device/stddriver_secure.h
77+
device/system_core_M2351.h
78+
device/system_M2351.c
79+
device/system_M2351.h
80+
device/startup_M2351.c
81+
)
82+
83+
target_include_directories(mbed-core
84+
INTERFACE
85+
.
86+
device
87+
device/Reg
88+
device/StdDriver/inc
89+
crypto
90+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("NU_PFM_M2351_NPSA_NS" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_NU_PFM_M2351_NPSA_NS)
6+
elseif("NU_PFM_M2351_NS" IN_LIST MBED_TARGET_LABELS)
7+
add_subdirectory(TARGET_NU_PFM_M2351_NS)
8+
elseif("TFM" IN_LIST MBED_TARGET_LABELS)
9+
add_subdirectory(TARGET_TFM)
10+
endif()
11+
12+
add_subdirectory(device)
13+
14+
target_sources(mbed-core
15+
INTERFACE
16+
wait_ns.c
17+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
target_sources(mbed-core
5+
INTERFACE
6+
tfm_ns_lock_rtx.c
7+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("TFM" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_TFM)
6+
endif()
7+
8+
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
9+
set(LINKER_FILE TOOLCHAIN_GCC_ARM/M2351.ld)
10+
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
11+
set(LINKER_FILE TOOLCHAIN_ARMC6/M2351.sct)
12+
endif()
13+
14+
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
target_sources(mbed-core
5+
INTERFACE
6+
cmsis_nvic_virtual.c
7+
)
8+
9+
target_include_directories(mbed-core
10+
INTERFACE
11+
.
12+
)

targets/TARGET_NUVOTON/TARGET_M2351/TARGET_M23_NS/device/TOOLCHAIN_ARMC6/M2351.sct

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armclang -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m23
22

33
/*
44
* Copyright (c) 2018-2019, Nuvoton Technology Corporation
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("TFM" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_TFM)
6+
endif()
7+
8+
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
9+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/M2351.ld)
10+
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
11+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/M2351.sct)
12+
endif()
13+
14+
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
target_sources(mbed-core
5+
INTERFACE
6+
target_cfg.cpp
7+
spm_hal.c
8+
)
9+
10+
target_include_directories(mbed-core
11+
INTERFACE
12+
.
13+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
target_include_directories(mbed-core
5+
INTERFACE
6+
.
7+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("NUMAKER_IOT_M252" IN_LIST MBED_TARGET_LABELS)
5+
add_subdirectory(TARGET_NUMAKER_IOT_M252)
6+
endif()
7+
8+
if(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
9+
set(LINKER_FILE device/TOOLCHAIN_GCC_ARM/M251.ld)
10+
elseif(${MBED_TOOLCHAIN} STREQUAL "ARM")
11+
set(LINKER_FILE device/TOOLCHAIN_ARM_STD/M251.sct)
12+
endif()
13+
14+
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
15+
16+
target_sources(mbed-core
17+
INTERFACE
18+
analogin_api.c
19+
analogout_api.c
20+
device/startup_M251.c
21+
device/StdDriver/src/m251_acmp.c
22+
device/StdDriver/src/m251_bpwm.c
23+
device/StdDriver/src/m251_clk.c
24+
device/StdDriver/src/m251_crc.c
25+
device/StdDriver/src/m251_crypto.c
26+
device/StdDriver/src/m251_dac.c
27+
device/StdDriver/src/m251_eadc.c
28+
device/StdDriver/src/m251_ebi.c
29+
device/StdDriver/src/m251_fmc.c
30+
device/StdDriver/src/m251_gpio.c
31+
device/StdDriver/src/m251_i2c.c
32+
device/StdDriver/src/m251_pdma.c
33+
device/StdDriver/src/m251_pwm.c
34+
device/StdDriver/src/m251_qspi.c
35+
device/StdDriver/src/m251_rtc.c
36+
device/StdDriver/src/m251_sc.c
37+
device/StdDriver/src/m251_scuart.c
38+
device/StdDriver/src/m251_spi.c
39+
device/StdDriver/src/m251_sys.c
40+
device/StdDriver/src/m251_timer.c
41+
device/StdDriver/src/m251_timer_pwm.c
42+
device/StdDriver/src/m251_uart.c
43+
device/StdDriver/src/m251_usbd.c
44+
device/StdDriver/src/m251_usci_i2c.c
45+
device/StdDriver/src/m251_usci_spi.c
46+
device/StdDriver/src/m251_usci_uart.c
47+
device/StdDriver/src/m251_wdt.c
48+
device/StdDriver/src/m251_wwdt.c
49+
device/system_M251.c
50+
51+
dma_api.c
52+
flash_api.c
53+
gpio_api.c
54+
gpio_irq_api.c
55+
i2c_api.c
56+
lp_ticker.c
57+
mbed_overrides.c
58+
PeripheralPins.c
59+
pinmap.c
60+
port_api.c
61+
pwmout_api.c
62+
rtc_api.c
63+
serial_api.c
64+
sleep.c
65+
spi_api.c
66+
us_ticker.c
67+
)
68+
69+
target_include_directories(mbed-core
70+
INTERFACE
71+
.
72+
device
73+
device/Reg
74+
device/StdDriver/inc
75+
)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
target_include_directories(mbed-core
5+
INTERFACE
6+
.
7+
)

targets/TARGET_NUVOTON/TARGET_M251/device/TOOLCHAIN_ARMC6/M251.sct

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armclang -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m23
22

33
/*
44
* Copyright (c) 2019, Nuvoton Technology Corporation

0 commit comments

Comments
 (0)