From 5c118967bb032ad2394d6e3bd079732082ea9b50 Mon Sep 17 00:00:00 2001 From: trns1997 Date: Fri, 9 Feb 2024 23:03:10 +0100 Subject: [PATCH] build xmc4800-relax using CMake --- arch/arm/src/xmc4/CMakeLists.txt | 54 +++++++++++++++++++ boards/arm/xmc4/xmc4800-relax/CMakeLists.txt | 21 ++++++++ .../arm/xmc4/xmc4800-relax/src/CMakeLists.txt | 43 +++++++++++++++ 3 files changed, 118 insertions(+) create mode 100644 arch/arm/src/xmc4/CMakeLists.txt create mode 100644 boards/arm/xmc4/xmc4800-relax/CMakeLists.txt create mode 100644 boards/arm/xmc4/xmc4800-relax/src/CMakeLists.txt diff --git a/arch/arm/src/xmc4/CMakeLists.txt b/arch/arm/src/xmc4/CMakeLists.txt new file mode 100644 index 0000000000..bdeaa80357 --- /dev/null +++ b/arch/arm/src/xmc4/CMakeLists.txt @@ -0,0 +1,54 @@ +# ############################################################################## +# arch/arm/src/xmc4/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS) + +list( + APPEND + SRCS + xmc4_allocateheap.c + xmc4_clockconfig.c + xmc4_clockutils.c + xmc4_clrpend.c + xmc4_gpio.c + xmc4_irq.c + xmc4_lowputc.c + xmc4_serial.c + xmc4_start.c + xmc4_usic.c + xmc4_timerisr.c) + +if(CONFIG_BUILD_PROTECTED) + list(APPEND SRCS xmc4_userspace.c xmc4_mpuinit.c) +endif() + +if(CONFIG_ECAT) + list(APPEND SRCS xmc4_ecat.c) +endif() + +if(NOT CONFIG_ARCH_IDLE_CUSTOM) + list(APPEND SRCS xmc4_idle.c) +endif() + +if(CONFIG_XMC4_USCI_SPI) + list(APPEND SRCS xmc4_spi.c) +endif() + +target_sources(arch PRIVATE ${SRCS}) diff --git a/boards/arm/xmc4/xmc4800-relax/CMakeLists.txt b/boards/arm/xmc4/xmc4800-relax/CMakeLists.txt new file mode 100644 index 0000000000..0822bfc333 --- /dev/null +++ b/boards/arm/xmc4/xmc4800-relax/CMakeLists.txt @@ -0,0 +1,21 @@ +# ############################################################################## +# boards/arm/xmc4/xmc4800-relax/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +add_subdirectory(src) diff --git a/boards/arm/xmc4/xmc4800-relax/src/CMakeLists.txt b/boards/arm/xmc4/xmc4800-relax/src/CMakeLists.txt new file mode 100644 index 0000000000..4ebcac1c1b --- /dev/null +++ b/boards/arm/xmc4/xmc4800-relax/src/CMakeLists.txt @@ -0,0 +1,43 @@ +# ############################################################################## +# boards/arm/xmc4/xmc4800/src/CMakeLists.txt +# +# Licensed to the Apache Software Foundation (ASF) under one or more contributor +# license agreements. See the NOTICE file distributed with this work for +# additional information regarding copyright ownership. The ASF licenses this +# file to you under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. +# +# ############################################################################## + +set(SRCS xmc4_boot.c xmc4_bringup.c) + +if(CONFIG_INPUT_BUTTONS) + list(APPEND SRCS xmc4_buttons.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS xmc4_autoleds.c) +else() + list(APPEND SRCS xmc4_userleds.c) +endif() + +if(CONFIG_XMC4_USCI_SPI) + list(APPEND SRCS xmc4_spi.c) +endif() + +if(CONFIG_BOARDCTL) + list(APPEND SRCS xmc4_appinit.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/flash.ld")