Skip to content

Commit 0ac5033

Browse files
committed
CMake: Add support for Arm's MPS2 targets
1 parent 470cc1a commit 0ac5033

File tree

6 files changed

+117
-5
lines changed
  • targets/TARGET_ARM_SSG/TARGET_MPS2

6 files changed

+117
-5
lines changed
Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
# Copyright (c) 2020 ARM Limited. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if("MPS2_M0" IN_LIST MBED_TARGET_LABELS)
5+
target_include_directories(mbed-core
6+
INTERFACE
7+
TARGET_MPS2_M0/device
8+
)
9+
10+
target_sources(mbed-core
11+
INTERFACE
12+
TARGET_MPS2_M0/device/cmsis_nvic.c
13+
)
14+
15+
set(SYSTEM_FILE TARGET_MPS2_M0/device/system_CMSDK_CM0.c)
16+
17+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
18+
set(LINKER_FILE TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/MPS2.sct)
19+
set(STARTUP_FILE TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
20+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
21+
set(LINKER_FILE TARGET_MPS2_M0/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
22+
set(STARTUP_FILE TARGET_MPS2_M0/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
23+
endif()
24+
elseif("MPS2_M0P" IN_LIST MBED_TARGET_LABELS)
25+
target_include_directories(mbed-core
26+
INTERFACE
27+
TARGET_MPS2_M0P/device
28+
)
29+
30+
set(SYSTEM_FILE TARGET_MPS2_M0P/device/system_CMSDK_CM0plus.c)
31+
32+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
33+
set(LINKER_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/MPS2.sct)
34+
set(STARTUP_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
35+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
36+
set(LINKER_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
37+
set(STARTUP_FILE TARGET_MPS2_M0P/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
38+
endif()
39+
elseif("MPS2_M3" IN_LIST MBED_TARGET_LABELS)
40+
target_include_directories(mbed-core
41+
INTERFACE
42+
TARGET_MPS2_M3/device
43+
)
44+
45+
set(SYSTEM_FILE TARGET_MPS2_M3/device/system_CMSDK_CM3.c)
46+
47+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
48+
set(LINKER_FILE TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/MPS2.sct)
49+
set(STARTUP_FILE TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
50+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
51+
set(LINKER_FILE TARGET_MPS2_M3/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
52+
set(STARTUP_FILE TARGET_MPS2_M3/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
53+
endif()
54+
elseif("MPS2_M4" IN_LIST MBED_TARGET_LABELS)
55+
target_include_directories(mbed-core
56+
INTERFACE
57+
TARGET_MPS2_M4/device
58+
)
59+
60+
set(SYSTEM_FILE TARGET_MPS2_M4/device/system_CMSDK_CM4.c)
61+
62+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
63+
set(LINKER_FILE TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/MPS2.sct)
64+
set(STARTUP_FILE TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/startup_MPS2.S)
65+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
66+
set(LINKER_FILE TARGET_MPS2_M4/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
67+
set(STARTUP_FILE TARGET_MPS2_M4/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
68+
endif()
69+
elseif("MPS2_M7" IN_LIST MBED_TARGET_LABELS)
70+
target_include_directories(mbed-core
71+
INTERFACE
72+
TARGET_MPS2_M7/device
73+
)
74+
75+
set(SYSTEM_FILE TARGET_MPS2_M7/device/system_CMSDK_CM7.c)
76+
77+
if(${MBED_TOOLCHAIN} STREQUAL "ARM")
78+
set(LINKER_FILE TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/MPS2.sct)
79+
set(STARTUP_FILE TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/startup_CMSDK_CM7.S)
80+
elseif(${MBED_TOOLCHAIN} STREQUAL "GCC_ARM")
81+
set(LINKER_FILE TARGET_MPS2_M7/device/TOOLCHAIN_GCC_ARM/MPS2.ld)
82+
set(STARTUP_FILE TARGET_MPS2_M7/device/TOOLCHAIN_GCC_ARM/startup_MPS2.S)
83+
endif()
84+
endif()
85+
86+
set_property(GLOBAL PROPERTY MBED_TARGET_LINKER_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${LINKER_FILE})
87+
88+
target_include_directories(mbed-core
89+
INTERFACE
90+
.
91+
SDK
92+
)
93+
94+
target_sources(mbed-core
95+
INTERFACE
96+
analogin_api.c
97+
gpio_api.c
98+
gpio_irq_api.c
99+
i2c_api.c
100+
pinmap.c
101+
port_api.c
102+
serial_api.c
103+
spi_api.c
104+
us_ticker.c
105+
106+
SDK/ETH_MPS2.c
107+
SDK/fpga.c
108+
SDK/mps2_ethernet_api.c
109+
110+
${SYSTEM_FILE}
111+
${STARTUP_FILE}
112+
)

targets/TARGET_ARM_SSG/TARGET_MPS2/TARGET_MPS2_M0/device/TOOLCHAIN_ARM_STD/MPS2.sct

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armcc -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0
22
;* MPS2 CMSIS Library
33
;*
44
;* Copyright (c) 2006-2019 Arm Limited

targets/TARGET_ARM_SSG/TARGET_MPS2/TARGET_MPS2_M0P/device/TOOLCHAIN_ARM_STD/MPS2.sct

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armcc -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m0plus
22
;* MPS2 CMSIS Library
33
;*
44
;* Copyright (c) 2006-2019 Arm Limited

targets/TARGET_ARM_SSG/TARGET_MPS2/TARGET_MPS2_M3/device/TOOLCHAIN_ARM_STD/MPS2.sct

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armcc -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m3
22
;* MPS2 CMSIS Library
33
;*
44
;* Copyright (c) 2006-2019 Arm Limited

targets/TARGET_ARM_SSG/TARGET_MPS2/TARGET_MPS2_M4/device/TOOLCHAIN_ARM_STD/MPS2.sct

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armcc -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m4
22

33
;* MPS2 CMSIS Library
44
;*

targets/TARGET_ARM_SSG/TARGET_MPS2/TARGET_MPS2_M7/device/TOOLCHAIN_ARM_STD/MPS2.sct

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
#! armcc -E
1+
#! armclang -E --target=arm-arm-none-eabi -x c -mcpu=cortex-m7
22

33
;* MPS2 CMSIS Library
44
;*

0 commit comments

Comments
 (0)