From 634ee5b1f66fa40be856ab42b5949e9ae60cf7ea Mon Sep 17 00:00:00 2001 From: Yanfeng Liu Date: Fri, 23 Aug 2024 13:45:49 +0800 Subject: [PATCH] board/maix-bit: add cmake support This adds initial CMake support for `maix-bit` device. Signed-off-by: Yanfeng Liu --- arch/risc-v/src/k210/CMakeLists.txt | 31 +++++++++++++++ boards/risc-v/k210/maix-bit/CMakeLists.txt | 21 ++++++++++ .../risc-v/k210/maix-bit/src/CMakeLists.txt | 39 +++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 arch/risc-v/src/k210/CMakeLists.txt create mode 100644 boards/risc-v/k210/maix-bit/CMakeLists.txt create mode 100644 boards/risc-v/k210/maix-bit/src/CMakeLists.txt diff --git a/arch/risc-v/src/k210/CMakeLists.txt b/arch/risc-v/src/k210/CMakeLists.txt new file mode 100644 index 0000000000..434c4f9fc5 --- /dev/null +++ b/arch/risc-v/src/k210/CMakeLists.txt @@ -0,0 +1,31 @@ +# ############################################################################## +# arch/risc-v/src/k210/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 k210_head.S k210_start.c k210_irq.c k210_irq_dispatch.c) + +list(APPEND SRCS k210_timerisr.c k210_allocateheap.c k210_clockconfig.c) + +list(APPEND SRCS k210_lowputc.c k210_serial.c k210_fpioa.c k210_gpiohs.c) + +if(CONFIG_BUILD_PROTECTED) + list(APPEND SRCS k210_userspace.c) +endif() + +target_sources(arch PRIVATE ${SRCS}) diff --git a/boards/risc-v/k210/maix-bit/CMakeLists.txt b/boards/risc-v/k210/maix-bit/CMakeLists.txt new file mode 100644 index 0000000000..676e73f245 --- /dev/null +++ b/boards/risc-v/k210/maix-bit/CMakeLists.txt @@ -0,0 +1,21 @@ +# ############################################################################## +# boards/risc-v/k210/maix-bit/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/risc-v/k210/maix-bit/src/CMakeLists.txt b/boards/risc-v/k210/maix-bit/src/CMakeLists.txt new file mode 100644 index 0000000000..6c08ad4124 --- /dev/null +++ b/boards/risc-v/k210/maix-bit/src/CMakeLists.txt @@ -0,0 +1,39 @@ +# ############################################################################## +# boards/risc-v/k230/canmv230/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 k210_bringup.c k210_boot.c) + +if(CONFIG_BOARDCTL) + list(APPEND SRCS k210_appinit.c) +endif() + +if(CONFIG_ARCH_LEDS) + list(APPEND SRCS k210_leds.c) +endif() + +if(CONFIG_DEV_GPIO) + list(APPEND SRCS k210_gpio.c) +endif() + +target_sources(board PRIVATE ${SRCS}) + +set(LDFILE ld.script) + +set_property(GLOBAL PROPERTY LD_SCRIPT "${NUTTX_BOARD_DIR}/scripts/${LDFILE}")