From 4d6caa61825c0466ecf08b539995492934feb96b Mon Sep 17 00:00:00 2001 From: wgz-code <820906721@qq.com> Date: Tue, 1 Mar 2022 17:57:08 +0800 Subject: [PATCH] APP_Framework support nuttx-10.2.0 --- .../Nuttx/app_match_nuttx/apps/Makefile | 41 +- .../Nuttx/app_match_nuttx/apps/nshlib/Kconfig | 23 +- .../app_match_nuttx/apps/nshlib/Makefile | 41 +- .../Nuttx/app_match_nuttx/apps/nshlib/nsh.h | 36 +- .../apps/nshlib/nsh_Applicationscmd.c | 50 + .../app_match_nuttx/apps/nshlib/nsh_command.c | 25 +- Ubiquitous/Nuttx/app_match_nuttx/build.sh | 1 + .../Nuttx/app_match_nuttx/nuttx/Kconfig | 122 +- .../nuttx/arch/arm/src/stm32/stm32_serial.c | 8 +- .../app_match_nuttx/nuttx/boards/Kconfig | 3495 +++++++++++++++++ .../app_match_nuttx/nuttx/boards/README.txt | 980 +++++ .../boards/arm/stm32/common/src/Make.defs | 8 + .../stm32/stm32f4discovery/scripts/Make.defs | 4 - .../stm32f4discovery/src/stm32_bringup.c | 2 +- .../nuttx/drivers/sensors/Kconfig | 41 + .../nuttx/drivers/sensors/Make.defs | 20 + .../app_match_nuttx/nuttx/tools/Makefile.unix | 33 +- .../app_match_nuttx/nuttx/tools/cfgdefine.c | 3 +- 18 files changed, 4832 insertions(+), 101 deletions(-) create mode 100644 Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/Kconfig create mode 100644 Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/README.txt diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/Makefile b/Ubiquitous/Nuttx/app_match_nuttx/apps/Makefile index 08cabda67..db4cfa609 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/Makefile +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/Makefile @@ -1,37 +1,20 @@ ############################################################################ # apps/Makefile # -# Copyright (C) 2011 Uros Platise. All rights reserved. -# Copyright (C) 2011-2014, 2018-2019 Gregory Nutt. All rights reserved. -# Authors: Uros Platise -# Gregory Nutt +# 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 # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: +# http://www.apache.org/licenses/LICENSE-2.0 # -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. +# 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. # ############################################################################ diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig index d093e55d2..b09f7b4a7 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Kconfig @@ -12,7 +12,7 @@ config NSH_LIBRARY select NETUTILS_NETLIB if NET select LIBC_NETDB if NET select READLINE_HAVE_EXTMATCH - select LIB_BOARDCTL if (!NSH_DISABLE_MKRD && !DISABLE_MOUNTPOINT) || NSH_ARCHINIT || NSH_ROMFSETC + select BOARDCTL if (!NSH_DISABLE_MKRD && !DISABLE_MOUNTPOINT) || NSH_ARCHINIT || NSH_ROMFSETC select BOARDCTL_MKRD if !NSH_DISABLE_MKRD && !DISABLE_MOUNTPOINT select BOARDCTL_ROMDISK if NSH_ROMFSETC ---help--- @@ -587,7 +587,6 @@ config NSH_DISABLE_XD bool "Disable xd" default y if DEFAULT_SMALL default n if !DEFAULT_SMALL - config NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS bool "Disable the sensor tb600b_wq_hcho1os." default n @@ -631,6 +630,22 @@ config NSH_DISABLE_TEMPHS300X config NSH_DISABLE_HUMIHS300X bool "Disable the humidity function of the sensor Hs300x." default n + +config NSH_DISABLE_OPENZIGBEE + bool "Disable the open function of the zigebee." + default n + +config NSH_DISABLE_SENDZIGBEE + bool "Disable the send function of the zigebee." + default n + +config NSH_DISABLE_RECVZIGBEE + bool "Disable the receive function of the zigebee." + default n + +config NSH_DISABLE_ADAPTER_LORATEST + bool "Disable sx128 AdapterLoraTest." + default n endmenu @@ -960,7 +975,7 @@ config NSH_CONSOLE config NSH_USBCONSOLE bool "Use a USB serial console" default n - depends on LIB_BOARDCTL && NSH_CONSOLE && USBDEV && (CDCACM || PL2303) + depends on BOARDCTL && NSH_CONSOLE && USBDEV && (CDCACM || PL2303) select BOARDCTL_USBDEVCTRL ---help--- If defined, then the an arbitrary USB serial device may be used @@ -1147,7 +1162,7 @@ endmenu # USB Device Trace Support config NSH_ARCHINIT bool "Have architecture-specific initialization" default n - select LIB_BOARDCTL + select BOARDCTL ---help--- Set if your board provides architecture specific initialization via the board-interface function boardctl(). The boardctl() diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Makefile b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Makefile index 0fbd57dc7..2c09aad61 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Makefile +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/Makefile @@ -1,35 +1,20 @@ ############################################################################ # apps/nshlib/Makefile # -# Copyright (C) 2011-2013, 2016 Gregory Nutt. All rights reserved. -# Author: Gregory Nutt +# 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 # -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: +# http://www.apache.org/licenses/LICENSE-2.0 # -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# 3. Neither the name NuttX nor the names of its contributors may be -# used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS -# OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED -# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. +# 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. # ############################################################################ @@ -39,7 +24,7 @@ include $(APPDIR)/Make.defs CSRCS = nsh_init.c nsh_parse.c nsh_console.c nsh_script.c nsh_system.c CSRCS += nsh_command.c nsh_fscmds.c nsh_ddcmd.c nsh_proccmds.c nsh_mmcmds.c -CSRCS += nsh_timcmds.c nsh_envcmds.c nsh_syscmds.c nsh_dbgcmds.c nsh_Applicationscmd.c +CSRCS += nsh_timcmds.c nsh_envcmds.c nsh_syscmds.c nsh_dbgcmds.c nsh_Applicationscmd.c ifeq ($(CONFIG_FILE_STREAM),y) CSRCS += nsh_session.c diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h index b27206912..5c59c8337 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh.h @@ -462,8 +462,8 @@ /* Make sure that the home directory is defined */ -#ifndef CONFIG_LIB_HOMEDIR -# define CONFIG_LIB_HOMEDIR "/" +#ifndef CONFIG_LIBC_HOMEDIR +# define CONFIG_LIBC_HOMEDIR "/" #endif #undef NSH_HAVE_VARS @@ -799,6 +799,11 @@ extern const char g_fmtsignalrecvd[]; * Public Function Prototypes ****************************************************************************/ +#if defined(__cplusplus) +extern "C" +{ +#endif + /* Initialization */ #ifdef CONFIG_NSH_ROMFSETC @@ -830,14 +835,14 @@ int nsh_loginscript(FAR struct nsh_vtbl_s *vtbl); /* Architecture-specific initialization depends on boardctl(BOARDIOC_INIT) */ -#if defined(CONFIG_NSH_ARCHINIT) && !defined(CONFIG_LIB_BOARDCTL) -# warning CONFIG_NSH_ARCHINIT is set, but CONFIG_LIB_BOARDCTL is not +#if defined(CONFIG_NSH_ARCHINIT) && !defined(CONFIG_BOARDCTL) +# warning CONFIG_NSH_ARCHINIT is set, but CONFIG_BOARDCTL is not # undef CONFIG_NSH_ARCHINIT #endif /* The mkrd command depends on boardctl(BOARDIOC_MKRD) */ -#if !defined(CONFIG_LIB_BOARDCTL) || !defined(CONFIG_BOARDCTL_MKRD) +#if !defined(CONFIG_BOARDCTL) || !defined(CONFIG_BOARDCTL_MKRD) # undef CONFIG_NSH_DISABLE_MKRD # define CONFIG_NSH_DISABLE_MKRD 1 #endif @@ -1447,4 +1452,25 @@ int nsh_foreach_var(FAR struct nsh_vtbl_s *vtbl, nsh_foreach_var_t cb, int cmd_HumiHs300x(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); #endif + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_OPENZIGBEE) + int cmd_openzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); +#endif + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_SENDZIGBEE) + int cmd_sendzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); +#endif + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_RECVZIGBEE) + int cmd_recvzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); +#endif + +#if defined(CONFIG_ADAPTER_SX1278) && !defined(CONFIG_NSH_DISABLE_ADAPTER_LORATEST) + int cmd_AdapterLoraTest(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv); +#endif + +#if defined(__cplusplus) +} +#endif + #endif /* __APPS_NSHLIB_NSH_H */ diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c index bfa43220b..5a109000e 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_Applicationscmd.c @@ -217,3 +217,53 @@ int cmd_HumiHs300x(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) return 0; } #endif + + +/**************************************************************************** + * Name: cmd_openzigbee + ****************************************************************************/ + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_OPENZIGBEE) +extern int openzigbee(void); +int cmd_openzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) +{ + printf("Hello, world!\n"); + FrameworkInit(); + openzigbee(); + return 0; +} +#endif + + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_SENDZIGBEE) +extern int sendzigbee(int argc, char *argv[]); +int cmd_sendzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) +{ + printf("Hello, world!\n"); + FrameworkInit(); + sendzigbee(argc,argv); + return 0; +} +#endif + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_RECVZIGBEE) +extern int recvzigbee(void); +int cmd_recvzigbee(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) +{ + printf("Hello, world!\n"); + FrameworkInit(); + recvzigbee(); + return 0; +} +#endif + +#if defined(CONFIG_ADAPTER_SX1278) && !defined(CONFIG_NSH_DISABLE_ADAPTER_LORATEST) +extern int AdapterLoraTest(void); +int cmd_AdapterLoraTest(FAR struct nsh_vtbl_s *vtbl, int argc, char **argv) +{ + printf("Hello, world!\n"); + FrameworkInit(); + AdapterLoraTest(); + return 0; +} +#endif \ No newline at end of file diff --git a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c index 28dc9468a..5a7d50592 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/apps/nshlib/nsh_command.c @@ -25,6 +25,7 @@ #include #include +#include #ifdef CONFIG_NSH_BUILTIN_APPS # include @@ -154,7 +155,7 @@ static const struct cmdmap_s g_cmdmap[] = #endif #ifndef CONFIG_NSH_DISABLE_DATE - { "date", cmd_date, 1, 3, "[-s \"MMM DD HH:MM:SS YYYY\"]" }, + { "date", cmd_date, 1, 4, "[-s \"MMM DD HH:MM:SS YYYY\"] [-u]" }, #endif #ifndef CONFIG_NSH_DISABLE_DD @@ -260,7 +261,7 @@ static const struct cmdmap_s g_cmdmap[] = #endif #ifndef CONFIG_NSH_DISABLE_KILL - { "kill", cmd_kill, 3, 3, "- " }, + { "kill", cmd_kill, 2, 3, "[-] " }, #endif #ifndef CONFIG_DISABLE_MOUNTPOINT @@ -434,7 +435,7 @@ static const struct cmdmap_s g_cmdmap[] = #ifdef NSH_HAVE_DIROPTS # ifndef CONFIG_NSH_DISABLE_RM - { "rm", cmd_rm, 2, 2, "" }, + { "rm", cmd_rm, 2, 3, "[-r] " }, # endif #endif @@ -578,7 +579,6 @@ static const struct cmdmap_s g_cmdmap[] = #ifndef CONFIG_NSH_DISABLE_XD { "xd", cmd_xd, 3, 3, " " }, -#endif #if defined(CONFIG_APPLICATION_SENSOR_HCHO_TB600B_WQ_HCHO1OS) && !defined(CONFIG_NSH_DISABLE_HCHO_TB600B_WQ_HCHO1OS) { "hcho1os", cmd_Hcho1os, 1, 1, "[get the concentration of formaldehyde with sensor tb600b_wq_hcho1os.]" }, @@ -624,6 +624,23 @@ static const struct cmdmap_s g_cmdmap[] = { "humi", cmd_HumiHs300x, 1, 1, "[get humidity with sensor HS300x.]" }, #endif +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_OPENZIGBEE) + { "openzigbee", cmd_openzigbee, 1, 1, "[open the zigebee device.]" }, +#endif + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_SENDZIGBEE) + { "sendzigbee", cmd_sendzigbee, 2, 2, "[sendzigbee ]" }, +#endif + +#if defined(CONFIG_CONNECTION_ADAPTER_ZIGBEE) && !defined(CONFIG_NSH_DISABLE_RECVZIGBEE) + { "recvzigbee", cmd_recvzigbee, 1, 1, "[receive message.]" }, +#endif + +#if defined(CONFIG_ADAPTER_SX1278) && !defined(CONFIG_NSH_DISABLE_ADAPTER_LORATEST) + { "AdapterLoraTest", cmd_AdapterLoraTest, 1, 1, "[Lora sx128 test.]" }, +#endif + +#endif { NULL, NULL, 1, 1, NULL } }; diff --git a/Ubiquitous/Nuttx/app_match_nuttx/build.sh b/Ubiquitous/Nuttx/app_match_nuttx/build.sh index 78545b89f..7d22b8b9e 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/build.sh +++ b/Ubiquitous/Nuttx/app_match_nuttx/build.sh @@ -9,5 +9,6 @@ find $top -name Kconfig -exec dos2unix -q {} \; cp -rf $current/nuttx $nuttx cp -rf $current/apps $nuttx +cp -rf $nuttx/aiit-arm32-board $nuttx/nuttx/boards/arm/stm32 cd ../nuttx diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/Kconfig b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/Kconfig index 8fa8ef0ed..d12f9651c 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/Kconfig +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/Kconfig @@ -15,6 +15,39 @@ source "$APPSDIR/../../../APP_Framework/Kconfig" endmenu +menu "License Setup" +config ALLOW_BSD_COMPONENTS + bool "Use components that have BSD licenses" + default n + ---help--- + When this option is enabled the project will allow the use + of components that have BSD licenses. + + NOTE: Please check that the license for each enabled + component matches your project license. + + NOTE: If this option is not set the following components + are not included in the setup menu: + Crypto + AES cypher support + FS + NFS client file system + SPIFFS File System + Wireless + Bluetooth LE support + +config ALLOW_GPL_COMPONENTS + bool "Use components that have GPL/LGPL licenses" + default n + ---help--- + When this option is enabled the project will allow the use + of components that have GPL/LGPL licenses. + + NOTE: Please check that the license for each enabled + component matches your project license. + +endmenu # License Setup + menu "Build Setup" config EXPERIMENTAL @@ -1113,7 +1146,7 @@ comment "Driver Debug Options" config DEBUG_LCD bool "Low-level LCD Debug Features" default n - depends on LCD + depends on LCD || SLCD ---help--- Enable LCD driver debug features. @@ -1716,6 +1749,13 @@ config DEBUG_WATCHDOG_INFO endif # DEBUG_WATCHDOG +config DEBUG_MOTOR + bool "Motor Debug Features" + default n + depends on MOTOR + ---help--- + Enable motor debug features. + if DEBUG_MOTOR config DEBUG_MOTOR_ERROR @@ -1740,6 +1780,38 @@ config DEBUG_MOTOR_INFO Enable motor informational output to SYSLOG. endif # DEBUG_MOTOR + +config DEBUG_VIDEO + bool "Video Debug Features" + default n + depends on DRIVERS_VIDEO + ---help--- + Enable video debug features. + +if DEBUG_VIDEO + +config DEBUG_VIDEO_ERROR + bool "Video Error Output" + default n + depends on DEBUG_ERROR + ---help--- + Enable video error output to SYSLOG. + +config DEBUG_VIDEO_WARN + bool "Video Warnings Output" + default n + depends on DEBUG_WARN + ---help--- + Enable video warning output to SYSLOG. + +config DEBUG_VIDEO_INFO + bool "Video Informational Output" + default n + depends on DEBUG_INFO + ---help--- + Enable video informational output to SYSLOG. + +endif # DEBUG_VIDEO endif # DEBUG_FEATURES config ARCH_HAVE_STACKCHECK @@ -1757,6 +1829,20 @@ config STACK_COLORATION Only supported by a few architectures. +config STACK_USAGE_SAFE_PERCENT + int "Stack usage safe percent" + default 0 + range 0 100 + depends on STACK_COLORATION + ---help--- + Stack usage percent = up_check_tcbstack() * 100 / tcb->adj_stack_size, + this should be lower than STACK_USAGE_SAFE_PERCENT. + + Idle thread will periodically check stack usage when this macro + value > 0. + + N.B. This feature should not be used in production code. + config STACK_CANARIES bool "Compiler stack canaries" depends on ARCH_HAVE_STACKCHECK @@ -1839,59 +1925,59 @@ source "boards/Kconfig" endmenu menu "RTOS Features" -source sched/Kconfig -source syscall/Kconfig +source "sched/Kconfig" +source "syscall/Kconfig" endmenu menu "Device Drivers" -source drivers/Kconfig +source "drivers/Kconfig" endmenu menu "Networking Support" -source net/Kconfig +source "net/Kconfig" endmenu menu "Crypto API" -source crypto/Kconfig +source "crypto/Kconfig" endmenu menu "File Systems" -source fs/Kconfig +source "fs/Kconfig" endmenu menu "Graphics Support" -source graphics/Kconfig -source libs/libnx/Kconfig +source "graphics/Kconfig" +source "libs/libnx/Kconfig" endmenu menu "Memory Management" -source mm/Kconfig +source "mm/Kconfig" endmenu menu "Audio Support" -source audio/Kconfig +source "audio/Kconfig" endmenu menu "Video Support" -source video/Kconfig +source "video/Kconfig" endmenu menu "Wireless Support" -source wireless/Kconfig +source "wireless/Kconfig" endmenu menu "Binary Loader" -source binfmt/Kconfig +source "binfmt/Kconfig" endmenu menu "Library Routines" -source libs/libc/Kconfig -source libs/libxx/Kconfig -source libs/libdsp/Kconfig +source "libs/libc/Kconfig" +source "libs/libxx/Kconfig" +source "libs/libdsp/Kconfig" endmenu menu "Open Asymmetric Multi Processing" -source openamp/Kconfig +source "openamp/Kconfig" endmenu menu "Application Configuration" diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/arch/arm/src/stm32/stm32_serial.c b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/arch/arm/src/stm32/stm32_serial.c index dc58cd966..a9b9da4af 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/arch/arm/src/stm32/stm32_serial.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/arch/arm/src/stm32/stm32_serial.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include @@ -507,7 +508,8 @@ static bool up_rxflowcontrol(struct uart_dev_s *dev, unsigned int nbuffered, bool upper); #endif static void up_send(struct uart_dev_s *dev, int ch); -#if defined(SERIAL_HAVE_RXDMA_OPS) || defined(SERIAL_HAVE_NODMA_OPS) +#if defined(SERIAL_HAVE_RXDMA_OPS) || defined(SERIAL_HAVE_NODMA_OPS) || \ + defined(CONFIG_STM32_SERIALBRK_BSDCOMPAT) static void up_txint(struct uart_dev_s *dev, bool enable); #endif static bool up_txready(struct uart_dev_s *dev); @@ -2918,7 +2920,8 @@ static void up_dma_txint(struct uart_dev_s *dev, bool enable) * ****************************************************************************/ -#if defined(SERIAL_HAVE_RXDMA_OPS) || defined(SERIAL_HAVE_NODMA_OPS) +#if defined(SERIAL_HAVE_RXDMA_OPS) || defined(SERIAL_HAVE_NODMA_OPS) || \ + defined(CONFIG_STM32_SERIALBRK_BSDCOMPAT) static void up_txint(struct uart_dev_s *dev, bool enable) { struct up_dev_s *priv = (struct up_dev_s *)dev->priv; @@ -2961,6 +2964,7 @@ static void up_txint(struct uart_dev_s *dev, bool enable) up_restoreusartint(priv, ie); +#else /* Fake a TX interrupt here by just calling uart_xmitchars() with * interrupts disabled (note this may recurse). */ diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/Kconfig b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/Kconfig new file mode 100644 index 000000000..bab0796a9 --- /dev/null +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/Kconfig @@ -0,0 +1,3495 @@ +# +# For a description of the syntax of this configuration file, +# see the file kconfig-language.txt in the NuttX tools repository. +# + +choice + prompt "Select target board" + default ARCH_BOARD_CUSTOM + ---help--- + Select the board hosting the architecture. You must first select the + exact MCU part number, then the boards supporting that part will + be available for selection. Use ARCH_BOARD_CUSTOM to create a new + board configuration. + +config ARCH_BOARD_AMBER + bool "Amber Web Server" + depends on ARCH_CHIP_ATMEGA128 + ---help--- + This is placeholder for the SoC Robotics Amber Web Server that is based + on the Atmel AVR ATMega128 MCU. There is not much there yet and what is + there is untested due to tool-related issues. + +config ARCH_BOARD_ARDUINO_MEGA2560 + bool "Arduino Mega 2560" + depends on ARCH_CHIP_ATMEGA2560 + ---help--- + This option selects the Arduino Mega 2560 board featuring the Atmel + Atmega2560 MCU running at 16 MHz. + +config ARCH_BOARD_ARDUINO_DUE + bool "Arduino Due" + depends on ARCH_CHIP_ATSAM3X8E + select ARCH_HAVE_LEDS + ---help--- + This options selects the Arduino DUE board featuring the Atmel + ATSAM3X8E MCU running at 84 MHz. + +config ARCH_BOARD_ARDUINO_M0 + bool "Arduino M0" + depends on ARCH_CHIP_SAMD21G18A + select ARCH_HAVE_LEDS + ---help--- + This options selects the Arduino M0 board featuring the Atmel + ATSAMD21 MCU. + +config ARCH_BOARD_ARTY_A7 + bool "DIGILENT ARTY_A7 board" + depends on ARCH_CHIP_LITEX + ---help--- + This is the board configuration for the port of NuttX to the Digilent ARTY A7 + board. This board features the RISC-V litex vexriscv softcore + +config ARCH_BOARD_AVR32DEV1 + bool "Atmel AVR32DEV1 board" + depends on ARCH_CHIP_AT32UC3B0256 + select ARCH_HAVE_LEDS +# select ARCH_HAVE_BUTTONS +# select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a port of NuttX to the Atmel AVR32DEV1 board. That board is + based on the Atmel AT32UC3B0256 MCU and uses a specially patched + version of the GNU toolchain: The patches provide support for the + AVR32 family. That patched GNU toolchain is available only from the + Atmel website. STATUS: This port is functional but very basic. There + are configurations for NSH and the OS test. + +config ARCH_BOARD_AXOLOTI + bool "Axoloti board" + depends on ARCH_CHIP_STM32F427I + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Axoloti synthesizer board based on the STMicro STM32F427IGH6 MCU. + See: http://www.axoloti.com/ + +config ARCH_BOARD_BL602EVB + bool "BouffaloLab BL602EVB Board" + depends on ARCH_CHIP_BL602 + ---help--- + This is the board configuration for the port of NuttX to the BouffaloLab BL602EVB + board. This board features the RISC-V rv32imfc core + +config ARCH_BOARD_C5471EVM + bool "Spectrum Digital C5471 evaluation board" + depends on ARCH_CHIP_C5471 + select ARCH_HAVE_LEDS + ---help--- + This is a port to the Spectrum Digital C5471 evaluation board. The + TMS320C5471 is a dual core processor from TI with an ARM7TDMI general + purpose processor and a c54 DSP. It is also known as TMS320DA180 or just DA180. + NuttX runs on the ARM core and is built with a GNU arm-nuttx-elf toolchain*. + This port is complete and verified. + +config ARCH_BOARD_CIRCUIT_EXPRESS + bool "Adafruit Circuit Express" + depends on ARCH_CHIP_SAMD21G18A + select ARCH_HAVE_LEDS + ---help--- + This options selects the Adafruit Circuit Express board featuring the Atmel + ATSAMD21 MCU. + +config ARCH_BOARD_CLICKER2_STM32 + bool "Mikroe Clicker2 STM32" + depends on ARCH_CHIP_STM32F407VG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Mikroe Clicker2 STM32 board based on the STMicro STM32F407VGT6 MCU. + +config ARCH_BOARD_CLOUDCTRL + bool "Darcy's CloudController stm32f10x board" + depends on ARCH_CHIP_STM32F107VC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Small network relay development board. Based on the Shenzhou IV development + board design. + +config ARCH_BOARD_DEMOS92S12NEC64 + bool "NXP/FreeScale DMO9S12NE64 board" + depends on ARCH_CHIP_MCS92S12NEC64 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + NXP/FreeScale DMO9S12NE64 board based on the MC9S12NE64 hcs12 cpu. This + port uses the m9s12x GCC toolchain. STATUS: (Still) under development; it + is code complete but has not yet been verified. + +config ARCH_BOARD_DK_TM4C129X + bool "Tiva DK-TM4C129x Connected Development Kit" + depends on ARCH_CHIP_TM4C129XNCZAD + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Tiva DK-TM4C129x Connected Development Kit featuring the + TM4C129XNCZAD MCU. + +config ARCH_BOARD_EA3131 + bool "Embedded Artists EA3131 Development board" + depends on ARCH_CHIP_LPC3131 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + Embedded Artists EA3131 Development board. This board is based on the + an NXP LPC3131 MCU. This OS is built with the arm-nuttx-elf toolchain*. + STATUS: This port is complete and mature. + +config ARCH_BOARD_EA3152 + bool "Embedded Artists EA3152 Development board" + depends on ARCH_CHIP_LPC3152 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + Embedded Artists EA3152 Development board. This board is based on the + an NXP LPC3152 MCU. This OS is built with the arm-nuttx-elf toolchain*. + STATUS: This port is has not be exercised well, but since it is + a simple derivative of the ea3131, it should be fully functional. + +config ARCH_BOARD_EAGLE100 + bool "Micromint Eagle-100 Development board" + depends on ARCH_CHIP_LM3S6918 + select ARCH_HAVE_LEDS + ---help--- + Micromint Eagle-100 Development board. This board is based on the + an ARM Cortex-M3 MCU, the Luminary LM3S6918. This OS is built with the + arm-nuttx-elf toolchain*. STATUS: This port is complete and mature. + +config ARCH_BOARD_EFM32G8XXSTK + bool "EFM32 Gecko Starter Kit" + depends on ARCH_CHIP_EFM32G890F128 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the EFM32 Gecko Starter Kit (EFM32-G8XX-STK). + +config ARCH_BOARD_EFM32GG_STK3700 + bool "EFM32 Giant Gecko Starter Kit" + depends on ARCH_CHIP_EFM32GG990F1024 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the EFM32 Giant Gecko Starter Kit (EFM32GG-STK3700). + +config ARCH_BOARD_EKKLM3S9B96 + bool "TI/Stellaris EKK-LM3S9B96" + depends on ARCH_CHIP_LM3S9B96 + select ARCH_HAVE_LEDS + ---help--- + TI/Stellaris EKK-LM3S9B96 board. This board is based on the + an EKK-LM3S9B96 which is a Cortex-M3. + +config ARCH_BOARD_EMW3162 + bool "EMW3162 Wi-Fi board" + depends on ARCH_CHIP_STM32F205RG + select ARCH_HAVE_LEDS + ---help--- + EMW3162 board (https://www.waveshare.com/wiki/EMW3162). This board + features the STM32F205RGY6 MCU and BCM43362KUBG Wi-Fi chip. + +config ARCH_BOARD_QUICKFEATHER + bool "EOS S3 QuickFeather" + depends on ARCH_CHIP_EOSS3 + select ARCH_HAVE_LEDS + ---help--- + QuickLogic EOS S3 QuickFeather board. This is the feather form factor + low cost development board. This includes 16-Mbit external flash, + MC3635 accelerometer, DPS310 pressure sensor, IM69D130 PDM microphone, + internal programmable FPGA fabric. + +config ARCH_BOARD_ESP32_DEVKITC + bool "Espressif ESP32 DevkitC board V4" + depends on ARCH_CHIP_ESP32WROOM32 || ARCH_CHIP_ESP32WROOM32_8MB || ARCH_CHIP_ESP32WROOM32_16MB || ARCH_CHIP_ESP32WROVER || ARCH_CHIP_ESP32SOLO1 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS if ESP32_GPIO_IRQ + ---help--- + The ESP32 is a dual-core system from Espressif with two Harvard + architecture Xtensa LX6 CPUs. All embedded memory, external memory + and peripherals are located on the data bus and/or the instruction + bus of these CPUs. With some minor exceptions, the address mapping + of two CPUs is symmetric, meaning they use the same addresses to + access the same memory. + +config ARCH_BOARD_ESP32_ETHERNETKIT + bool "Espressif ESP32 Ethernet Kit" + depends on ARCH_CHIP_ESP32WROVER + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS if ESP32_GPIO_IRQ + ---help--- + The ESP32-Ethernet-Kit is an Ethernet-to-Wi-Fi development board that enables + Ethernet devices to be interconnected over Wi-Fi. At the same time, to provide + more flexible power supply options, the ESP32-Ethernet-Kit also supports power + over Ethernet (PoE). + +config ARCH_BOARD_ESP32_WROVERKIT + bool "Espressif ESP-WROVER-KIT" + depends on ARCH_CHIP_ESP32WROVER + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS if ESP32_GPIO_IRQ + ---help--- + ESP-WROVER-KIT is an ESP32-based development board produced by Espressif. + ESP-WROVER-KIT features the following integrated components: + ESP32-WROVER-B module + LCD screen + MicroSD card slot + +config ARCH_BOARD_TTGO_LORA_ESP32 + bool "TTGO LoRa SX1276 ESP32" + depends on ARCH_CHIP_ESP32WROOM32 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS if ESP32_GPIO_IRQ + ---help--- + TTGO-LoRa-SX1276-ESP32 is an ESP32 board with LoRa. Usually it + comes with an OLED display, but there are options without + display. This port is for board version 1.0, more info: + https://github.com/Xinyuan-LilyGO/TTGO-LoRa-Series + +config ARCH_BOARD_ESP32C3_DEVKIT + bool "Espressif ESP32-C3 DevKit" + depends on ARCH_CHIP_ESP32C3MINI1 || ARCH_CHIP_ESP32C3WROOM02 + ---help--- + The ESP32-C3 DevKit features the ESP32-C3 CPU with a RISC-V core. + It comes in two flavors, the ESP32-C3-DevKitM-1 and the ESP32-C3-DevKitC-02. + The ESP32-C3-DevKitM-1 version contains the ESP32-C3-MINI-1 module and the + ESP32-C3-DevKitC-02 version the ESP32-C3-WROOM-02. + +config ARCH_BOARD_ESP32S2_SAOLA_1 + bool "Espressif ESP32-S2-Saola-1 V1.2" + depends on ARCH_CHIP_ESP32S2WROVER + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS if ESP32S2_GPIO_IRQ + ---help--- + This is the ESP32-S2-Saola-1 board + +config ARCH_BOARD_ET_STM32_STAMP + bool "Futurlec: ET-STM32 Stamp" + depends on ARCH_CHIP_STM32F103RE + ---help--- + The ET-STM32 Stamp features the STM32F103RET6 (Cortex M3) microcontroller. + For board details, see: https://www.futurlec.com/ET-STM32_Stamp.shtml + +config ARCH_BOARD_EZ80F910200KITG + bool "ZiLOG ez80f910200kitg development kit" + depends on ARCH_CHIP_EZ80F91 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + ez80Acclaim! Microcontroller. This port use the Zilog ez80f910200kitg + development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +config ARCH_BOARD_EZ80F910200ZCO + bool "ZiLOG ez80f910200zco development kit" + depends on ARCH_CHIP_EZ80F91 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + ez80Acclaim! Microcontroller. This port use the Zilog ez80f910200zco + development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +config ARCH_BOARD_FIRE_STM32 + bool "M3 Wildfire STM32 board" + depends on ARCH_CHIP_STM32F103VE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Support for the M3 Wildfire STM32 board. This board is based on the + STM32F103VET6 chip. See http://firestm32.taobao.com . Version 2 + and 3 of the boards are supported but only version 2 has been + tested. + +config ARCH_BOARD_CHIPKIT_WIFIRE + bool "chipKIT Wi-FIRE" + depends on ARCH_CHIP_PIC32MZ2048EFG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects the chipKIT Wi-FIRE board. This + board is a chipKIT Arduino-compatible board. This board + features the Microchip PIC32MZ2048EFG100 MCU running at 200 MHz. + +config ARCH_BOARD_FLIPNCLICK_PIC32MZ + bool "Mikroe Flip&Click PIC32MZ" + depends on ARCH_CHIP_PIC32MZ2048EFH + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects the Mikroe Flip&Click PIC32MZ board. This + board is an chipKit Arduino-compatible board (but can also be used + with the Mikroe bootloader). It has with four Mikroe Click bus + interfaces in addition to standard Arduino connectors. This board + features the Microchip PIC32MZ2048EFH100 MCU running at 200 MHz + (252Mhz capable). + +config ARCH_BOARD_FLIPNCLICK_SAM3X + bool "Mikroe Flip&Click SAM3X" + depends on ARCH_CHIP_ATSAM3X8E + select ARCH_HAVE_LEDS + ---help--- + This options selects the Mikroe Flip&Click STM32X board. This board + is an Arduino-Due work-alike with four Mikroe Click bus interfaces. + Like the Arduino DUE, this board features the Atmel ATSAM3X8E MCU + running at 84 MHz. + +config ARCH_BOARD_FREEDOM_K28F + bool "NXP Freedom-k28f development board" + depends on ARCH_CHIP_MK28FN2M0VMI15 + select ARCH_HAVE_LEDS if !RGBLED + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select KINETIS_SDHC_PULLUP if KINETIS_SDHC # REVISIT + ---help--- + development board. + This port uses the NXP/FreeScale FREEDOM-K28F development board. This + board uses the Kinetis K28F MK28FN2M0VMI15 Cortex-M4 MCU. + +config ARCH_BOARD_FREEDOM_K64F + bool "NXP Freedom-k64f development board" + depends on ARCH_CHIP_MK64FN1M0VLL12 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select KINETIS_SDHC_PULLUP if KINETIS_SDHC + ---help--- + development board. + This port uses the NXP/FreeScale FREEDOM-K64F development board. This + board uses the Kinetis K64 MK64FN1M0VLL12 Cortex-M4 MCU. + +config ARCH_BOARD_FREEDOM_K66F + bool "NXP Freedom-k66f development board" + depends on ARCH_CHIP_MK66FN2M0VMD18 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select KINETIS_SDHC_PULLUP if KINETIS_SDHC + ---help--- + development board. + This port uses the NXP/FreeScale FREEDOM-K66F development board. This + board uses the Kinetis K66 MK66FN2M0VMD18 Cortex-M4 MCU. + +config ARCH_BOARD_FREEDOM_KL25Z + bool "NXP/FreeScale Freedom KL25Z" + depends on ARCH_CHIP_MKL25Z128 + select ARCH_HAVE_LEDS + ---help--- + This is the configuration for the NXP/FreeScale Freedom KL25Z board. This + board has the K25Z120LE3AN chip with a built-in SDA debugger. + +config ARCH_BOARD_FREEDOM_KL26Z + bool "NXP/FreeScale Freedom KL26Z" + depends on ARCH_CHIP_MKL26Z128 + select ARCH_HAVE_LEDS + ---help--- + This is the configuration for the NXP/FreeScale Freedom KL26Z board. This + board has the K26Z128VLH4 chip with a built-in SDA debugger. + +config ARCH_BOARD_HIFIVE1_REVB + bool "HiFive1 Rev B board" + depends on ARCH_CHIP_FE310 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the board configuration for the port of NuttX to the SiFive HiFive1 + Rev B board. This board features the RISC-V FE310-G002 + +config ARCH_BOARD_HYMINI_STM32V + bool "HY-Mini STM32v board" + depends on ARCH_CHIP_STM32F103VC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + A configuration for the HY-Mini STM32v board. This board is based on the + STM32F103VCT6 chip. + +config ARCH_BOARD_IMXRT1020_EVK + bool "NXP i.MX RT 1020 EVK" + depends on ARCH_CHIP_MIMXRT1021DAG5A + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the board configuration for the port of NuttX to the NXP i.MXRT + evaluation kit, MIMXRT1020-EVKB. This board features the MIMXRT1021DAG5A MCU. + +config ARCH_BOARD_IMXRT1050_EVK + bool "NXP i.MX RT 1050 EVK" + depends on ARCH_CHIP_MIMXRT1052DVL6A + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the board configuration for the port of NuttX to the NXP i.MXRT + evaluation kit, MIMXRT1050-EVKB. This board features the MIMXRT1052DVL6A MCU. + +config ARCH_BOARD_IMXRT1060_EVK + bool "NXP i.MX RT 1060 EVK" + depends on ARCH_CHIP_MIMXRT1062DVL6A + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the board configuration for the port of NuttX to the NXP i.MXRT + evaluation kit, MIMXRT1060-EVK. This board features the MIMXRT1062DVL6A MCU. + +config ARCH_BOARD_IMXRT1064_EVK + bool "NXP i.MX RT 1064 EVK" + depends on ARCH_CHIP_MIMXRT1064DVL6A + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the board configuration for the port of NuttX to the NXP i.MXRT + evaluation kit, MIMXRT1064-EVK. This board features the MIMXRT1064DVL6A MCU. + +config ARCH_BOARD_LC823450_XGEVK + bool "ON Semiconductor LC823450-XGEVK development board" + depends on ARCH_CHIP_LC823450 + select ARCH_HAVE_LEDS + ---help--- + This port uses the ON Semiconductor LC823450-XGEVK development board. + +config ARCH_BOARD_LINCOLN60 + bool "Micromint Lincoln 60 board" + depends on ARCH_CHIP_LPC1769 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Micromint Lincoln 60 board using the NXP LPC1769 MCU. + +config ARCH_BOARD_KWIKSTIK_K40 + bool "NXP/FreeScale KwikStik-K40 development board" + depends on ARCH_CHIP_MK40X256VLQ100 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Kinetis K40 Cortex-M4 MCU. This port uses the NXP/FreeScale KwikStik-K40 + development board. + +config ARCH_BOARD_LAUNCHXL_CC1310 + bool "TI LaunchXL-CC1310" + depends on ARCH_CHIP_CC1310 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + TI SimpleLink CC1310 LaunchPad Evaluation Kit (LAUNCHXL-CC1310) + featuring the SimpleLinkCC1310 chip. This board features the + CC1310F128 part with 128Kb of FLASH and 20Kb of SRAM. + +config ARCH_BOARD_LAUNCHXL_CC1312R1 + bool "TI LaunchXL-CC1312R1" + depends on ARCH_CHIP_CC1312R1 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + TI SimpleLink CC1312R1 LaunchPad Evaluation Kit (LAUNCHXL-CC1312R1) + featuring the SimpleLinkCC1312R1 chip. + +config ARCH_BOARD_LAUNCHXL_TMS57004 + bool "TI LaunchXL-TMS57004" + depends on ARCH_CHIP_TMS570LS0432PZ + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + TI Hercules TMS570LS04x/03x LaunchPad Evaluation Kit (LAUNCHXL- + TMS57004) featuring the Hercules TMS570LS0432PZ chip. + +config ARCH_BOARD_LM3S6432S2E + bool "Stellaris RDK-S2E Reference Design Kit" + depends on ARCH_CHIP_LM3S6432 + select ARCH_HAVE_LEDS + ---help--- + Stellaris RDK-S2E Reference Design Kit and the MDL-S2E Ethernet to + Serial module. + +config ARCH_BOARD_LM3S6965EK + bool "Stellaris LM3S6965 Evaluation Kit" + depends on ARCH_CHIP_LM3S6965 + select ARCH_HAVE_LEDS + ---help--- + Stellaris LM3S6965 Evaluation Kit. This board is based on the + an ARM Cortex-M3 MCU, the Luminary/TI LM3S6965. This OS is built with the + arm-nuttx-elf toolchain*. STATUS: This port is complete and mature. + +config ARCH_BOARD_LM3S8962EK + bool "Stellaris LMS38962 Evaluation Kit" + depends on ARCH_CHIP_LM3S8962 + select ARCH_HAVE_LEDS + ---help--- + Stellaris LMS38962 Evaluation Kit. + +config ARCH_BOARD_LM4F120_LAUNCHPAD + bool "Stellaris LM4F120 LaunchPad" + depends on ARCH_CHIP_LM4F120 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Stellaris LM4F120 LaunchPad. + +config ARCH_BOARD_LPCXPRESSO + bool "NXP LPCExpresso LPC1768" + depends on ARCH_CHIP_LPC1768 + select ARCH_HAVE_LEDS + ---help--- + Embedded Artists base board with NXP LPCExpresso LPC1768. This board + is based on the NXP LPC1768. The Code Red toolchain is used by default. + +config ARCH_BOARD_LPCXPRESSO_LPC54628 + bool "NXP LPCXpresso LPC54628" + depends on ARCH_CHIP_LPC54628 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + LPCXpresso LPC54626 board featuring the NXP LPC54628 MCU. + +config ARCH_BOARD_BAMBINO_200E + bool "Micromint Bambino 200E" + depends on ARCH_CHIP_LPC4330FBD144 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Micromint Bambino board. This board is based on the LPC4330FBD144. + +config ARCH_BOARD_LPC1766STK + bool "Olimex LPC1766-STK board" + depends on ARCH_CHIP_LPC1766 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Olimex LPC1766-STK board and a GNU GCC toolchain* under + Linux or Cygwin. STATUS: Complete and mature. + +config ARCH_BOARD_LPC4088_DEVKIT + bool "LPC4088 Developer's Kit" + depends on ARCH_CHIP_LPC4088 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Embedded Artists LPC4088 Developer's Kit. See + https://www.embeddedartists.com/products/lpc4088-developers-kit/ + for further information. This board uses the NXP LPC4088FET208 MCU. + +config ARCH_BOARD_LPC4088_QUICKSTART + bool "LPC4088 QuickStart Board" + depends on ARCH_CHIP_LPC4088 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Embedded Artists LPC4088 QuickStart Board. See + https://www.embeddedartists.com/products/lpc4088-quickstart-board/ + for further information. This board uses the NXP LPC4088FET208 MCU. + +config ARCH_BOARD_LPC4330_XPLORER + bool "NXG LPC4330-Xplorer" + depends on ARCH_CHIP_LPC4330FET100 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + NXG Technologies LPC4330 Xplorer board. This board is based on the + LPC4330FET100. The Code Red toolchain is used by default. + +config ARCH_BOARD_LPC4337_WS + bool "WaveShare LPC4337-WS" + depends on ARCH_CHIP_LPC4337JBD144 + ---help--- + The WaveShare LPC4337-ws board featuring the NXP LPC4337JBD144 MCU. + +config ARCH_BOARD_LPC4357_EVB + bool "NXP LPC4357-EVB" + depends on ARCH_CHIP_LPC4357FET256 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + NXP Technologies LPC4357 EVB board. This board is based on the + LPC4357FET256. + +config ARCH_BOARD_LPC4370_LINK2 + bool "NXP LPC4370-Link2" + depends on ARCH_CHIP_LPC4370FET100 + select ARCH_HAVE_LEDS + ---help--- + NXP LPC4370 Link2 board. This board is based on the + LPC4370FET100. The Code Red toolchain is used by default. + +config ARCH_BOARD_LX_CPU + bool "PiKRON LX_CPU" + depends on ARCH_CHIP_LPC1788 || ARCH_CHIP_LPC4088 + select ARCH_HAVE_LEDS + ---help--- + This port uses the PiKRON LX_CPU board. See the + http://pikron.com/pages/products/cpu_boards/lx_cpu.html + for further information. This board features the NXP LPC4088 + (compatible with LPC1788) and Xilinx Spartan 6 XC6SLX9 + +config ARCH_BOARD_MAIX_BIT + bool "Sipeed Maix Bit board" + depends on ARCH_CHIP_K210 + select ARCH_HAVE_LEDS if !K210_WITH_QEMU + ---help--- + This is the board configuration for the port of NuttX to the + Sipeed Maix Bit board. This board features the RISC-V K210 + +config ARCH_BOARD_SMARTL_C906 + bool "smartl evaluation board for C906" + depends on ARCH_CHIP_C906 + select ARCH_HAVE_LEDS if !C906_WITH_QEMU + ---help--- + This is the board configuration for the port of NuttX to the + THEAD smartl-c906 board. This board features the RISC-V C906. + +config ARCH_BOARD_ICICLE_MPFS + bool "Polarfire Icicle evaluation board for MPFS" + depends on ARCH_CHIP_MPFS + select ARCH_HAVE_LEDS if !MPFS_WITH_QEMU + ---help--- + This is the board configuration for the port of NuttX to the + MicroChip icicle-mpfs board. This board features the RISC-V MPFS. + +config ARCH_BOARD_MAX32660_EVSYS + bool "Maxim Integrated MAX32660-EVSYS" + depends on ARCH_CHIP_MAX32660 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This option enables support the Maxim Integrated MAX32660-EVSYS + board. + +config ARCH_BOARD_MAKERLISP + bool "MakerLisp" + depends on ARCH_CHIP_EZ80F91 + select ARCH_HAVE_LEDS + ---help--- + ez80Acclaim! Microcontroller. This port use the MakerLisp machine + based on an eZ80F091 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under Windows. A + Windows native development environment is available but has not + been verified. + +config ARCH_BOARD_MAPLE + bool "maple board" + depends on ARCH_CHIP_STM32F103RB || ARCH_CHIP_STM32F103CB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + A configuration for the LeafLab's Maple and Maple Mini boards. + These boards are based on the STM32F103RBT6 chip for the standard + version and on the STM32F103CBT6 for the mini version + (See http://leaflabs.com/docs/hardware/maple.html) + +config ARCH_BOARD_MBED + bool "mbed LCP1768" + depends on ARCH_CHIP_LPC1768 + select ARCH_HAVE_LEDS + ---help--- + This option enables support the mbed board (http://mbed.org) + that features the NXP LPC1768 microcontroller. This OS is also + built with the arm-nuttx-elf toolchain*. STATUS: Contributed. + +config ARCH_BOARD_MCB1700 + bool "Keil MCB1700" + depends on ARCH_CHIP_LPC1768 + select ARCH_HAVE_LEDS + ---help--- + The configurations in this directory support the Keil MCB1700. + +config ARCH_BOARD_MCU123_LPC214X + bool "mcu123.com LPC2148 Development Board" + depends on ARCH_CHIP_LPC214X + select ARCH_HAVE_LEDS + ---help--- + This port is for the NXP LPC2148 as provided on the mcu123.com + lpc214x development board. This OS is also built with the arm-nuttx-elf + toolchain*. The port supports serial, timer0, spi, and usb. + +config ARCH_BOARD_METRO_M4 + bool "Adafruit M4 Metro" + depends on ARCH_CHIP_SAMD51J19 + select ARCH_HAVE_LEDS + ---help--- + ---help--- + This configuration is the port of NuttX to the Adafruit Metro M4. + The Metro M4 uses a Arduino form factor and and pinout. It's powered + with an ATSAMD51J19 + +config ARCH_BOARD_MIRTOO + bool "Mirtoo PIC32 Module from Dimitech" + depends on ARCH_CHIP_PIC32MX250F128D + select ARCH_HAVE_LEDS + ---help--- + This is the port to the DTX1-4000L "Mirtoo" module. This module uses MicroChip + PIC32MX250F128D. See http://www.dimitech.com/ for further information. + +config ARCH_BOARD_MICROPENDOUS3 + bool "Opendous Micropendous 3 board" + depends on ARCH_CHIP_AT90USB646 || ARCH_CHIP_AT90USB647 || ARCH_CHIP_AT90USB1286 || ARCH_CHIP_AT90USB1287 + ---help--- + This is a port to the Opendous Micropendous 3 board. This board may + be populated with either an AVR AT90USB646, 647, 1286, or 1287 MCU. + Support is configured for the AT90USB647. + +config ARCH_BOARD_MISOC_QEMU + bool "Qemu LM32 demo" + depends on ARCH_CHIP_LM32 + ---help--- + This configuration is port to NuttX running on a Qemu LM32 system. + You can find the Qemu setup at https://bitbucket.org/key2/qemu + +config ARCH_BOARD_MISOC_VERILATOR + bool "Verilator Misoc demo" + depends on ARCH_CHIP_LM32 || ARCH_CHIP_MINERVA + ---help--- + This configuration is port to NuttX running on Verilator. + +config ARCH_BOARD_MOTEINO_MEGA + bool "LowPowerLab MoteinoMEGA" + depends on ARCH_CHIP_ATMEGA1284P + select ARCH_HAVE_LEDS + ---help--- + This is placeholder for the LowPowerLab MoteinoMEGA that is based + on the Atmel AVR ATMega1284P MCU. There is not much there yet and what is + there is untested due to tool-related issues. + +config ARCH_BOARD_MOXA + bool "Moxa board" + depends on ARCH_CHIP_MOXART + ---help--- + Moxa + +config ARCH_BOARD_NE64BADGE + bool "FEG NE64 /PoE Badge board" + depends on ARCH_CHIP_MCS92S12NEC64 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + Future Electronics Group NE64 /PoE Badge board based on the + MC9S12NE64 hcs12 cpu. This port uses the m9s12x GCC toolchain. + STATUS: Under development. The port is code-complete but has + not yet been fully tested. + +config ARCH_BOARD_NTOSD_DM320 + bool "Neuros OSD v1.0 Dev Board" + depends on ARCH_CHIP_DM320 + select ARCH_HAVE_LEDS + ---help--- + This port uses the Neuros OSD v1.0 Dev Board with a GNU arm-nuttx-elf + toolchain*: see + + http://wiki.neurostechnology.com/index.php/OSD_1.0_Developer_Home + + There are some differences between the Dev Board and the currently + available commercial v1.0 Boards. See + + http://wiki.neurostechnology.com/index.php/OSD_Developer_Board_v1 + + NuttX operates on the ARM9EJS of this dual core processor. + STATUS: This port is code complete, verified, and included in the + NuttX 0.2.1 release. + +config ARCH_BOARD_NRF52832_DK + bool "Nordic nRF52832 Development Kit (PCA10040)" + depends on ARCH_CHIP_NRF52 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the Nordic nRF52832 Development Kit (PCA10040) + +config ARCH_BOARD_NRF52_FEATHER + bool "Adafruit NRF52 Feather board" + depends on ARCH_CHIP_NRF52 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the Adafruit nRF52832 Feather board + +config ARCH_BOARD_NRF52832_SPARKFUN + bool "Sparkfun nRF52832 breakout board" + depends on ARCH_CHIP_NRF52 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the Sparkfun nRF52832 breakout board + +config ARCH_BOARD_NRF52832_MDK + bool "MakerDiary nRF52832 MDK" + depends on ARCH_CHIP_NRF52 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects MakerDiary's nRF52832 MDKboard + +config ARCH_BOARD_NRF52840_DK + bool "Nordic nRF52840 Development Kit (PCA10056)" + depends on ARCH_CHIP_NRF52 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the Nordic nRF52840 Development Kit (PCA10056) + +config ARCH_BOARD_NRF52840_DONGLE + bool "Nordic nRF52840 Dongle (PCA10059)" + depends on ARCH_CHIP_NRF52 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This option selects the Nordic nRF52840 Dongle (PCA10059) + +config ARCH_BOARD_NUTINY_NUC120 + bool "Nuvoton NuTiny NUC120" + depends on ARCH_CHIP_NUC120LE3AN + select ARCH_HAVE_LEDS + ---help--- + This is the port to the Nuvoton NuTiny EVB 120 board. This board uses a + Nuvoton NUC120 chip, specifically the NUC120LE3AN. See http://www.nuvoton.com/ + for further information. + +config ARCH_BOARD_OLIMEX_EFM32G880F128_STK + bool "Olimex EFM32G880F128 STK" + depends on ARCH_CHIP_EFM32G880F128 + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects the Olimex EFM32G880F128 STK + +config ARCH_BOARD_OLIMEXLPC2378 + bool "Olimex-lpc2378 board" + depends on ARCH_CHIP_LPC2378 + select ARCH_HAVE_LEDS + ---help--- + This port uses the Olimex-lpc2378 board and a GNU arm-nuttx-elf toolchain* under + Linux or Cygwin. STATUS: ostest and NSH configurations available. + This port for the NXP LPC2378 was contributed by Rommel Marcelo. + +config ARCH_BOARD_OLIMEX_LPC_H3131 + bool "Olimex LPC-H3131 Development board" + depends on ARCH_CHIP_LPC3131 + select ARCH_HAVE_LEDS + ---help--- + Olimex LPC-H3131 development board. This board is based on the + NXP LPC3131 MCU. + +config ARCH_BOARD_OLIMEX_STRP711 + bool "Olimex STR-P711 board" + depends on ARCH_CHIP_STR71X + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This port uses the Olimex STR-P711 board and a GNU arm-nuttx-elf toolchain* under + Linux or Cygwin. See the http://www.olimex.com/dev/str-p711.html" for + further information. STATUS: Configurations for the basic OS test and NSH + are complete and verified. + +config ARCH_BOARD_OLIMEX_STM32H405 + bool "Olimex STM32 H405 board" + depends on ARCH_CHIP_STM32F405RG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Olimex STM32 H405 board and a GNU arm-nuttx-elf + toolchain* under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F405RGT6 + MCU. + +config ARCH_BOARD_OLIMEX_STM32H407 + bool "Olimex STM32 H407 board" + depends on ARCH_CHIP_STM32F407ZG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Olimex STM32 H407 board and a GNU arm-nuttx-elf + toolchain* under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F407ZGT6 (144pins). + +config ARCH_BOARD_OLIMEX_STM32E407 + bool "Olimex STM32 E407 board" + depends on ARCH_CHIP_STM32F407ZG || ARCH_CHIP_STM32F407ZE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Olimex STM32 E407 board based on the STMicro STM32F407ZGT6 (144pins) + or STM32F407ZE on newer boards. + +config ARCH_BOARD_OLIMEX_STM32P107 + bool "Olimex STM32 P107 board" + depends on ARCH_CHIP_STM32F107VC + ---help--- + This port uses the Olimex STM32 P107 board and a GNU arm-nuttx-elf toolchain* under + Linux or Cygwin. See the http://www.olimex.com for further information. This + board features the STMicro STM32F107VC MCU + +config ARCH_BOARD_OLIMEX_STM32P207 + bool "Olimex STM32 P207 board" + depends on ARCH_CHIP_STM32F207ZE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Olimex STM32 P207 board and a GNU arm-nuttx-elf + toolchain under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F207ZE MCU + +config ARCH_BOARD_OLIMEX_STM32P407 + bool "Olimex STM32 P407 board" + depends on ARCH_CHIP_STM32F407ZG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Olimex STM32 P407 board and a GNU arm-nuttx-elf + toolchain under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F407ZG MCU + +config ARCH_BOARD_OLIMEXINO_STM32 + bool "Olimexino STM32 board" + depends on ARCH_CHIP_STM32F103RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Olimexino STM32 board and a GNU arm-nuttx-elf + toolchain under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F103RBT6 MCU. + Contributed by David Sidrane. + +config ARCH_BOARD_OPEN1788 + bool "Wave Share Open1788" + depends on ARCH_CHIP_LPC1788 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Wave Share Open1788 board. See the + http://wvshare.com/product/Open1788-Standard.htm for further + information. This board features the NXP LPC1788 MCU + +config ARCH_BOARD_OR1K + bool "OpenRISC generic board" + depends on ARCH_CHIP_MOR1KX + select ARCH_HAVE_LEDS + ---help--- + Generic OpenRISC board. + +config ARCH_BOARD_P112 + bool "P112 Z180-based platform" + depends on ARCH_CHIP_Z8018216FSG + ---help--- + The P112 is notable because it was the first of the hobbyist single board + computers to reach the production stage. The P112 hobbyist computers + were relatively widespread and inspired other hobbyist centered home brew + computing projects such as N8VEM home brew computing project. The P112 + project still maintains many devoted enthusiasts and has an online + repository of software and other information. + + The P112 computer originated as a commercial product of "D-X Designs Pty + Ltd" of Australia. They describe the computer as "The P112 is a stand-alone + 8-bit CPU board. Typically running CP/M (tm) or a similar operating system, + it provides a Z80182 (Z-80 upgrade) CPU with up to 1MB of memory, serial, + parallel and diskette IO, and realtime clock, in a 3.5-inch drive form factor. + Powered solely from 5V, it draws 150mA (nominal: not including disk drives) + with a 16MHz CPU clock. Clock speeds up to 24.576MHz are possible." + + The P112 board was last available new in 1996 by Dave Brooks. In late 2004 + on the Usenet Newsgroup comp.os.cpm, talk about making another run of P112 + boards was discussed. David Griffith decided to produce additional P112 kits + with Dave Brooks blessing and the assistance of others. In addition Terry + Gulczynski makes additional P112 derivative hobbyist home brew computers. + Hal Bower was very active in the mid 1990's on the P112 project and ported + the "Banked/Portable BIOS". + +config ARCH_BOARD_PCDUINO_A10 + bool "pcDuino A10" + depends on ARCH_CHIP_A10 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the port of NuttX to the Allwinner A10-based pcDuino v1 + board. See http://www.pcduino.com/ for information about pcDuino Lite, v1, + and v2. I have not compared these boards in detail, but I believe that + the differences are cosmetic. This port was developed on the v1 board, + but the others may be compatible. + +config ARCH_BOARD_BEAGLEBONE_BLACK + bool "beaglebone black" + depends on ARCH_CHIP_AM335X + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the port of NuttX to the TI Beaglebone Black board. + +config ARCH_BOARD_PIC32MX_STARTERKIT + bool "Microchip PIC32MX Ethernet Starter Kit (DM320004)" + depends on ARCH_CHIP_PIC32MX795F512L + select ARCH_HAVE_LEDS + ---help--- + This is the port of NuttX to the Microchip PIC32 Ethernet Starter Kit + (DM320004) with the Multimedia Expansion Board (MEB, DM320005). + See www.microchip.com for further information. + +config ARCH_BOARD_PIC32MX7MMB + bool "Mikroelektronika PIC32MX7 MMB" + depends on ARCH_CHIP_PIC32MX795F512L + select ARCH_HAVE_LEDS + ---help--- + This is the port NuttX to the Mikroelektronika PIC32MX7 Multimedia Board + (MMB). See http://www.mikroe.com/ for further information. + +config ARCH_BOARD_PIC32MZ_STARTERKIT + bool "Microchip PIC32MZ Ethernet Starter Kit ((DM320006)" + depends on ARCH_CHIP_PIC32MZ2048ECH || ARCH_CHIP_PIC32MZ2048ECM + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS if PIC32MZ_GPIOIRQ_PORTB + ---help--- + This is the port of NuttX to the Microchip PIC32MZ Embedded + Connectivity (EC) Starter Kit. There are two configurations of the + starter kit: + + 1) The PIC32MZ Embedded Connectivity Starter Kit based on the + PIC32MZ2048ECH144-I/PH chip (DM320006), and + 2) The PIC32MZ Embedded Connectivity Starter Kit based on the + PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C) + + See www.microchip.com for further information. + +config ARCH_BOARD_NUCLEO_F429ZI + bool "STMicro NUCLEO-F429ZI" + depends on ARCH_CHIP_STM32F429Z + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo-F429zi board based on the STMicro STM32F429ZIT6 MCU. + +config ARCH_BOARD_NUCLEO_144 + bool "STMicro NUCLEO-144" + depends on ARCH_CHIP_STM32F722ZE || ARCH_CHIP_STM32F746ZG || ARCH_CHIP_STM32F767ZI + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo-144 development board featuring STMicroelectronics + F2, F3, F4, F7 and L4 MCU families. The board is a "Hardware pattern" + that can be populated with the 144 pin package of the following MCUs: + + Target STM32 Order code + STM32F207ZGT6 NUCLEO-F207ZG + STM32F303ZET6 NUCLEO-F303ZE + STM32F429ZIT6 NUCLEO-F429ZI + STM32F446ZET6 NUCLEO-F446ZE + STM32F722ZET6 NUCLEO-F722ZE + STM32F746ZGT6 NUCLEO-F746ZG + STM32F767ZIT6 NUCLEO-F767ZI + STM32L496ZGT6 NUCLEO-L496ZG + STM32L496ZGT6P NUCLEO-L496ZG-P + + Supported in this configuration are: + + NUCLEO-F722ZE - STM32F722ZET6 a 216MHz Cortex-M7, w/FPU - + 512KiB Flash memory and 256KiB SRAM. + NUCLEO-F746ZG - STM32F746ZGT6 a 216MHz Cortex-M7, w/FPU - + 1024KiB Flash memory and 320KiB SRAM. + NUCLEO-F767ZI - STM32F767ZIT6 a 216MHz Cortex-M7, w/DPFPU - + 2048KiB Flash memory and 512KiB SRAM. + +config ARCH_BOARD_NUCLEO_L073RZ + bool "STM32L073RZU6 Nucleo L073RZ" + depends on ARCH_CHIP_STM32L073RZ + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo L073RZ board based on the STMicro STM32L073RZU6 MCU. + +config ARCH_BOARD_NUCLEO_L496ZG + bool "STM32L496 Nucleo L496ZG" + depends on ARCH_CHIP_STM32L496ZG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo-144 development board featuring STMicroelectronics + F2, F3, F4, F7 and L4 MCU families. The board is a "Hardware pattern" + that can be populated with the 144 pin package of the following MCUs: + + Target STM32 Order code + STM32F207ZGT6 NUCLEO-F207ZG + STM32F303ZET6 NUCLEO-F303ZE + STM32F429ZIT6 NUCLEO-F429ZI + STM32F446ZET6 NUCLEO-F446ZE + STM32F746ZGT6 NUCLEO-F746ZG + STM32F767ZIT6 NUCLEO-F767ZI + STM32L496ZGT6 NUCLEO-L496ZG + STM32L496ZGT6P NUCLEO-L496ZG-P + + Supported in this configuration are: + + NUCLEO-L496ZG - STM32L496ZGT6 a 80MHz Cortex-M4, w/FPU - + 1024KiB Flash memory and 320KiB SRAM. + +config ARCH_BOARD_NUCLEO_F072RB + bool "STM32F072 Nucleo F072RB" + depends on ARCH_CHIP_STM32F072RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F072RB board based on the STMicro STM32F072RBT6 MCU. + +config ARCH_BOARD_NUCLEO_F091RC + bool "STM32F091 Nucleo F091RC" + depends on ARCH_CHIP_STM32F091RC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F091RC board based on the STMicro STM32F091RCT6 MCU. + +config ARCH_BOARD_NUCLEO_F103RB + bool "STM32F103 Nucleo F103RB" + depends on ARCH_CHIP_STM32F103RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F103RB board based on the STMicro STM32F103RBT6 MCU. + +config ARCH_BOARD_NUCLEO_F207ZG + bool "STM32F207 Nucleo F207ZG" + depends on ARCH_CHIP_STM32F207ZG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F207ZG board based on the STMicro STM32F207ZGT6 MCU. + +config ARCH_BOARD_NUCLEO_F302R8 + bool "STM32F303 Nucleo F302R8" + depends on ARCH_CHIP_STM32F302R8 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F302R8 board based on the STMicro STM32F302R8T6 MCU. + +config ARCH_BOARD_NUCLEO_F303RE + bool "STM32F303 Nucleo F303RE" + depends on ARCH_CHIP_STM32F303RE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F303RE board based on the STMicro STM32F303RET6 MCU. + +config ARCH_BOARD_NUCLEO_F303ZE + bool "STM32F303 Nucleo F303ZE" + depends on ARCH_CHIP_STM32F303ZE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F303ZE board based on the STMicro STM32F303ZET6 MCU. + +config ARCH_BOARD_NUCLEO_F334R8 + bool "STM32F334 Nucleo F334R8" + depends on ARCH_CHIP_STM32F334R8 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo F334R8 board based on the STMicro STM32F334R8 MCU. + +config ARCH_BOARD_NUCLEO_F401RE + bool "STM32F401 Nucleo F401RE" + depends on ARCH_CHIP_STM32F401RE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo F401RE in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_F410RB + bool "STM32F410 Nucleo F410RB" + depends on ARCH_CHIP_STM32F410RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo F410RB in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_F411RE + bool "STM32F411 Nucleo F411RE" + depends on ARCH_CHIP_STM32F411RE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo F411RE in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_F412ZG + bool "STM32F412 Nucleo F412ZG" + depends on ARCH_CHIP_STM32F412ZG + select ARCH_HAVE_LEDS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo F412ZG in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_F446RE + bool "STM32F446 Nucleo F446RE" + depends on ARCH_CHIP_STM32F446R + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo F446RE in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_G070RB + bool "STM32G070 Nucleo G070RB" + depends on ARCH_CHIP_STM32G070RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo G070RB in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_G071RB + bool "STM32G071 Nucleo G071RB" + depends on ARCH_CHIP_STM32G071RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + Nucleo G071RB in the NuttX source tree. + +config ARCH_BOARD_NUCLEO_H743ZI + bool "STM32H743 Nucleo H743ZI" + depends on ARCH_CHIP_STM32H743ZI + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS +# TODO: select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo H743ZI board based on the STMicro STM32H743ZI MCU. + +config ARCH_BOARD_NUCLEO_H743ZI2 + bool "STM32H743 Nucleo H743ZI2" + depends on ARCH_CHIP_STM32H743ZI + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + STMicro Nucleo H743ZI2 board based on the STMicro STM32H743ZI MCU. + +config ARCH_BOARD_NUCLEO_L152RE + bool "STM32L152 Nucleo L152RE" + depends on ARCH_CHIP_STM32L152RE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo L152RE board based on the STMicro STM32L152REU6 MCU. + +config ARCH_BOARD_NUCLEO_L432KC + bool "STM32L432 Nucleo-32 L432KC" + depends on ARCH_CHIP_STM32L432KC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo-32 L432KC board based on the STMicro STM32L432KCU6 MCU. + +config ARCH_BOARD_NUCLEO_L452RE + bool "STM32L452 Nucleo L452RE" + depends on ARCH_CHIP_STM32L452RE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo L452RE board based on the STMicro STM32L452RET6 MCU. + +config ARCH_BOARD_NUCLEO_L476RG + bool "STM32L476 Nucleo L476RG" + depends on ARCH_CHIP_STM32L476RG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo L476RG board based on the STMicro STM32L476RGT6 MCU. + +config ARCH_BOARD_NUCLEO_L552ZE + bool "STM32L552 Nucleo L552ZE" + depends on ARCH_CHIP_STM32L552ZE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo STM32L552 board based on the STMicro STM32L552ZET6 MCU. + +config ARCH_BOARD_QEMU_I486 + bool "Qemu i486 Mode" + depends on ARCH_X86 || ARCH_I486 + ---help--- + Port of NuttX to QEMU in i486 mode. This port will also run on real i486 + hardware (Google the Bifferboard). + +config ARCH_BOARD_INTEL64_QEMU + bool "Intel64 for Qemu simulator" + depends on ARCH_X86_64 || ARCH_INTEL64 + ---help--- + Port of NuttX to QEMU in intel64 mode. This port will also run on real + generic Intel64 hardware. + +config ARCH_BOARD_RASPBERRYPI_PICO + bool "Raspberry Pi Pico board" + depends on ARCH_CHIP_RP2040 + ---help--- + This is a port to the Raspberry Pi Pico board. + +config ARCH_BOARD_RX65N + bool "RX65N renesas board" + depends on ARCH_CHIP_R5F565NEDDFC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This is a port of the renesas RX65N on the Renesas RX65N board. + STATUS: Work has just began on this port. + +config ARCH_BOARD_RX65N_RSK1MB + bool "RX65N on RSKRX65N-1MB renesas board" + depends on ARCH_CHIP_R5F565NEDDFC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This is a port of the renesas RX65N on the Renesas RX65N board. + STATUS: Work has just began on this port. + +config ARCH_BOARD_RX65N_RSK2MB + bool "RX65N on RSKRX65N-2MB renesas board" + depends on ARCH_CHIP_R5F565NEHDFC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This is a port of the renesas RX65N on the Renesas RX65N board. + STATUS: Work has just began on this port. + +config ARCH_BOARD_RX65N_GRROSE + bool "RX65N on GR-ROSE renesas board" + depends on ARCH_CHIP_R5F565NEHDFP + select ARCH_HAVE_LEDS + ---help--- + This is a port of the renesas RX65N on the Renesas RX65N board. + STATUS: Work has just began on this port. + +config ARCH_BOARD_RV32M1_VEGA + bool "RV32M1 VEGA board" + depends on ARCH_CHIP_RV32M1 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the board configuration for the port of NuttX to the + RV32M1 VEGA board. This board features the RV32M1 RISC-V Core(s). + +config ARCH_BOARD_S32K118EVB + bool "NXP S32K118EVB" + depends on ARCH_CHIP_S32K118 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects support for NuttX on the NXP S32K118EVB board + featuring the S32K118 Cortex-M0+. + +config ARCH_BOARD_S32K144EVB + bool "NXP S32K144EVB" + depends on ARCH_CHIP_S32K144 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects support for NuttX on the NXP S32K144EVB board + featuring the S32K144 Cortex-M4F. + +config ARCH_BOARD_UCANS32K146 + bool "NXP UCANS32K146" + depends on ARCH_CHIP_S32K146 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects support for NuttX on the NXP UCANS32K board + featuring the S32K146 Cortex-M4F. + +config ARCH_BOARD_S32K146EVB + bool "NXP S32K146EVB" + depends on ARCH_CHIP_S32K146 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects support for NuttX on the NXP S32K146EVB board + featuring the S32K146 Cortex-M4F. + +config ARCH_BOARD_S32K148EVB + bool "NXP S32K148EVB" + depends on ARCH_CHIP_S32K148 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects support for NuttX on the NXP S32K148EVB board + featuring the S32K148 Cortex-M4F. + +config ARCH_BOARD_SABRE_6QUAD + bool "NXP/Freescale i.MX6 Sabre-6Quad board" + depends on ARCH_CHIP_IMX6_6QUAD + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This options selects support for NuttX on the NXP/Freescale Sabre + board featuring the iMX 6Quad CPU. + +config ARCH_BOARD_SAMA5D2_XULT + bool "Atmel SAMA5D2 Xplained Ultra development board" + depends on ARCH_CHIP_ATSAMA5D27 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAMA5D2-XULT development board + +config ARCH_BOARD_GIANT_BOARD + bool "Groboards Giant Board (SAMA5D27C-D1G)" + depends on ARCH_CHIP_ATSAMA5D27 + select SAMA5D27_GIANT_BOARD_492MHZ + select ARCH_HAVE_LEDS + ---help--- + This options selects support for NuttX on the Groboards Giant Board, + featuring the SAMA5D27C-D1G SIP with 128MB DDR2 RAM. + +config ARCH_BOARD_SAMA5D3X_EK + bool "Atmel SAMA5D3x-EK development board" + depends on ARCH_CHIP_ATSAMA5D31 || ARCH_CHIP_ATSAMA5D33 || ARCH_CHIP_ATSAMA5D34 || ARCH_CHIP_ATSAMA5D35 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_PHY_INTERRUPT + ---help--- + The port of NuttX to the Atmel SAMA5D3x-EK development board (where x=1,3,4, or 5). + +config ARCH_BOARD_SAMA5D3_XPLAINED + bool "Atmel SAMA5D3 Xplained development board" + depends on ARCH_CHIP_ATSAMA5D36 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_PHY_INTERRUPT if SAMA5_EMACA || SAMA5_EMAC0 || SAMA5_EMAC1 || SAMA5_GMAC + ---help--- + The port of NuttX to the Atmel SAMA5D3 Xplained development board. + +config ARCH_BOARD_SAMA5D4_EK + bool "Atmel SAMA5D4-EK development board" + depends on ARCH_CHIP_ATSAMA5D44 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_PHY_INTERRUPT + ---help--- + The port of NuttX to the Atmel SAMA5D4-EK development board + +config ARCH_BOARD_SAMD20_XPLAINED + bool "Atmel SAMD20-Xplained Pro development board" + depends on ARCH_CHIP_SAMD20J18 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAMD20-Xplained Pro development board. + This board features the ATSAMD20J18A MCU (Cortex-M0+ with 256KB of FLASH + and 32KB of SRAM). + +config ARCH_BOARD_SAMD21_XPLAINED + bool "Atmel SAMD21-Xplained Pro development board" + depends on ARCH_CHIP_SAMD21J18A + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAMD21-Xplained Pro development board. + This board features the ATSAMD21J18A MCU (Cortex-M0+ with 256KB of FLASH + and 32KB of SRAM). + +config ARCH_BOARD_SAME54_XPLAINED_PRO + bool "Atmel SAME54-Xplained Pro development board" + depends on ARCH_CHIP_SAME54P20 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAME54-Xplained Pro development board. + +config ARCH_BOARD_SAML21_XPLAINED + bool "Atmel SAML21-Xplained Pro development board" + depends on ARCH_CHIP_SAML21J18 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAML21-Xplained Pro development board. + This board features the ATSAML21J18A MCU (Cortex-M0+ with 256KB of FLASH + and 32KB of SRAM). + +config ARCH_BOARD_SAM3UEK + bool "Atmel SAM3U-EK development board" + depends on ARCH_CHIP_ATSAM3U4E + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAM3U-EK development board. + +config ARCH_BOARD_SAM4CMP_DB + bool "Atmel SAM4CMP-DB development board" + depends on ARCH_CHIP_ATSAM4CMP16B + ---help--- + The port of NuttX to the Atmel SAM4CMP-DB development board. + +config ARCH_BOARD_SAM4EEK + bool "Atmel SAM4E-EK development board" + depends on ARCH_CHIP_ATSAM4E16E + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_PHY_INTERRUPT + ---help--- + The port of NuttX to the Atmel SAM4E-EK development board. This + board features the SAM4E16 MCU running at up to 120MHz. + +config ARCH_BOARD_SAM4L_XPLAINED + bool "Atmel SAM4L-Xplained Pro development board" + depends on ARCH_CHIP_ATSAM4LC4C + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAM4L-Xplained Pro development board. + +config ARCH_BOARD_SAM4S_XPLAINED + bool "Atmel SAM4S-Xplained development board" + depends on ARCH_CHIP_ATSAM4S16C + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAM4S-Xplained development board. + +config ARCH_BOARD_SAM4S_XPLAINED_PRO + bool "Atmel SAM4S-Xplained Pro development board" + depends on ARCH_CHIP_ATSAM4SD32C + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The port of NuttX to the Atmel SAM4S-Xplained Pro development board. + +config ARCH_BOARD_SAME70_XPLAINED + bool "Atmel SAME70 Xplained evaluation board" + depends on ARCH_CHIP_SAME70Q21 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_PHY_INTERRUPT + ---help--- + The port of NuttX to the Atmel SAME70 Xplained evaluation board. + +config ARCH_BOARD_SAMV71_XULT + bool "Atmel SAMV71 Xplained Ultra evaluation board" + depends on ARCH_CHIP_SAMV71Q21 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_PHY_INTERRUPT + ---help--- + The port of NuttX to the Atmel SAMV71 Xplained Ultra evaluation board. + +config ARCH_BOARD_SHENZHOU + bool "Shenzhou STM32F107 board" + depends on ARCH_CHIP_STM32F107VC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This port uses the Shenzhou STM32 F107 board and a GNU arm-nuttx-elf toolchain* under + Linux or Cygwin. See the http://www.armjishu.com for further information. This + board features the STMicro STM32F107VC MCU + +config ARCH_BOARD_SKP16C26 + bool "Renesas SKP16C26 StarterKit" + depends on ARCH_CHIP_M30262F8 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + Renesas M16C processor on the Renesas SKP16C26 StarterKit. This port + uses the GNU m32c toolchain. STATUS: The port is complete but untested + due to issues with compiler internal errors. + +config ARCH_BOARD_PHOTON + bool "Photon wifi board" + depends on ARCH_CHIP_STM32F205RG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + A configuration for the Photon from Particle Devices + (https://www.particle.io). This board features the STM32F205RGY6 + MCU from STMicro. + +config ARCH_BOARD_PNEV5180B + bool "NXP PNEV5180B NFC Frontend Development Kit" + depends on ARCH_CHIP_LPC1769 + select ARCH_HAVE_LEDS + ---help--- + NXP Semiconductors' PN5180 NFC Frontend Development Kit. This board is + based on the NXP LPC1769 MCU. + +config ARCH_BOARD_STM32_BUTTERFLY2 + bool "Kamami STM32Butterfly2 development board" + depends on ARCH_CHIP_STM32F107VC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + A configuration for the Kamami STM32Butterfly2 development board + based on STM32F107VC micro-controller chip with optional ETH + board. See + https://kamami.pl/zestawy-uruchomieniowe-stm32/178507-stm32butterfly2.html + +config ARCH_BOARD_STM32_TINY + bool "STM32-Tiny board" + depends on ARCH_CHIP_STM32F103C8 + select ARCH_HAVE_LEDS + ---help--- + A configuration for the STM32 Tiny board. This board is based on a + STM32F103C8T6 micro-controller chip, and is (always ?) bundled with + an nRF24L01+ wireless module. + +config ARCH_BOARD_STM32F103_MINIMUM + bool "STM32F103C8T6 Minimum ARM Development Board" + depends on ARCH_CHIP_STM32F103C8 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + A configuration for the STM32F103 Minimum board. + +config ARCH_BOARD_STM32F411_MINIMUM + bool "STM32F411CEU6 Minimum ARM Development Board" + depends on ARCH_CHIP_STM32F411CE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + A configuration for the STM32F411 Minimum board. + +config ARCH_BOARD_STM3210E_EVAL + bool "STMicro STM3210E-EVAL development board" + depends on ARCH_CHIP_STM32F103ZE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM3210E-EVAL development board based on the STMicro STM32F103ZET6 + microcontroller (ARM Cortex-M3). This port uses the GNU Cortex-M3 + toolchain. + +config ARCH_BOARD_STM3220G_EVAL + bool "STMicro STM3220G-EVAL development board" + depends on ARCH_CHIP_STM32F207IG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM3220G-EVAL development board based on the STMicro STM32F407IG + microcontroller (ARM Cortex-M3). + +config ARCH_BOARD_STM3240G_EVAL + bool "STMicro STM3240G-EVAL development board" + depends on ARCH_CHIP_STM32F407IG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM3240G-EVAL development board based on the STMicro STM32F103ZET6 + microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4 + toolchain (such as CodeSourcery). + +config ARCH_BOARD_STM32F051_DISCOVERY + bool "STMicro STM32F051-Discovery board" + depends on ARCH_CHIP_STM32F051R8 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F051-Discovery board based on the STMicro ARCH_CHIP_STM32F051R8 MCU. + +config ARCH_BOARD_STM32F072_DISCOVERY + bool "STMicro STM32F072-Discovery board" + depends on ARCH_CHIP_STM32F072RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F072-Discovery board based on the STMicro ARCH_CHIP_STM32F072RB MCU. + +config ARCH_BOARD_STM32F3_DISCOVERY + bool "STMicro STM32F3-Discovery board" + depends on ARCH_CHIP_STM32F303VC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F3-Discovery board based on the STMicro STM32F303VCT6 MCU. + +config ARCH_BOARD_STM32F334_DISCO + bool "STMicro STM32F334-Discovery board" + depends on ARCH_CHIP_STM32F334C8 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F334-Discovery board based on the STMicro STM32F334C8T6 MCU. + +config ARCH_BOARD_OMNIBUSF4 + bool "OMNIBUSF4 flight controller" + depends on ARCH_CHIP_STM32F405RG + select ARCH_HAVE_LEDS + ---help--- + Flight controllers compatible with the OMINBUSF4 Betaflight target + +config ARCH_BOARD_STM32F4_DISCOVERY + bool "STMicro STM32F4-Discovery board" + depends on ARCH_CHIP_STM32F407VG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F4-Discovery board based on the STMicro STM32F407VGT6 MCU. + +config ARCH_BOARD_STM32F4_AIIT + bool "STMicro STM32F4-AIIT board" + depends on ARCH_CHIP_STM32F407VG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F4-Discovery board based on the STMicro STM32F407VGT6 MCU. + +config ARCH_BOARD_STM32F411E_DISCO + bool "STMicro STM32F411E-Discovery board" + depends on ARCH_CHIP_STM32F411VE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is a minimal configuration that supports low-level test of the + STMicro STM32F411E-Discovery Board. + +config ARCH_BOARD_STM32F429I_DISCO + bool "STMicro STM32F429I-Discovery board" + depends on ARCH_CHIP_STM32F429Z + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F429I-Discovery board based on the STMicro STM32F429ZIT6 MCU. + +config ARCH_BOARD_STM32F746G_DISCO + bool "STMicro STM32F746G-Discovery board" + depends on ARCH_CHIP_STM32F746NG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F746G-DISCO development board featuring the STM32F746NGH6 + MCU. The STM32F746NGH6 is a 216MHz Cortex-M7 operation with 1024Kb Flash + memory and 320Kb SRAM. + +config ARCH_BOARD_STM32F769I_DISCO + bool "STMicro STM32F769I-Discovery board" + depends on ARCH_CHIP_STM32F769NI + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32F769I-DISCO development board featuring the STM32F769NIH6 + MCU. The STM32F769NIH6 is a 216MHz Cortex-M7 with 2048Kb Flash + memory and 512Kb SRAM. + +config ARCH_BOARD_STM32H747I_DISCO + bool "STMicro STM32H747I-DISCO board" + depends on ARCH_CHIP_STM32H747XI + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32H747I-DISCO development board featuring the STM32H747XIH6 + MCU. The STM32H747XIH6 is a dual core (480MHz Cortex-M7, 240MHz Cortex-M4) + with 2048Kb Flash memory and 1024Kb SRAM. + +config ARCH_BOARD_STM32F746_WS + bool "Waveshare STM32F746 board" + depends on ARCH_CHIP_STM32F746IG + ---help--- + Waveshare STM32F746 development board featuring the STM32F746IG MCU. + +config ARCH_BOARD_B_G474E_DPOW1 + bool "ST Micro B-G474E-DPOW1 Discovery Kit" + depends on ARCH_CHIP_STM32G474R + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + ST Micro B-G474E-DPOW1 Discovery Kit, based on the STM32G474RET6 + MCU, a Cortex-M4 with FPU, 170 MHz, 128 KB SRAM, 512 KB code. + See boards/arm/stm32/b-g474e-dpow1/README.txt. + +config ARCH_BOARD_B_G431B_ESC1 + bool "ST Micro B-G431B-ESC1 Discovery Kit" + depends on ARCH_CHIP_STM32G431C + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + ST Micro B-G431B-ESC1 Discovery Kit, based on the STM32G431CB + MCU, a Cortex-M4 with FPU, 170 MHz, 32 KB SRAM, 128 KB code. + +config ARCH_BOARD_NUCLEO_G431KB + bool "STM32G431KB Nucleo G431KB" + depends on ARCH_CHIP_STM32G431K + select ARCH_HAVE_LEDS + ---help--- + STMicro Nucleo-G431KB board based on the STMicro STM32G431KB MCU. + +config ARCH_BOARD_NUCLEO_G431RB + bool "STM32G431RB Nucleo G431RB" + depends on ARCH_CHIP_STM32G431R + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro Nucleo-G431RB board based on the STMicro STM32G431RB MCU. + +config ARCH_BOARD_B_L072Z_LRWAN1 + bool "B-L072Z-LRWAN1" + depends on ARCH_CHIP_STM32L072CZ + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32L0 Discovery kit with LoRa/SigFox based on STM32L072CZ MCU. + +config ARCH_BOARD_B_L475E_IOT01A + bool "STMicro IoT Discovery kit" + depends on ARCH_CHIP_STM32L475VG + select ARCH_HAVE_LEDS + ---help--- + STMicro IoT development board featuring the STM32L475VG + MCU. The STM32L475VG is a Cortex-M4 optimised for low-power operation + at up to 80MHz operation with 1024Kb Flash memory and 96+32Kb SRAM. + +config ARCH_BOARD_STM32L476VG_DISCO + bool "STMicro STM32L476VG -Discovery board" + depends on ARCH_CHIP_STM32L476RG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32L476VG_DISCO development board featuring the STM32L476VG + MCU. The STM32L476VG is a Cortex-M4 optimised for low-power operation + at up to 80MHz operation with 1024Kb Flash memory and 96+32Kb SRAM. + +config ARCH_BOARD_STM32L4R9AI_DISCO + bool "STMicro STM32L4R9AI -Discovery board" + depends on ARCH_CHIP_STM32L4R9AI + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32L4R9AI_DISCO development board featuring the STM32L4R9AI + MCU. The STM32L4R9AI is a Cortex-M4 optimised for low-power operation + at up to 120MHz operation with 2048Kb Flash memory and 192+64+384Kb SRAM. + +config ARCH_BOARD_STM32L476_MDK + bool "Motorola Mods Development Kit (MDK)" + depends on ARCH_CHIP_STM32L476RG + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Motorola Mods Development Board (MDK) features STM32L476ME MCU. + The STM32L476ME is a Cortex-M4 optimised for low-power operation + at up to 80MHz operation with 1024Kb Flash memory and 96+32Kb SRAM. + +config ARCH_BOARD_STM32L562E_DK + bool "STM32L562E-DK" + depends on ARCH_CHIP_STM32L562QE + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32L562E-DK board based on the STMicro STM32L562QEI6 MCU. + +config ARCH_BOARD_STM32L_DISCOVERY + bool "STMicro STM32L-Discovery board" + depends on ARCH_CHIP_STM32L152RB || ARCH_CHIP_STM32L152RC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32L-Discovery board based on the STMicro STM32L152RBT6 or + STM32L152RCT6 MCUs. + +config ARCH_BOARD_STM32VL_DISCOVERY + bool "STMicro STM32VL-Discovery board" + depends on ARCH_CHIP_STM32F100RB + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + STMicro STM32VL-Discovery board based on the STMicro STM32F100RB MCU. + +config ARCH_BOARD_MIKROE_STM32F4 + bool "MikroElektronika Mikromedia for STM32F4 board" + depends on ARCH_CHIP_STM32F407VG + ---help--- + This is the port NuttX to the Mikroelektronika Mikromedia for STM32F4 Multimedia Board + (MMB). See http://www.mikroe.com/ for further information. + +config ARCH_BOARD_SUREPIC32MX + bool "Sure PIC32MX boards" + depends on ARCH_CHIP_PIC32MX440F512H + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + The "Advanced USB Storage Demo Board," Model DB-DP11215, from Sure + Electronics (http://www.sureelectronics.net/). This board features + the MicroChip PIC32MX440F512H. See also + http://www.sureelectronics.net/goods.php?id=1168 for further + information about the Sure DB-DP11215 board. + +config ARCH_BOARD_TEENSY_20 + bool "PJRC Teensy++ 2.0 board" + depends on ARCH_CHIP_AT90USB1286 + select ARCH_HAVE_LEDS + ---help--- + This is the port of NuttX to the PJRC Teensy++ 2.0 board. This board is + developed by http://pjrc.com/teensy/. The Teensy++ 2.0 is based + on an Atmel AT90USB1286 MCU. + +config ARCH_BOARD_TEENSY_3X + bool "PJRC Teensy++ 3.1 board" + depends on ARCH_CHIP_MK20DX256VLH7 || ARCH_CHIP_MK20DX128VLH5 + select ARCH_HAVE_LEDS + ---help--- + This is the port of NuttX to the PJRC Teensy++ 2.0 board. This board is + developed by http://pjrc.com/teensy/. The Teensy++ 2.0 is based + on an Atmel AT90USB1286 MCU. + + This is the port of NuttX to the Teensy-3.1 from PJRC + (https://www.pjrc.com/). The Teensy-3.1 features the Freescale + MK30DX256VLH7 chip (now NXP). The MK30DX256VLH7 is a 64-pin Cortex-M4 + running at 72MHz. It has 256KiB of program FLASH memory and 64KiB of + SRAM. For more information about the Teensy 3.1, see + + https://www.pjrc.com/teensy/teensy31.html + https://www.pjrc.com/store/teensy31.html + + This board configuration can also be used with the older Teensy-3.0. The + Teensy-3.0 has the same schematic (although some pins are not used on the + Teensy-3.0). the primary difference is that the Teensy 3.0 has a + MK20DX128VLH5 with slightly less capability. + +config ARCH_BOARD_TEENSY_4X + bool "PJRC Teensy++ 4.x board" + depends on ARCH_CHIP_MIMXRT1062DVL6A + select ARCH_HAVE_LEDS + ---help--- + This is the port of NuttX to the PJRC Teensy++ 4.x board. This board is + developed by http://pjrc.com/teensy/. The Teensy++ 4.x is based + on an NXP MIMXRT1062DVL6A MCU. The port can support both Teensy 4.0 and + Teensy 4.1 boards. + +config ARCH_BOARD_TEENSY_LC + bool "Teensy LC" + depends on ARCH_CHIP_MKL25Z64 + select ARCH_HAVE_LEDS + ---help--- + This is the configuration for the Teensy LC board. + See https://www.pjrc.com/teensy/teensyLC.html. The + Teensy LC is based on the Freescale KL25Z. + +config ARCH_BOARD_TM4C123G_LAUNCHPAD + bool "Tiva TM4C123G LaunchPad" + depends on ARCH_CHIP_TM4C123GH6PM + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Tiva TM4C123G LaunchPad. + +config ARCH_BOARD_TM4C1294_LAUNCHPAD + bool "Tiva EK-TM4C1294XL LaunchPad" + depends on ARCH_CHIP_TM4C1294NCPDT + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Tiva EK-TM4C1294XL LaunchPad. + +config ARCH_BOARD_TMS570LS31X_USB_KIT + bool "TI TMS570LS31X_USB_KIT" + depends on ARCH_CHIP_TMS570LS3137ZWT + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + TI Hercules TMS570LS31xx Evaluation Kit (TMDS570ls31xx USB Kit) + featuring the Hercules TMS570LS3137ZWT chip. + +config ARCH_BOARD_TWR_K60N512 + bool "FreeScale TWR-K60N512 development board" + depends on ARCH_CHIP_MK60N512VMD100 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Kinetis K60 Cortex-M4 MCU. This port uses the FreeScale TWR-K60N512 + development board. + +config ARCH_BOARD_TWR_K64F120M + bool "Freescale TWR-K64F120M development board" + depends on ARCH_CHIP_MK64FN1M0VMD12 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Kinetis K64 Cortex-M4 MCU. This port uses the Freescale TWR-K64F120M + development board. + +config ARCH_BOARD_U_BLOX_C027 + bool "u-blox C027" + depends on ARCH_CHIP_LPC1768 + select ARCH_HAVE_LEDS + ---help--- + u-blox GSM and GPS module evaluation board with NXP LPCExpresso + LPC1768. The GSM module is one of LISA-C200, LISA-U200 or SARA-G350. + The GPS module is one of MAX-M7 or MAX-M8. + +config ARCH_BOARD_UBW32 + bool "UBW32 v2.4 board from Sparkfun" + depends on ARCH_CHIP_PIC32MX460F512L + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + This is the port to the Sparkfun UBW32 board. This port uses the original v2.4 + board which is based on the MicroChip PIC32MX460F512L. See + http://www.sparkfun.com/products/8971. This older version has been replaced + with this board http://www.sparkfun.com/products/9713. See also + http://www.schmalzhaus.com/UBW32/. + +config ARCH_BOARD_US7032EVB1 + bool "Hitachi SH-1/US7032EVB1 board" + depends on ARCH_CHIP_SH7032 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This is a port of the Hitachi SH-1 on the Hitachi SH-1/US7032EVB1 board. + STATUS: Work has just began on this port. + +config ARCH_BOARD_VIEWTOOL_STM32F107 + bool "ViewTool STM32F103/F107" + depends on ARCH_CHIP_STM32F107VC || ARCH_CHIP_STM32F103VC + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + ---help--- + This port uses the ViewTool STM32F103/F107 V1.2 board. This + board may be fitted with either: (1) STM32F107VCT6 or (2) STM32F103VCT6. + See http://www.viewtool.com/ for further information. + +config ARCH_BOARD_XMC4500RELAX + bool "Infineon XMC4500 Relax" + depends on ARCH_CHIP_XMC4500 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Infineon XMC4500 Relax Lite v1 + +config ARCH_BOARD_XMC4700RELAX + bool "Infineon XMC4700 Relax" + depends on ARCH_CHIP_XMC4700 + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + ---help--- + Infineon XMC4700 Relax + +config ARCH_BOARD_Z16F2800100ZCOG + bool "Zilog Z16F2800100ZCOG Development Kit" + depends on ARCH_CHIP_Z16F2811 + select ARCH_HAVE_LEDS + ---help--- + z16f Microcontroller. This port uses the ZiLOG z16f2800100zcog + development kit and the Zilog ZDS-II Windows command line tools. The + development environment is Cygwin under WinXP. + +config ARCH_BOARD_Z20X + bool "z20x" + depends on ARCH_CHIP_EZ80F92 + ---help--- + ez80Acclaim! Microcontroller. This port use the z80x board + based on an eZ80F092 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under Windows. A + Windows native development environment is available but has not + been verified. + +config ARCH_BOARD_Z80SIM + bool "Z80 Instruction Set Simulator" + depends on ARCH_CHIP_Z80 + select UART_SERIALDRIVER + ---help--- + z80 Microcontroller. This port uses a Z80 instruction set simulator + called z80sim. This port also uses the SDCC toolchain + (http://sdcc.sourceforge.net/") (verified with version 2.6.0). + +config ARCH_BOARD_Z8ENCORE000ZCO + bool "ZiLOG Z8ENCORE000ZCO Development Kit" + depends on ARCH_CHIP_Z8F6403 + select ARCH_HAVE_LEDS + ---help--- + z8Encore! Microcontroller. This port use the ZiLOG Z8ENCORE000ZCO + development kit, Z8F6403 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +config ARCH_BOARD_Z8F64200100KIT + bool "ZiLOG Z8F64200100KIT Development Kit" + depends on ARCH_CHIP_Z8F6423 + select ARCH_HAVE_LEDS + ---help--- + z8Encore! Microcontroller. This port use the Zilog Z8F64200100KIT + development kit, Z8F6423 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +config ARCH_BOARD_ZP214XPA + bool "The0.net LPC2148 Development Board" + depends on ARCH_CHIP_LPC214X + ---help--- + This port is for the NXP LPC2148 as provided on the The0.net + ZPA213X/4XPA development board. Includes support for the + UG-2864AMBAG01 OLED also from The0.net + +config ARCH_BOARD_ZKITARM + bool "Zilogic ZKit-ARM-1769 Development Kit" + depends on ARCH_CHIP_LPC1768 + select ARCH_HAVE_LEDS + ---help--- + Zilogic System's ARM development Kit, ZKIT-ARM-1769. This board is based + on the NXP LPC1769. The NuttX Buildroot toolchain is used by default. + +config ARCH_BOARD_SPRESENSE + bool "Sony Spresense Board" + depends on ARCH_CHIP_CXD56XX + select ARCH_HAVE_LEDS + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_HAVE_POWEROFF + ---help--- + none + +config ARCH_BOARD_SIM + bool "User mode simulation" + select ARCH_HAVE_BUTTONS + select ARCH_HAVE_IRQBUTTONS + depends on ARCH_SIM + ---help--- + A user-mode port of NuttX to the x86 Linux/Cygwin platform is available. + The purpose of this port is primarily to support OS feature development. + This port does not support interrupts or a real timer (and hence no + round robin scheduler) Otherwise, it is complete. + +config ARCH_BOARD_CUSTOM + bool "Custom development board" + ---help--- + Select this option if there is no directory for the board under boards/. + + Don't see the board you want? You must first select the exact MCU part + number, then the boards supporting that part will be available for selection. + +endchoice + +if ARCH_BOARD_CUSTOM +menu "Custom Board Configuration" + +config ARCH_BOARD_CUSTOM_NAME + string "Custom board name" + default "" + ---help--- + This is a name for the board. It is not used except to return the + information via the NSH uname command. + +config ARCH_BOARD_CUSTOM_DIR + string "Custom board directory" + default "" + ---help--- + If the custom board configuration is selected, then it is necessary + to also tell the build system where it can find the board directory + for the custom board. + + In this case, the board directory is assumed to lie outside the + NuttX directory. The provided path must then be a full, absolute + path to some location outside of the NuttX source tree (like + "~/projects/myboard"). + +config ARCH_BOARD_CUSTOM_DIR_RELPATH + bool "Relative custom board directory" + default y + ---help--- + Specifies that the board directory is relative to the NuttX directory. + +config BOARD_CUSTOM_LEDS + bool "Custom board LEDs" + default n + select ARCH_HAVE_LEDS + +config BOARD_CUSTOM_BUTTONS + bool "Custom board buttons" + default n + select ARCH_HAVE_BUTTONS + select ARCH_BUTTONS + +config BOARD_CUSTOM_IRQBUTTONS + bool "Custom Board IRQ buttons" + default n + depends on BOARD_CUSTOM_BUTTONS + select ARCH_HAVE_IRQBUTTONS + select ARCH_IRQBUTTONS + +config BOARD_CUSTOM_INTERRUPT + bool "Custom board PHY interrupts" + default n + depends on NETDEVICES + select ARCH_PHY_INTERRUPT + +endmenu # Custom Board Configuration +endif #ARCH_BOARD_CUSTOM + +config ARCH_BOARD + string + default "amber" if ARCH_BOARD_AMBER + default "arduino-mega2560" if ARCH_BOARD_ARDUINO_MEGA2560 + default "arduino-due" if ARCH_BOARD_ARDUINO_DUE + default "arduino-m0" if ARCH_BOARD_ARDUINO_M0 + default "arty_a7" if ARCH_BOARD_ARTY_A7 + default "avr32dev1" if ARCH_BOARD_AVR32DEV1 + default "axoloti" if ARCH_BOARD_AXOLOTI + default "bambino-200e" if ARCH_BOARD_BAMBINO_200E + default "bl602evb" if ARCH_BOARD_BL602EVB + default "c5471evm" if ARCH_BOARD_C5471EVM + default "circuit-express" if ARCH_BOARD_CIRCUIT_EXPRESS + default "clicker2-stm32" if ARCH_BOARD_CLICKER2_STM32 + default "cloudctrl" if ARCH_BOARD_CLOUDCTRL + default "demo9s12ne64" if ARCH_BOARD_DEMOS92S12NEC64 + default "dk-tm4c129x" if ARCH_BOARD_DK_TM4C129X + default "ea3131" if ARCH_BOARD_EA3131 + default "ea3152" if ARCH_BOARD_EA3152 + default "eagle100" if ARCH_BOARD_EAGLE100 + default "efm32-g8xx-stk" if ARCH_BOARD_EFM32G8XXSTK + default "efm32gg-stk3700" if ARCH_BOARD_EFM32GG_STK3700 + default "ekk-lm3s9b96" if ARCH_BOARD_EKKLM3S9B96 + default "emw3162" if ARCH_BOARD_EMW3162 + default "quickfeather" if ARCH_BOARD_QUICKFEATHER + default "esp32-devkitc" if ARCH_BOARD_ESP32_DEVKITC + default "esp32-ethernet-kit" if ARCH_BOARD_ESP32_ETHERNETKIT + default "esp32-wrover-kit" if ARCH_BOARD_ESP32_WROVERKIT + default "esp32c3-devkit" if ARCH_BOARD_ESP32C3_DEVKIT + default "esp32s2-saola-1" if ARCH_BOARD_ESP32S2_SAOLA_1 + default "et-stm32-stamp" if ARCH_BOARD_ET_STM32_STAMP + default "ez80f910200kitg" if ARCH_BOARD_EZ80F910200KITG + default "ez80f910200zco" if ARCH_BOARD_EZ80F910200ZCO + default "fire-stm32v2" if ARCH_BOARD_FIRE_STM32 + default "chipkit-wifire" if ARCH_BOARD_CHIPKIT_WIFIRE + default "flipnclick-pic32mz" if ARCH_BOARD_FLIPNCLICK_PIC32MZ + default "flipnclick-sam3x" if ARCH_BOARD_FLIPNCLICK_SAM3X + default "freedom-k28f" if ARCH_BOARD_FREEDOM_K28F + default "freedom-k64f" if ARCH_BOARD_FREEDOM_K64F + default "freedom-k66f" if ARCH_BOARD_FREEDOM_K66F + default "freedom-kl25z" if ARCH_BOARD_FREEDOM_KL25Z + default "freedom-kl26z" if ARCH_BOARD_FREEDOM_KL26Z + default "hifive1-revb" if ARCH_BOARD_HIFIVE1_REVB + default "hymini-stm32v" if ARCH_BOARD_HYMINI_STM32V + default "imxrt1020-evk" if ARCH_BOARD_IMXRT1020_EVK + default "imxrt1050-evk" if ARCH_BOARD_IMXRT1050_EVK + default "imxrt1060-evk" if ARCH_BOARD_IMXRT1060_EVK + default "imxrt1064-evk" if ARCH_BOARD_IMXRT1064_EVK + default "kwikstik-k40" if ARCH_BOARD_KWIKSTIK_K40 + default "launchxl-cc1310" if ARCH_BOARD_LAUNCHXL_CC1310 + default "launchxl-cc1312r1" if ARCH_BOARD_LAUNCHXL_CC1312R1 + default "launchxl-tms57004" if ARCH_BOARD_LAUNCHXL_TMS57004 + default "lc823450-xgevk" if ARCH_BOARD_LC823450_XGEVK + default "lincoln60" if ARCH_BOARD_LINCOLN60 + default "lm3s6432-s2e" if ARCH_BOARD_LM3S6432S2E + default "lm3s6965-ek" if ARCH_BOARD_LM3S6965EK + default "lm3s8962-ek" if ARCH_BOARD_LM3S8962EK + default "lm4f120-launchpad" if ARCH_BOARD_LM4F120_LAUNCHPAD + default "lpc4088-devkit" if ARCH_BOARD_LPC4088_DEVKIT + default "lpc4088-quickstart" if ARCH_BOARD_LPC4088_QUICKSTART + default "lpc4330-xplorer" if ARCH_BOARD_LPC4330_XPLORER + default "lpc4337-ws" if ARCH_BOARD_LPC4337_WS + default "lpc4357-evb" if ARCH_BOARD_LPC4357_EVB + default "lpc4370-link2" if ARCH_BOARD_LPC4370_LINK2 + default "lpcxpresso-lpc1768" if ARCH_BOARD_LPCXPRESSO + default "lpcxpresso-lpc54628" if ARCH_BOARD_LPCXPRESSO_LPC54628 + default "lx_cpu" if ARCH_BOARD_LX_CPU + default "maix-bit" if ARCH_BOARD_MAIX_BIT + default "smartl-c906" if ARCH_BOARD_SMARTL_C906 + default "icicle" if ARCH_BOARD_ICICLE_MPFS + default "maple" if ARCH_BOARD_MAPLE + default "makerlisp" if ARCH_BOARD_MAKERLISP + default "max32660-evsys" if ARCH_BOARD_MAX32660_EVSYS + default "mbed" if ARCH_BOARD_MBED + default "mcb1700" if ARCH_BOARD_MCB1700 + default "mcu123-lpc214x" if ARCH_BOARD_MCU123_LPC214X + default "metro-m4" if ARCH_BOARD_METRO_M4 + default "micropendous3" if ARCH_BOARD_MICROPENDOUS3 + default "mirtoo" if ARCH_BOARD_MIRTOO + default "misoc" if ARCH_BOARD_MISOC_QEMU || ARCH_BOARD_MISOC_VERILATOR + default "moteino-mega" if ARCH_BOARD_MOTEINO_MEGA + default "ne64badge" if ARCH_BOARD_NE64BADGE + default "nrf52-feather" if ARCH_BOARD_NRF52_FEATHER + default "nrf52832-sparkfun" if ARCH_BOARD_NRF52832_SPARKFUN + default "nrf52832-mdk" if ARCH_BOARD_NRF52832_MDK + default "nrf52832-dk" if ARCH_BOARD_NRF52832_DK + default "nrf52840-dk" if ARCH_BOARD_NRF52840_DK + default "nrf52840-dongle" if ARCH_BOARD_NRF52840_DONGLE + default "ntosd-dm320" if ARCH_BOARD_NTOSD_DM320 + default "nucleo-144" if ARCH_BOARD_NUCLEO_144 + default "nucleo-f072rb" if ARCH_BOARD_NUCLEO_F072RB + default "nucleo-f091rc" if ARCH_BOARD_NUCLEO_F091RC + default "nucleo-f103rb" if ARCH_BOARD_NUCLEO_F103RB + default "nucleo-f207zg" if ARCH_BOARD_NUCLEO_F207ZG + default "nucleo-f302r8" if ARCH_BOARD_NUCLEO_F302R8 + default "nucleo-f303re" if ARCH_BOARD_NUCLEO_F303RE + default "nucleo-f303ze" if ARCH_BOARD_NUCLEO_F303ZE + default "nucleo-f334r8" if ARCH_BOARD_NUCLEO_F334R8 + default "nucleo-f4x1re" if ARCH_BOARD_NUCLEO_F401RE || ARCH_BOARD_NUCLEO_F411RE + default "nucleo-f429zi" if ARCH_BOARD_NUCLEO_F429ZI + default "nucleo-f446re" if ARCH_BOARD_NUCLEO_F446RE + default "nucleo-f410rb" if ARCH_BOARD_NUCLEO_F410RB + default "nucleo-f412zg" if ARCH_BOARD_NUCLEO_F412ZG + default "nucleo-g070rb" if ARCH_BOARD_NUCLEO_G070RB + default "nucleo-g071rb" if ARCH_BOARD_NUCLEO_G071RB + default "nucleo-h743zi" if ARCH_BOARD_NUCLEO_H743ZI + default "nucleo-h743zi2" if ARCH_BOARD_NUCLEO_H743ZI2 + default "nucleo-l073rz" if ARCH_BOARD_NUCLEO_L073RZ + default "nucleo-l152re" if ARCH_BOARD_NUCLEO_L152RE + default "nucleo-l432kc" if ARCH_BOARD_NUCLEO_L432KC + default "nucleo-l452re" if ARCH_BOARD_NUCLEO_L452RE + default "nucleo-l476rg" if ARCH_BOARD_NUCLEO_L476RG + default "nucleo-l496zg" if ARCH_BOARD_NUCLEO_L496ZG + default "nucleo-l552ze" if ARCH_BOARD_NUCLEO_L552ZE + default "nutiny-nuc120" if ARCH_BOARD_NUTINY_NUC120 + default "olimex-efm32g880f128-stk" if ARCH_BOARD_OLIMEX_EFM32G880F128_STK + default "olimex-lpc1766stk" if ARCH_BOARD_LPC1766STK + default "olimex-lpc2378" if ARCH_BOARD_OLIMEXLPC2378 + default "olimex-lpc-h3131" if ARCH_BOARD_OLIMEX_LPC_H3131 + default "olimex-stm32-h405" if ARCH_BOARD_OLIMEX_STM32H405 + default "olimex-stm32-h407" if ARCH_BOARD_OLIMEX_STM32H407 + default "olimex-stm32-e407" if ARCH_BOARD_OLIMEX_STM32E407 + default "olimex-stm32-p107" if ARCH_BOARD_OLIMEX_STM32P107 + default "olimex-stm32-p207" if ARCH_BOARD_OLIMEX_STM32P207 + default "olimex-stm32-p407" if ARCH_BOARD_OLIMEX_STM32P407 + default "olimex-strp711" if ARCH_BOARD_OLIMEX_STRP711 + default "olimexino-stm32" if ARCH_BOARD_OLIMEXINO_STM32 + default "omnibusf4" if ARCH_BOARD_OMNIBUSF4 + default "open1788" if ARCH_BOARD_OPEN1788 + default "or1k" if ARCH_BOARD_OR1K + default "p112" if ARCH_BOARD_P112 + default "pcduino-a10" if ARCH_BOARD_PCDUINO_A10 + default "beaglebone-black" if ARCH_BOARD_BEAGLEBONE_BLACK + default "pic32mx-starterkit" if ARCH_BOARD_PIC32MX_STARTERKIT + default "pic32mx7mmb" if ARCH_BOARD_PIC32MX7MMB + default "pic32mz-starterkit" if ARCH_BOARD_PIC32MZ_STARTERKIT + default "qemu-i486" if ARCH_BOARD_QEMU_I486 + default "intel64-qemu" if ARCH_BOARD_INTEL64_QEMU + default "raspberrypi-pico" if ARCH_BOARD_RASPBERRYPI_PICO + default "rx65n" if ARCH_BOARD_RX65N + default "rx65n-rsk1mb" if ARCH_BOARD_RX65N_RSK1MB + default "rx65n-rsk2mb" if ARCH_BOARD_RX65N_RSK2MB + default "rx65n-grrose" if ARCH_BOARD_RX65N_GRROSE + default "s32k118evb" if ARCH_BOARD_S32K118EVB + default "s32k144evb" if ARCH_BOARD_S32K144EVB + default "ucans32k146" if ARCH_BOARD_UCANS32K146 + default "rv32m1-vega" if ARCH_BOARD_RV32M1_VEGA + default "s32k146evb" if ARCH_BOARD_S32K146EVB + default "s32k148evb" if ARCH_BOARD_S32K148EVB + default "sabre-6quad" if ARCH_BOARD_SABRE_6QUAD + default "sama5d2-xult" if ARCH_BOARD_SAMA5D2_XULT + default "giant-board" if ARCH_BOARD_GIANT_BOARD + default "sama5d3x-ek" if ARCH_BOARD_SAMA5D3X_EK + default "sama5d3-xplained" if ARCH_BOARD_SAMA5D3_XPLAINED + default "sama5d4-ek" if ARCH_BOARD_SAMA5D4_EK + default "samd20-xplained" if ARCH_BOARD_SAMD20_XPLAINED + default "samd21-xplained" if ARCH_BOARD_SAMD21_XPLAINED + default "same54-xplained-pro" if ARCH_BOARD_SAME54_XPLAINED_PRO + default "saml21-xplained" if ARCH_BOARD_SAML21_XPLAINED + default "sam3u-ek" if ARCH_BOARD_SAM3UEK + default "sam4cmp-db" if ARCH_BOARD_SAM4CMP_DB + default "sam4e-ek" if ARCH_BOARD_SAM4EEK + default "sam4l-xplained" if ARCH_BOARD_SAM4L_XPLAINED + default "sam4s-xplained" if ARCH_BOARD_SAM4S_XPLAINED + default "sam4s-xplained-pro" if ARCH_BOARD_SAM4S_XPLAINED_PRO + default "same70-xplained" if ARCH_BOARD_SAME70_XPLAINED + default "samv71-xult" if ARCH_BOARD_SAMV71_XULT + default "shenzhou" if ARCH_BOARD_SHENZHOU + default "skp16c26" if ARCH_BOARD_SKP16C26 + default "photon" if ARCH_BOARD_PHOTON + default "pnev5180b" if ARCH_BOARD_PNEV5180B + default "stm32butterfly2" if ARCH_BOARD_STM32_BUTTERFLY2 + default "stm32_tiny" if ARCH_BOARD_STM32_TINY + default "stm32f051-discovery" if ARCH_BOARD_STM32F051_DISCOVERY + default "stm32f072-discovery" if ARCH_BOARD_STM32F072_DISCOVERY + default "stm32f103-minimum" if ARCH_BOARD_STM32F103_MINIMUM + default "stm32f411-minimum" if ARCH_BOARD_STM32F411_MINIMUM + default "stm3210e-eval" if ARCH_BOARD_STM3210E_EVAL + default "stm3220g-eval" if ARCH_BOARD_STM3220G_EVAL + default "stm3240g-eval" if ARCH_BOARD_STM3240G_EVAL + default "stm32f3discovery" if ARCH_BOARD_STM32F3_DISCOVERY + default "stm32f334-disco" if ARCH_BOARD_STM32F334_DISCO + default "stm32f4discovery" if ARCH_BOARD_STM32F4_DISCOVERY + default "aiit-arm32-board" if ARCH_BOARD_STM32F4_AIIT + default "stm32f411e-disco" if ARCH_BOARD_STM32F411E_DISCO + default "stm32f429i-disco" if ARCH_BOARD_STM32F429I_DISCO + default "stm32f746g-disco" if ARCH_BOARD_STM32F746G_DISCO + default "stm32f769i-disco" if ARCH_BOARD_STM32F769I_DISCO + default "stm32h747i-disco" if ARCH_BOARD_STM32H747I_DISCO + default "stm32f746-ws" if ARCH_BOARD_STM32F746_WS + default "b-g474e-dpow1" if ARCH_BOARD_B_G474E_DPOW1 + default "b-g431b-esc1" if ARCH_BOARD_B_G431B_ESC1 + default "nucleo-g431kb" if ARCH_BOARD_NUCLEO_G431KB + default "nucleo-g431rb" if ARCH_BOARD_NUCLEO_G431RB + default "b-l072z-lrwan1" if ARCH_BOARD_B_L072Z_LRWAN1 + default "b-l475e-iot01a" if ARCH_BOARD_B_L475E_IOT01A + default "stm32l476vg-disco" if ARCH_BOARD_STM32L476VG_DISCO + default "stm32l476-mdk" if ARCH_BOARD_STM32L476_MDK + default "stm32l4r9ai-disco" if ARCH_BOARD_STM32L4R9AI_DISCO + default "stm32l562e-dk" if ARCH_BOARD_STM32L562E_DK + default "stm32ldiscovery" if ARCH_BOARD_STM32L_DISCOVERY + default "stm32vldiscovery" if ARCH_BOARD_STM32VL_DISCOVERY + default "mikroe-stm32f4" if ARCH_BOARD_MIKROE_STM32F4 + default "sure-pic32mx" if ARCH_BOARD_SUREPIC32MX + default "teensy-2.0" if ARCH_BOARD_TEENSY_20 + default "teensy-3.x" if ARCH_BOARD_TEENSY_3X + default "teensy-4.x" if ARCH_BOARD_TEENSY_4X + default "teensy-lc" if ARCH_BOARD_TEENSY_LC + default "tm4c123g-launchpad" if ARCH_BOARD_TM4C123G_LAUNCHPAD + default "tm4c1294-launchpad" if ARCH_BOARD_TM4C1294_LAUNCHPAD + default "tms570ls31x-usb-kit" if ARCH_BOARD_TMS570LS31X_USB_KIT + default "ttgo_lora_esp32" if ARCH_BOARD_TTGO_LORA_ESP32 + default "twr-k60n512" if ARCH_BOARD_TWR_K60N512 + default "twr-k64f120m" if ARCH_BOARD_TWR_K64F120M + default "u-blox-c027" if ARCH_BOARD_U_BLOX_C027 + default "ubw32" if ARCH_BOARD_UBW32 + default "us7032evb1" if ARCH_BOARD_US7032EVB1 + default "viewtool-stm32f107" if ARCH_BOARD_VIEWTOOL_STM32F107 + default "xmc4500-relax" if ARCH_BOARD_XMC4500RELAX + default "xmc4700-relax" if ARCH_BOARD_XMC4700RELAX + default "z16f2800100zcog" if ARCH_BOARD_Z16F2800100ZCOG + default "z20x" if ARCH_BOARD_Z20X + default "z80sim" if ARCH_BOARD_Z80SIM + default "z8encore000zco" if ARCH_BOARD_Z8ENCORE000ZCO + default "z8f64200100kit" if ARCH_BOARD_Z8F64200100KIT + default "zp214xpa" if ARCH_BOARD_ZP214XPA + default "zkit-arm-1769" if ARCH_BOARD_ZKITARM + default "sim" if ARCH_BOARD_SIM + default "moxa" if ARCH_BOARD_MOXA + default "spresense" if ARCH_BOARD_SPRESENSE + +comment "Common Board Options" + +config ARCH_HAVE_LEDS + bool + +config ARCH_LEDS + bool "Board LED Status support" + default y + depends on ARCH_HAVE_LEDS + ---help--- + Use board LEDs to show NuttX execution status state. Unique to boards that have LEDs + +if ARCH_LEDS +config ARCH_LEDS_CPU_ACTIVITY + bool "Use LED for CPU activities" + default n + depends on ARCH_LEDS + ---help--- + Use board LEDs to show CPU activities +endif + +config ARCH_HAVE_BUTTONS + bool + +config ARCH_BUTTONS + bool "Board button support" + default n + depends on ARCH_HAVE_BUTTONS + ---help--- + "Support interfaces to use buttons provided by the board." + +config ARCH_HAVE_IRQBUTTONS + bool + +config ARCH_IRQBUTTONS + bool "Button interrupt support" + default n + depends on ARCH_BUTTONS && ARCH_HAVE_IRQBUTTONS + ---help--- + "Support interrupts on button presses and releases." + +comment "Board-Specific Options" + + +if ARCH_BOARD_PCDUINO_A10 +source "boards/arm/a1x/pcduino-a10/Kconfig" +endif +if ARCH_BOARD_BEAGLEBONE_BLACK +source "boards/arm/am335x/beaglebone-black/Kconfig" +endif +if ARCH_BOARD_C5471EVM +source "boards/arm/c5471/c5471evm/Kconfig" +endif +if ARCH_BOARD_SPRESENSE +source "boards/arm/cxd56xx/spresense/Kconfig" +endif +if ARCH_BOARD_NTOSD_DM320 +source "boards/arm/dm320/ntosd-dm320/Kconfig" +endif +if ARCH_BOARD_EFM32G8XXSTK +source "boards/arm/efm32/efm32-g8xx-stk/Kconfig" +endif +if ARCH_BOARD_EFM32GG_STK3700 +source "boards/arm/efm32/efm32gg-stk3700/Kconfig" +endif +if ARCH_BOARD_OLIMEX_EFM32G880F128_STK +source "boards/arm/efm32/olimex-efm32g880f128-stk/Kconfig" +endif +if ARCH_BOARD_S32K118EVB +source "boards/arm/s32k1xx/s32k118evb/Kconfig" +endif +if ARCH_BOARD_S32K144EVB +source "boards/arm/s32k1xx/s32k144evb/Kconfig" +endif +if ARCH_BOARD_UCANS32K146 +source "boards/arm/s32k1xx/ucans32k146/Kconfig" +endif +if ARCH_BOARD_S32K146EVB +source "boards/arm/s32k1xx/s32k146evb/Kconfig" +endif +if ARCH_BOARD_S32K148EVB +source "boards/arm/s32k1xx/s32k148evb/Kconfig" +endif +if ARCH_BOARD_SABRE_6QUAD +source "boards/arm/imx6/sabre-6quad/Kconfig" +endif +if ARCH_BOARD_IMXRT1020_EVK +source "boards/arm/imxrt/imxrt1020-evk/Kconfig" +endif +if ARCH_BOARD_IMXRT1050_EVK +source "boards/arm/imxrt/imxrt1050-evk/Kconfig" +endif +if ARCH_BOARD_IMXRT1060_EVK +source "boards/arm/imxrt/imxrt1060-evk/Kconfig" +endif +if ARCH_BOARD_IMXRT1064_EVK +source "boards/arm/imxrt/imxrt1064-evk/Kconfig" +endif +if ARCH_BOARD_TEENSY_4X +source "boards/arm/imxrt/teensy-4.x/Kconfig" +endif +if ARCH_BOARD_FREEDOM_K28F +source "boards/arm/kinetis/freedom-k28f/Kconfig" +endif +if ARCH_BOARD_FREEDOM_K64F +source "boards/arm/kinetis/freedom-k64f/Kconfig" +endif +if ARCH_BOARD_FREEDOM_K66F +source "boards/arm/kinetis/freedom-k66f/Kconfig" +endif +if ARCH_BOARD_KWIKSTIK_K40 +source "boards/arm/kinetis/kwikstik-k40/Kconfig" +endif +if ARCH_BOARD_TEENSY_3X +source "boards/arm/kinetis/teensy-3.x/Kconfig" +endif +if ARCH_BOARD_TWR_K60N512 +source "boards/arm/kinetis/twr-k60n512/Kconfig" +endif +if ARCH_BOARD_TWR_K64F120M +source "boards/arm/kinetis/twr-k64f120m/Kconfig" +endif +if ARCH_BOARD_FREEDOM_KL25Z +source "boards/arm/kl/freedom-kl25z/Kconfig" +endif +if ARCH_BOARD_FREEDOM_KL26Z +source "boards/arm/kl/freedom-kl26z/Kconfig" +endif +if ARCH_BOARD_TEENSY_LC +source "boards/arm/kl/teensy-lc/Kconfig" +endif +if ARCH_BOARD_LC823450_XGEVK +source "boards/arm/lc823450/lc823450-xgevk/Kconfig" +endif +if ARCH_BOARD_LINCOLN60 +source "boards/arm/lpc17xx_40xx/lincoln60/Kconfig" +endif +if ARCH_BOARD_LPC4088_DEVKIT +source "boards/arm/lpc17xx_40xx/lpc4088-devkit/Kconfig" +endif +if ARCH_BOARD_LPC4088_QUICKSTART +source "boards/arm/lpc17xx_40xx/lpc4088-quickstart/Kconfig" +endif +if ARCH_BOARD_LPCXPRESSO +source "boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768/Kconfig" +endif +if ARCH_BOARD_MBED +source "boards/arm/lpc17xx_40xx/mbed/Kconfig" +endif +if ARCH_BOARD_MCB1700 +source "boards/arm/lpc17xx_40xx/mcb1700/Kconfig" +endif +if ARCH_BOARD_LPC1766STK +source "boards/arm/lpc17xx_40xx/olimex-lpc1766stk/Kconfig" +endif +if ARCH_BOARD_OPEN1788 +source "boards/arm/lpc17xx_40xx/open1788/Kconfig" +endif +if ARCH_BOARD_PNEV5180B +source "boards/arm/lpc17xx_40xx/pnev5180b/Kconfig" +endif +if ARCH_BOARD_U_BLOX_C027 +source "boards/arm/lpc17xx_40xx/u-blox-c027/Kconfig" +endif +if ARCH_BOARD_ZKITARM +source "boards/arm/lpc17xx_40xx/zkit-arm-1769/Kconfig" +endif +if ARCH_BOARD_MCU123_LPC214X +source "boards/arm/lpc214x/mcu123-lpc214x/Kconfig" +endif +if ARCH_BOARD_ZP214XPA +source "boards/arm/lpc214x/zp214xpa/Kconfig" +endif +if ARCH_BOARD_OLIMEXLPC2378 +source "boards/arm/lpc2378/olimex-lpc2378/Kconfig" +endif +if ARCH_BOARD_EA3131 +source "boards/arm/lpc31xx/ea3131/Kconfig" +endif +if ARCH_BOARD_EA3152 +source "boards/arm/lpc31xx/ea3152/Kconfig" +endif +if ARCH_BOARD_OLIMEX_LPC_H3131 +source "boards/arm/lpc31xx/olimex-lpc-h3131/Kconfig" +endif +if ARCH_BOARD_BAMBINO_200E +source "boards/arm/lpc43xx/bambino-200e/Kconfig" +endif +if ARCH_BOARD_LPC4330_XPLORER +source "boards/arm/lpc43xx/lpc4330-xplorer/Kconfig" +endif +if ARCH_BOARD_LPC4337_WS +source "boards/arm/lpc43xx/lpc4337-ws/Kconfig" +endif +if ARCH_BOARD_LPC4357_EVB +source "boards/arm/lpc43xx/lpc4357-evb/Kconfig" +endif +if ARCH_BOARD_LPC4370_LINK2 +source "boards/arm/lpc43xx/lpc4370-link2/Kconfig" +endif +if ARCH_BOARD_LPCXPRESSO_LPC54628 +source "boards/arm/lpc54xx/lpcxpresso-lpc54628/Kconfig" +endif +if ARCH_BOARD_LX_CPU +source "boards/arm/lpc17xx_40xx/lx_cpu/Kconfig" +endif +if ARCH_BOARD_MAX32660_EVSYS +source "boards/arm/max326xx/max32660-evsys/Kconfig" +endif +if ARCH_BOARD_MOXA +source "boards/arm/moxart/moxa/Kconfig" +endif +if ARCH_BOARD_NRF52_FEATHER +source "boards/arm/nrf52/nrf52-feather/Kconfig" +endif +if ARCH_BOARD_NRF52832_SPARKFUN +source "boards/arm/nrf52/nrf52832-sparkfun/Kconfig" +endif +if ARCH_BOARD_NRF52832_MDK +source "boards/arm/nrf52/nrf52832-mdk/Kconfig" +endif +if ARCH_BOARD_NRF52832_DK +source "boards/arm/nrf52/nrf52832-dk/Kconfig" +endif +if ARCH_BOARD_NRF52840_DK +source "boards/arm/nrf52/nrf52840-dk/Kconfig" +endif +if ARCH_BOARD_NUTINY_NUC120 +source "boards/arm/nuc1xx/nutiny-nuc120/Kconfig" +endif +if ARCH_BOARD_RASPBERRYPI_PICO +source "boards/arm/rp2040/raspberrypi-pico/Kconfig" +endif +if ARCH_BOARD_ARDUINO_DUE +source "boards/arm/sam34/arduino-due/Kconfig" +endif +if ARCH_BOARD_ARDUINO_M0 +source "boards/arm/samd2l2/arduino-m0/Kconfig" +endif +if ARCH_BOARD_CIRCUIT_EXPRESS +source "boards/arm/samd2l2/circuit-express/Kconfig" +endif +if ARCH_BOARD_FLIPNCLICK_SAM3X +source "boards/arm/sam34/flipnclick-sam3x/Kconfig" +endif +if ARCH_BOARD_SAM3UEK +source "boards/arm/sam34/sam3u-ek/Kconfig" +endif +if ARCH_BOARD_SAM4CMP_DB +source "boards/arm/sam34/sam4cmp-db/Kconfig" +endif +if ARCH_BOARD_SAM4EEK +source "boards/arm/sam34/sam4e-ek/Kconfig" +endif +if ARCH_BOARD_SAM4L_XPLAINED +source "boards/arm/sam34/sam4l-xplained/Kconfig" +endif +if ARCH_BOARD_SAM4S_XPLAINED +source "boards/arm/sam34/sam4s-xplained/Kconfig" +endif +if ARCH_BOARD_SAM4S_XPLAINED_PRO +source "boards/arm/sam34/sam4s-xplained-pro/Kconfig" +endif +if ARCH_BOARD_SAMA5D2_XULT +source "boards/arm/sama5/sama5d2-xult/Kconfig" +endif +if ARCH_BOARD_GIANT_BOARD +source "boards/arm/sama5/giant-board/Kconfig" +endif +if ARCH_BOARD_SAMA5D3X_EK +source "boards/arm/sama5/sama5d3x-ek/Kconfig" +endif +if ARCH_BOARD_SAMA5D3_XPLAINED +source "boards/arm/sama5/sama5d3-xplained/Kconfig" +endif +if ARCH_BOARD_SAMA5D4_EK +source "boards/arm/sama5/sama5d4-ek/Kconfig" +endif +if ARCH_BOARD_SAMD20_XPLAINED +source "boards/arm/samd2l2/samd20-xplained/Kconfig" +endif +if ARCH_BOARD_SAMD21_XPLAINED +source "boards/arm/samd2l2/samd21-xplained/Kconfig" +endif +if ARCH_BOARD_SAME54_XPLAINED_PRO +source "boards/arm/samd5e5/same54-xplained-pro/Kconfig" +endif +if ARCH_BOARD_SAML21_XPLAINED +source "boards/arm/samd2l2/saml21-xplained/Kconfig" +endif +if ARCH_BOARD_METRO_M4 +source "boards/arm/samd5e5/metro-m4/Kconfig" +endif +if ARCH_BOARD_SAME70_XPLAINED +source "boards/arm/samv7/same70-xplained/Kconfig" +endif +if ARCH_BOARD_SAMV71_XULT +source "boards/arm/samv7/samv71-xult/Kconfig" +endif +if ARCH_BOARD_B_G474E_DPOW1 +source "boards/arm/stm32/b-g474e-dpow1/Kconfig" +endif +if ARCH_BOARD_B_G431B_ESC1 +source "boards/arm/stm32/b-g431b-esc1/Kconfig" +endif +if ARCH_BOARD_NUCLEO_G431KB +source "boards/arm/stm32/nucleo-g431kb/Kconfig" +endif +if ARCH_BOARD_NUCLEO_G431RB +source "boards/arm/stm32/nucleo-g431rb/Kconfig" +endif +if ARCH_BOARD_B_L072Z_LRWAN1 +source "boards/arm/stm32f0l0g0/b-l072z-lrwan1/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F072RB +source "boards/arm/stm32f0l0g0/nucleo-f072rb/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F091RC +source "boards/arm/stm32f0l0g0/nucleo-f091rc/Kconfig" +endif +if ARCH_BOARD_NUCLEO_G070RB +source "boards/arm/stm32f0l0g0/nucleo-g070rb/Kconfig" +endif +if ARCH_BOARD_NUCLEO_G071RB +source "boards/arm/stm32f0l0g0/nucleo-g071rb/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L073RZ +source "boards/arm/stm32f0l0g0/nucleo-l073rz/Kconfig" +endif +if ARCH_BOARD_STM32F051_DISCOVERY +source "boards/arm/stm32f0l0g0/stm32f051-discovery/Kconfig" +endif +if ARCH_BOARD_STM32F072_DISCOVERY +source "boards/arm/stm32f0l0g0/stm32f072-discovery/Kconfig" +endif +if ARCH_BOARD_NUCLEO_144 +source "boards/arm/stm32f7/nucleo-144/Kconfig" +endif +if ARCH_BOARD_STM32F746_WS +source "boards/arm/stm32f7/stm32f746-ws/Kconfig" +endif +if ARCH_BOARD_STM32F746G_DISCO +source "boards/arm/stm32f7/stm32f746g-disco/Kconfig" +endif +if ARCH_BOARD_STM32F769I_DISCO +source "boards/arm/stm32f7/stm32f769i-disco/Kconfig" +endif +if ARCH_BOARD_STM32H747I_DISCO +source "boards/arm/stm32h7/stm32h747i-disco/Kconfig" +endif +if ARCH_BOARD_STM32F4_AIIT +source "boards/arm/stm32/aiit-arm32-board/Kconfig" +endif +if ARCH_BOARD_NUCLEO_H743ZI +source "boards/arm/stm32h7/nucleo-h743zi/Kconfig" +endif +if ARCH_BOARD_NUCLEO_H743ZI2 +source "boards/arm/stm32h7/nucleo-h743zi2/Kconfig" +endif +if ARCH_BOARD_B_L475E_IOT01A +source "boards/arm/stm32l4/b-l475e-iot01a/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L432KC +source "boards/arm/stm32l4/nucleo-l432kc/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L452RE +source "boards/arm/stm32l4/nucleo-l452re/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L476RG +source "boards/arm/stm32l4/nucleo-l476rg/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L496ZG +source "boards/arm/stm32l4/nucleo-l496zg/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L552ZE +source "boards/arm/stm32l5/nucleo-l552ze/Kconfig" +endif +if ARCH_BOARD_STM32L476_MDK +source "boards/arm/stm32l4/stm32l476-mdk/Kconfig" +endif +if ARCH_BOARD_STM32L476VG_DISCO +source "boards/arm/stm32l4/stm32l476vg-disco/Kconfig" +endif +if ARCH_BOARD_STM32L4R9AI_DISCO +source "boards/arm/stm32l4/stm32l4r9ai-disco/Kconfig" +endif +if ARCH_BOARD_STM32L562E_DK +source "boards/arm/stm32l5/stm32l562e-dk/Kconfig" +endif +if ARCH_BOARD_AXOLOTI +source "boards/arm/stm32/axoloti/Kconfig" +endif +if ARCH_BOARD_CLICKER2_STM32 +source "boards/arm/stm32/clicker2-stm32/Kconfig" +endif +if ARCH_BOARD_CLOUDCTRL +source "boards/arm/stm32/cloudctrl/Kconfig" +endif +if ARCH_BOARD_EMW3162 +source "boards/arm/stm32/emw3162/Kconfig" +endif +if ARCH_BOARD_FIRE_STM32 +source "boards/arm/stm32/fire-stm32v2/Kconfig" +endif +if ARCH_BOARD_HYMINI_STM32V +source "boards/arm/stm32/hymini-stm32v/Kconfig" +endif +if ARCH_BOARD_MAPLE +source "boards/arm/stm32/maple/Kconfig" +endif +if ARCH_BOARD_ET_STM32_STAMP +source "boards/arm/stm32/et-stm32-stamp/Kconfig" +endif +if ARCH_BOARD_MIKROE_STM32F4 +source "boards/arm/stm32/mikroe-stm32f4/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F103RB +source "boards/arm/stm32/nucleo-f103rb/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F207ZG +source "boards/arm/stm32/nucleo-f207zg/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F302R8 +source "boards/arm/stm32/nucleo-f302r8/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F303RE +source "boards/arm/stm32/nucleo-f303re/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F303ZE +source "boards/arm/stm32/nucleo-f303ze/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F334R8 +source "boards/arm/stm32/nucleo-f334r8/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F410RB +source "boards/arm/stm32/nucleo-f410rb/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F412ZG +source "boards/arm/stm32/nucleo-f412zg/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F446RE +source "boards/arm/stm32/nucleo-f446re/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F401RE || ARCH_BOARD_NUCLEO_F411RE +source "boards/arm/stm32/nucleo-f4x1re/Kconfig" +endif +if ARCH_BOARD_NUCLEO_F429ZI +source "boards/arm/stm32/nucleo-f429zi/Kconfig" +endif +if ARCH_BOARD_NUCLEO_L152RE +source "boards/arm/stm32/nucleo-l152re/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STM32E407 +source "boards/arm/stm32/olimex-stm32-e407/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STM32H405 +source "boards/arm/stm32/olimex-stm32-h405/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STM32H407 +source "boards/arm/stm32/olimex-stm32-h407/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STM32P107 +source "boards/arm/stm32/olimex-stm32-p107/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STM32P207 +source "boards/arm/stm32/olimex-stm32-p207/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STM32P407 +source "boards/arm/stm32/olimex-stm32-p407/Kconfig" +endif +if ARCH_BOARD_OLIMEXINO_STM32 +source "boards/arm/stm32/olimexino-stm32/Kconfig" +endif +if ARCH_BOARD_OMNIBUSF4 +source "boards/arm/stm32/omnibusf4/Kconfig" +endif +if ARCH_BOARD_PHOTON +source "boards/arm/stm32/photon/Kconfig" +endif +if ARCH_BOARD_SHENZHOU +source "boards/arm/stm32/shenzhou/Kconfig" +endif +if ARCH_BOARD_STM3210E_EVAL +source "boards/arm/stm32/stm3210e-eval/Kconfig" +endif +if ARCH_BOARD_STM3220G_EVAL +source "boards/arm/stm32/stm3220g-eval/Kconfig" +endif +if ARCH_BOARD_STM3240G_EVAL +source "boards/arm/stm32/stm3240g-eval/Kconfig" +endif +if ARCH_BOARD_STM32_TINY +source "boards/arm/stm32/stm32_tiny/Kconfig" +endif +if ARCH_BOARD_STM32_BUTTERFLY2 +source "boards/arm/stm32/stm32butterfly2/Kconfig" +endif +if ARCH_BOARD_STM32F103_MINIMUM +source "boards/arm/stm32/stm32f103-minimum/Kconfig" +endif +if ARCH_BOARD_STM32F411_MINIMUM +source "boards/arm/stm32/stm32f411-minimum/Kconfig" +endif +if ARCH_BOARD_STM32F334_DISCO +source "boards/arm/stm32/stm32f334-disco/Kconfig" +endif +if ARCH_BOARD_STM32F3_DISCOVERY +source "boards/arm/stm32/stm32f3discovery/Kconfig" +endif +if ARCH_BOARD_STM32F411E_DISCO +source "boards/arm/stm32/stm32f411e-disco/Kconfig" +endif +if ARCH_BOARD_STM32F429I_DISCO +source "boards/arm/stm32/stm32f429i-disco/Kconfig" +endif +if ARCH_BOARD_STM32F4_DISCOVERY +source "boards/arm/stm32/stm32f4discovery/Kconfig" +endif +if ARCH_BOARD_STM32L_DISCOVERY +source "boards/arm/stm32/stm32ldiscovery/Kconfig" +endif +if ARCH_BOARD_STM32VL_DISCOVERY +source "boards/arm/stm32/stm32vldiscovery/Kconfig" +endif +if ARCH_BOARD_VIEWTOOL_STM32F107 +source "boards/arm/stm32/viewtool-stm32f107/Kconfig" +endif +if ARCH_BOARD_OLIMEX_STRP711 +source "boards/arm/str71x/olimex-strp711/Kconfig" +endif +if ARCH_BOARD_DK_TM4C129X +source "boards/arm/tiva/dk-tm4c129x/Kconfig" +endif +if ARCH_BOARD_EAGLE100 +source "boards/arm/tiva/eagle100/Kconfig" +endif +if ARCH_BOARD_EKKLM3S9B96 +source "boards/arm/tiva/ekk-lm3s9b96/Kconfig" +endif +if ARCH_BOARD_LAUNCHXL_CC1310 +source "boards/arm/tiva/launchxl-cc1310/Kconfig" +endif +if ARCH_BOARD_LAUNCHXL_CC1312R1 +source "boards/arm/tiva/launchxl-cc1312r1/Kconfig" +endif +if ARCH_BOARD_LM3S6432S2E +source "boards/arm/tiva/lm3s6432-s2e/Kconfig" +endif +if ARCH_BOARD_LM3S6965EK +source "boards/arm/tiva/lm3s6965-ek/Kconfig" +endif +if ARCH_BOARD_LM3S8962EK +source "boards/arm/tiva/lm3s8962-ek/Kconfig" +endif +if ARCH_BOARD_LM3S8962EK +source "boards/arm/tiva/lm4f120-launchpad/Kconfig" +endif +if ARCH_BOARD_TM4C123G_LAUNCHPAD +source "boards/arm/tiva/tm4c123g-launchpad/Kconfig" +endif +if ARCH_BOARD_TM4C1294_LAUNCHPAD +source "boards/arm/tiva/tm4c1294-launchpad/Kconfig" +endif +if ARCH_BOARD_LAUNCHXL_TMS57004 +source "boards/arm/tms570/launchxl-tms57004/Kconfig" +endif +if ARCH_BOARD_TMS570LS31X_USB_KIT +source "boards/arm/tms570/tms570ls31x-usb-kit/Kconfig" +endif +if ARCH_BOARD_XMC4500RELAX +source "boards/arm/xmc4/xmc4500-relax/Kconfig" +endif +if ARCH_BOARD_XMC4700RELAX +source "boards/arm/xmc4/xmc4700-relax/Kconfig" +endif +if ARCH_BOARD_AVR32DEV1 +source "boards/avr/at32uc3/avr32dev1/Kconfig" +endif +if ARCH_BOARD_MICROPENDOUS3 +source "boards/avr/at90usb/micropendous3/Kconfig" +endif +if ARCH_BOARD_TEENSY_20 +source "boards/avr/at90usb/teensy-2.0/Kconfig" +endif +if ARCH_BOARD_AMBER +source "boards/avr/atmega/amber/Kconfig" +endif +if ARCH_BOARD_ARDUINO_MEGA2560 +source "boards/avr/atmega/arduino-mega2560/Kconfig" +endif +if ARCH_BOARD_MOTEINO_MEGA +source "boards/avr/atmega/moteino-mega/Kconfig" +endif +if ARCH_BOARD_CUSTOM +source "boards/dummy/Kconfig" +endif +if ARCH_BOARD_DEMOS92S12NEC64 +source "boards/hc/m9s12/demo9s12ne64/Kconfig" +endif +if ARCH_BOARD_NE64BADGE +source "boards/hc/m9s12/ne64badge/Kconfig" +endif +if ARCH_BOARD_MIRTOO +source "boards/mips/pic32mx/mirtoo/Kconfig" +endif +if ARCH_BOARD_PIC32MX_STARTERKIT +source "boards/mips/pic32mx/pic32mx-starterkit/Kconfig" +endif +if ARCH_BOARD_PIC32MX7MMB +source "boards/mips/pic32mx/pic32mx7mmb/Kconfig" +endif +if ARCH_BOARD_SUREPIC32MX +source "boards/mips/pic32mx/sure-pic32mx/Kconfig" +endif +if ARCH_BOARD_UBW32 +source "boards/mips/pic32mx/ubw32/Kconfig" +endif +if ARCH_BOARD_CHIPKIT_WIFIRE +source "boards/mips/pic32mz/chipkit-wifire/Kconfig" +endif +if ARCH_BOARD_FLIPNCLICK_PIC32MZ +source "boards/mips/pic32mz/flipnclick-pic32mz/Kconfig" +endif +if ARCH_BOARD_PIC32MZ_STARTERKIT +source "boards/mips/pic32mz/pic32mz-starterkit/Kconfig" +endif +if ARCH_BOARD_MISOC_QEMU || ARCH_BOARD_MISOC_VERILATOR +source "boards/misoc/lm32/misoc/Kconfig" +endif +if ARCH_BOARD_OR1K +source "boards/or1k/mor1kx/or1k/Kconfig" +endif +if ARCH_BOARD_SKP16C26 +source "boards/renesas/m16c/skp16c26/Kconfig" +endif +if ARCH_BOARD_US7032EVB1 +source "boards/renesas/sh1/us7032evb1/Kconfig" +endif +if ARCH_BOARD_ARTY_A7 +source "boards/risc-v/litex/arty_a7/Kconfig" +endif +if ARCH_BOARD_HIFIVE_REVB +source "boards/risc-v/fe310/hifive1-revb/Kconfig" +endif +if ARCH_BOARD_MAIX_BIT +source "boards/risc-v/k210/maix-bit/Kconfig" +endif +if ARCH_BOARD_SMARTL_C906 +source "boards/risc-v/c906/smartl-c906/Kconfig" +endif +if ARCH_BOARD_ICICLE_MPFS +source "boards/risc-v/mpfs/icicle/Kconfig" +endif +if ARCH_BOARD_RV32M1_VEGA +source "boards/risc-v/rv32m1/rv32m1-vega/Kconfig" +endif +if ARCH_BOARD_ESP32C3_DEVKIT +source "boards/risc-v/esp32c3/esp32c3-devkit/Kconfig" +endif +if ARCH_CHIP_ESP32S2 && !ARCH_BOARD_CUSTOM +source "boards/xtensa/esp32s2/common/Kconfig" +endif +if ARCH_BOARD_ESP32S2_SAOLA_1 +source "boards/xtensa/esp32s2/esp32s2-saola-1/Kconfig" +endif +if ARCH_BOARD_SIM +source "boards/sim/sim/sim/Kconfig" +endif +if ARCH_BOARD_QEMU_I486 +source "boards/x86/qemu/qemu-i486/Kconfig" +endif +if ARCH_BOARD_INTEL64_QEMU +source "boards/x86_64/intel64/qemu-intel64/Kconfig" +endif +if ARCH_BOARD_RX65N +source "boards/renesas/rx65n/rx65n/Kconfig" +endif +if ARCH_BOARD_RX65N_RSK1MB +source "boards/renesas/rx65n/rx65n-rsk1mb/Kconfig" +endif +if ARCH_BOARD_RX65N_RSK2MB +source "boards/renesas/rx65n/rx65n-rsk2mb/Kconfig" +endif +if ARCH_BOARD_RX65N_GRROSE +source "boards/renesas/rx65n/rx65n-grrose/Kconfig" +endif +if ARCH_CHIP_ESP32 && !ARCH_BOARD_CUSTOM +source "boards/xtensa/esp32/common/Kconfig" +endif +if ARCH_BOARD_ESP32_DEVKITC +source "boards/xtensa/esp32/esp32-devkitc/Kconfig" +endif +if ARCH_BOARD_ESP32_ETHERNETKIT +source "boards/xtensa/esp32/esp32-ethernet-kit/Kconfig" +endif +if ARCH_BOARD_ESP32_WROVERKIT +source "boards/xtensa/esp32/esp32-wrover-kit/Kconfig" +endif +if ARCH_BOARD_TTGO_LORA_ESP32 +source "boards/xtensa/esp32/ttgo_lora_esp32/Kconfig" +endif +if ARCH_BOARD_Z16F2800100ZCOG +source "boards/z16/z16f/z16f2800100zcog/Kconfig" +endif +if ARCH_BOARD_EZ80F910200KITG +source "boards/z80/ez80/ez80f910200kitg/Kconfig" +endif +if ARCH_BOARD_EZ80F910200ZCO +source "boards/z80/ez80/ez80f910200zco/Kconfig" +endif +if ARCH_BOARD_MAKERLISP +source "boards/z80/ez80/makerlisp/Kconfig" +endif +if ARCH_BOARD_P112 +source "boards/z80/z180/p112/Kconfig" +endif +if ARCH_BOARD_Z8ENCORE000ZCO +source "boards/z80/z8/z8encore000zco/Kconfig" +endif +if ARCH_BOARD_Z8F64200100KIT +source "boards/z80/z8/z8f64200100kit/Kconfig" +endif +if ARCH_BOARD_Z20X +source "boards/z80/ez80/z20x/Kconfig" +endif +if ARCH_BOARD_Z80SIM +source "boards/z80/z80/z80sim/Kconfig" +endif +if ARCH_BOARD_BL602EVB +source "boards/risc-v/bl602/bl602evb/Kconfig" +endif + +comment "Board-Common Options" + +if ARCH_CHIP_STM32 +source "boards/arm/stm32/common/Kconfig" +endif + +config BOARD_CRASHDUMP + bool "Enable Board level logging of crash dumps" + default n + ---help--- + If selected up_assert will call out to board_crashdump, in the case + of an assertion failure, prior to calling exit. Or in the + case of a hardfault prior to looping indefinitely. board_crashdump + then has a chance to save the state of the machine. + + The purpose of board_crashdump is to save as much information as it can + about the cause of the fault and then most likely reset the system. + + N.B. There is limited system resources that can be used, who knows + what memory is trashed? So all we can expect to do is save the + "machine state" in a place where on the next reset can write it + to more sophisticated storage in a sane operating environment. + +config BOARD_ENTROPY_POOL + bool "Enable Board level storing of entropy pool structure" + default n + depends on CRYPTO_RANDOM_POOL + ---help--- + Entropy pool structure can be provided by board source. + Use for this is, for example, to allocate entropy pool + from special area of RAM which content is kept over + system reset. + +config BOARD_INITRNGSEED + bool "Enable Board level initial seeding of entropy pool RNG" + default n + depends on CRYPTO_RANDOM_POOL + ---help--- + If enabled, entropy pool random number generator will call + board_init_rndseed() upon initialization. This function + can then provide early entropy seed to the pool through + entropy injection APIs provided at 'nuttx/random.h'. + +config BOARDCTL + bool "Enable boardctl() interface" + default n + ---help--- + Enables support for the boardctl() interface. Architecture + specific logic must provide board_app_initialize() interface. + +if BOARDCTL + +config BOARDCTL_FINALINIT + bool "Enable board app final init" + default n + ---help--- + Enables support for the BOARDIOC_FINALINIT boardctl() command. + Architecture specific logic must provide board_app_finalinitialize() + interface. + +config BOARDCTL_POWEROFF + bool "Enable power off interfaces" + default n + depends on ARCH_HAVE_POWEROFF + ---help--- + Enables support for the BOARDIOC_POWEROFF boardctl() command. + Architecture specific logic must provide the board_power_off() + interface. + +config BOARDCTL_RESET + bool "Enable reset interfaces" + default n + depends on ARCH_HAVE_RESET + ---help--- + Enables support for the BOARDIOC_RESET boardctl() command. + Architecture specific logic must provide the board_reset() + interface. + +config BOARD_RESET_ON_ASSERT + int "Enable Board Reset after assert" + default 0 + depends on BOARDCTL_RESET + ---help--- + == 0 up_assert never reset the machine + >= 1 up_assert from interrupt handler or IDLE thread will reset the + machine + >= 2 up_assert from user or kernel thread will reset the machine. + The default behavior is just to kill the asserting thread. + +config BOARD_ASSERT_RESET_VALUE + int "Board reset argument" + default 0 + depends on BOARDCTL_RESET + ---help--- + Parameter that will be passed to board_reset() by when an + assertion occurs. This may be used by board_reset() + implementations to handle the reset differently for the + case of a crash. + +config BOARDCTL_UNIQUEID + bool "Return board unique ID" + default n + ---help--- + Enables support for the BOARDIOC_UNIQUEID boardctl() command. + Architecture specific logic must provide the board_uniqueid() + interface. + +config BOARDCTL_UNIQUEID_SIZE + int "Size of the board unique ID (bytes)" + default 16 + depends on BOARDCTL_UNIQUEID + ---help--- + Provides the size of the memory buffer that must be provided by the + caller of board_uniqueid() in which to receive the board unique ID. + +config BOARDCTL_UNIQUEKEY + bool "Return board unique KEY" + default n + ---help--- + Enables support for the BOARDIOC_UNIQUEKEY boardctl() command. + Architecture specific logic must provide the board_uniquekey() + interface. + +config BOARDCTL_UNIQUEKEY_SIZE + int "Size of the board unique KEY (bytes)" + default 16 + depends on BOARDCTL_UNIQUEKEY + ---help--- + Provides the size of the memory buffer that must be provided by the + caller of board_uniquekey() in which to receive the board unique KEY. + +config BOARDCTL_SWITCH_BOOT + bool "Enable switch boot system support" + default n + ---help--- + BOARDIOC_SWITCH_BOOT is required to communicate the boot partition + from userspace (OTA subsystem) to board for A/B boot or single boot + case. It can be used to change the system boot behavior. For instance, + once a firmware updated successfully, this boardctl can be used to + modify FLASH bank selection. + +config BOARDCTL_BOOT_IMAGE + bool "Boot a new application firmware image" + default n + ---help--- + Boot a new application firmware image. + Architecture-specific logic must provide the board_boot_image() + interface for executing the required actions for booting a new + application firmware image (e.g. deinitialize peripherals, load the + Program Counter register with the application firmware image entry + point address). + +config BOARDCTL_MKRD + bool "Enable application space creation of RAM disks" + default n + select DRVR_MKRD + depends on !DISABLE_MOUNTPOINT + ---help--- + Enables support for the BOARDIOC_MKRD boardctl() command. + +config BOARDCTL_ROMDISK + bool "Enable application space creation of ROM disks" + default n + depends on !DISABLE_MOUNTPOINT + ---help--- + Enables support for the BOARDIOC_MKRD boardctl() command. + +config BOARDCTL_APP_SYMTAB + bool "Enable application symbol table interfaces" + default n + ---help--- + Enables support for the BOARDIOC_APP_SYMTAB boardctl() command. + +config BOARDCTL_OS_SYMTAB + bool "Enable kernel module symbol table interfaces" + default n + depends on MODULE + ---help--- + Enables support for the BOARDIOC_OS_SYMTAB boardctl() command. + +config BOARDCTL_USBDEVCTRL + bool "Enable USB device controls" + default n + depends on USBDEV + ---help--- + Enables support for the BOARDIOC_USBDEV_CONTROL boardctl() command. + +config BOARDCTL_TESTSET + bool "Architecture-specific test/set operation" + default n + ---help--- + Enables support for the BOARDIOC_SPINLOCK boardctl() command. + Architecture specific logic must provide up_testset() interface. + +config BOARDCTL_IOCTL + bool "Board-specific boardctl() commands" + default n + ---help--- + Enables support for board-specific boardctl() commands. + Architecture specific logic must provide board_ioctl() interface. + +endif # BOARDCTL diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/README.txt b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/README.txt new file mode 100644 index 000000000..215f331ac --- /dev/null +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/README.txt @@ -0,0 +1,980 @@ +Board-Specific Configurations +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +This directory contains the board support logic for all boards supported +by NuttX. + +The nuttx/boards directory is a part of the internal OS. It should contain +only OS bring-up logic and driver initialization logic. THERE SHOULD BE NO +APPLICATION CALLABLE LOGIC IN THIS DIRECTORY. + +If you have board-specific, application callable logic, that logic should not +go here. Please consider using a sub-directory under apps/platform instead. + +Table of Contents +^^^^^^^^^^^^^^^^^ + + o Board-Specific Configurations + o Summary of Files + o Configuration Variables + o Supported Boards + o Configuring NuttX + o Building Symbol Tables + +Board-Specific Configurations +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The NuttX configuration consists of: + +o Processor architecture specific files. These are the files contained + in the arch// directory. + +o Chip/SoC specific files. Each processor architecture is embedded + in a chip or System-on-a-Chip (SoC) architecture. The full chip + architecture includes the processor architecture plus chip-specific + interrupt logic, general purpose I/O (GIO) logic, and specialized, + internal peripherals (such as UARTs, USB, etc.). + + These chip-specific files are contained within chip-specific + sub-directories in the arch// directory and are selected + via the CONFIG_ARCH_name selection + +o Board specific files. In order to be usable, the chip must be + contained in a board environment. The board configuration defines + additional properties of the board including such things as + peripheral LEDs, external peripherals (such as network, USB, etc.). + + These board-specific configuration files can be found in the + boards//// sub-directories and are + discussed in this README. Additional configuration information may be + available in board-specific README files at + boards////README.txt files. + +The boards/ subdirectory contains configuration data for each board. These +board-specific configurations plus the architecture-specific configurations in +the arch/ subdirectory completely define a customized port of NuttX. + +Directory Structure +^^^^^^^^^^^^^^^^^^^ + +The boards/ directory contains board specific configuration logic. Each +board must provide a subdirectory under boards/ with the +following characteristics: + + + + |-- README.txt + |-- include/ + | `-- (board-specific header files) + |-- src/ + | |-- Makefile + | `-- (board-specific source files) + |-- + | |-- Make.defs + | `-- defconfig + |-- + | |-- Make.defs + | `-- defconfig + ... + +Summary of Files +^^^^^^^^^^^^^^^^ + +README.txt -- This text file provides additional information unique to + each board configuration sub-directory. + +include/ -- This directory contains board specific header files. This + directory will be linked as include/arch/board at configuration time and + can be included via '#include '. These header file + can only be included by files in arch/include/ and + arch//src + +src/ -- This directory contains board specific drivers. This + directory will be linked as arch//src/board at configuration + time and will be integrated into the build system. + +src/Makefile -- This makefile will be invoked to build the board specific + drivers. It must support the following targets: libext$(LIBEXT), clean, + and distclean. + +A board may have various different configurations using these common source +files. Each board configuration is described by two files: Make.defs and +defconfig. Typically, each set of configuration files is retained in a +separate configuration sub-directory (, , .. in +the above diagram). + +Make.defs -- This makefile fragment provides architecture and + tool-specific build options. It will be included by all other + makefiles in the build (once it is installed). This make fragment + should define: + + Tools: CC, LD, AR, NM, OBJCOPY, OBJDUMP + Tool options: CFLAGS, LDFLAGS + + When this makefile fragment runs, it will be passed TOPDIR which + is the path to the root directory of the build. This makefile + fragment should include: + + $(TOPDIR)/.config : NuttX configuration + $(TOPDIR)/tools/Config.mk : Common definitions + + Definitions in the Make.defs file probably depend on some of the + settings in the .config file. For example, the CFLAGS will most likely be + different if CONFIG_DEBUG_FEATURES=y. + + The included tools/Config.mk file contains additional definitions that may + be overridden in the architecture-specific Make.defs file as necessary: + + COMPILE, ASSEMBLE, ARCHIVE, CLEAN, and MKDEP macros + +defconfig -- This is a configuration file similar to the Linux + configuration file. In contains variable/value pairs like: + + CONFIG_VARIABLE=value + + This configuration file will be used at build time: + + (1) as a makefile fragment included in other makefiles, and + (2) to generate include/nuttx/config.h which is included by + most C files in the system. + +Configuration Variables +^^^^^^^^^^^^^^^^^^^^^^^ + +At one time, this section provided a list of all NuttX configuration +variables. However, NuttX has since converted to use the kconfig-frontends +tools (See https://bitbucket.org/nuttx/tools/src/master/kconfig-frontends/.) +Now, the NuttX configuration is determined by a self-documenting set of +Kconfig files. + +The current NuttX configuration variables are also documented in separate, +auto-generated configuration variable document. That configuration variable +document is generated using the kconfig2html tool that can be found in the +nuttx/tools directory. That tool analyzes the NuttX Kconfig files and +generates an excruciatingly boring HTML document. + +The latest boring configuration variable documentation can be regenerated at +any time using that tool or, more appropriately, the wrapper script at +nuttx/tools/mkconfigvars.sh. That script will generate the file +nuttx/Documentation/NuttXConfigVariables.html. + +Supported Boards +^^^^^^^^^^^^^^^^ + +boards/avr/atmega/amber + This is placeholder for the SoC Robotics Amber Web Server that is based + on the Atmel AVR ATMega128 MCU. There is not much there yet and what is + there is untested due to tool-related issues. + +boards/arm/sam34/arduino-due + This sub-directory holds board support for the Arduino DUE board featuring + the Atmel ATSAM3X8E MCU running at 84 MHz. + +boards/avr/at32uc3/avr32dev1 + This is a port of NuttX to the Atmel AVR32DEV1 board. That board is + based on the Atmel AT32UC3B0256 MCU and uses a specially patched + version of the GNU toolchain: The patches provide support for the + AVR32 family. That patched GNU toolchain is available only from the + Atmel website. STATUS: This port is functional but very basic. There + are configurations for NSH and the OS test. + +boards/arm/stm32/axoloti + Support for the Axoloti synthesizer board based on the STMicro + STM32F427IGH6 MCU. See: http://www.axoloti.com/ + +boards/arm/stm32/b-g474e-dpow1 + Initial support for booting NuttX to a functional NSH prompt on the + STMicro B-G474E-DPOW1 Discovery kit with STM32G474RE MCU. + +boards/arm/stm32/nucleo-g431kb + STMicro Nucleo G431KB board based on the STMicro STM32G431KB MCU. + +boards/arm/stm32/nucleo-g431rb + STMicro Nucleo G431RB board based on the STMicro STM32G431RB MCU. + +boards/arm/stm32f0l0g0/b-l072z-lrwan1 + STMicro STM32L0 Discovery kit with LoRa/SigFox based on STM32L072CZ MCU. + +boards/arm/lpc43xx/bambino-200e + Micromint Bambino board. This board is based on the LPC4330FBD144. + +boards/arm/c5471/c5471evm + This is a port to the Spectrum Digital C5471 evaluation board. The + TMS320C5471 is a dual core processor from TI with an ARM7TDMI general + purpose processor and a c54 DSP. It is also known as TMS320DA180 or just DA180. + NuttX runs on the ARM core and is built with a GNU arm-nuttx-elf toolchain*. + This port is complete and verified. + +boards/arm/tiva/launchxl_cc1310 + Port to the TI SimpleLink CC1310 LaunchPad Evaluation Kit (LAUNCHXL-CC1310) + featuring the SimpleLinkCC1310 chip. This board features the CC1310F128 + part with 128Kb of FLASH and 20Kb of SRAM. + +boards/arm/tiva/launchxl_cc1312r1 + Port to the TI SimpleLink CC1312R1 LaunchPad Evaluation Kit (LAUNCHXL-CC1312R1) + featuring the SimpleLinkCC1312R1 chip. + +boards/arm/stm32/clicker2-stm32 + Mikroe Clicker2 STM32 board based on the STMicro STM32F407VGT6 MCU. + +boards/arm/stm32/cloudctrl + Darcy's CloudController board. This is a small network relay development + board. Based on the Shenzhou IV development board design. It is based on + the STM32F107VC MCU. + +boards/hc/m9s12/demo9s12ne64 + NXP/FreeScale DMO9S12NE64 board based on the MC9S12NE64 hcs12 cpu. This + port uses the m9s12x GCC toolchain. STATUS: (Still) under development; it + is code complete but has not yet been verified. + +boards/arm/tiva/dk-tm4c129x + This is the port of NuttX to the Tiva DK-TM4C129x Connected Development Kit. The + Tiva DK-TM4C129x features the TM4C129XNCZAD MCU. + +boards/arm/lpc31xx/ea3131 + Embedded Artists EA3131 Development board. This board is based on the + an NXP LPC3131 MCU. This OS is built with the arm-nuttx-elf toolchain*. + STATUS: This port is complete and mature. + +boards/arm/lpc31xx/ea3152 + Embedded Artists EA3152 Development board. This board is based on the + an NXP LPC3152 MCU. This OS is built with the arm-nuttx-elf toolchain*. + STATUS: This port is has not be exercised well, but since it is + a simple derivative of the ea3131, it should be fully functional. + +boards/arm/tiva/eagle100 + Micromint Eagle-100 Development board. This board is based on the + an ARM Cortex-M3 MCU, the Luminary LM3S6918. This OS is built with the + arm-nuttx-elf toolchain*. STATUS: This port is complete and mature. + +boards/arm/efm32/efm32-g8xx-stk + The port of NuttX to the EFM32 Gecko Starter Kit (EFM32-G8XX-STK). + +boards/arm/efm32/efm32gg-stk3700 + The port of NuttX to the EFM32 Giant Gecko Starter Kit + (EFM32GG-STK3700). + +boards/arm/tiva/ekk-lm3s9b96 + TI/Stellaris EKK-LM3S9B96 board. This board is based on the + an EKK-LM3S9B96 which is a Cortex-M3. + +boards/arm/stm32/emw3162 + A configuration for the EMW3162 Wi-Fi board + (https://www.waveshare.com/wiki/EMW3162). This board features + the STM32F205RGY6 MCU from STMicro. + +boards/xtensa/esp32/esp-core + The ESP32 is a dual-core system from Espressif with two Harvard architecture + Xtensa LX6 CPUs. All embedded memory, external memory and peripherals are + located on the data bus and/or the instruction bus of bus of these CPUs. + With some minor exceptions, the address mapping of two CPUs is symmetric, + meaning they use the same addresses to access the same memory. + +boards/z80/ez80/ez80f0910200kitg + ez80Acclaim! Microcontroller. This port use the Zilog ez80f0910200kitg + development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +boards/z80/ez80/ez80f0910200zco + ez80Acclaim! Microcontroller. This port use the Zilog ez80f0910200zco + development kit, eZ80F091 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +boards/arm/stm32/fire-stm32v2 + A configuration for the M3 Wildfire STM32 board. This board is based on the + STM32F103VET6 chip. See http://firestm32.taobao.com . Version 2 and 3 of + the boards are supported but only version 2 has been tested. + +boards/mips/pic32mz/flipnclick-pic32mz + Board support for the Mikroe Flip&Click PIC32MZ board. This board is a + chipKit Arduino-compatible board (but can also be used with the Mikroe + bootloader). It has with four Mikroe Click bus interfaces in addition to + standard Arduino connectors. This board features the Microchip + PIC32MZ2048EFH100 MCU running at 200 MHz (252 MHz capable). + +boards/mips/pic32mz/chipkit-wifire + Board support for the chipKIT Wi-FIRE board. This board is a chipKIT + Arduino-compatible board. This board features + the Microchip PIC32MZ2048EFG100 MCU running at 200 MHz. + +boards/arm/sam34/flipnclick-sam3x + Board support for the Mikroe Flip&Click STM32X board. This board is an + Arduino-Due work-alike with four Mikroe Click bus interfaces. Like the + Arduino DUE, this board features the Atmel ATSAM3X8E MCU running at 84 + MHz. + +boards/arm/kinetis/freedom-k28f + This port uses the NXP/FreeScale FREEDOM-K28F development board. This + board uses the Kinetis K28F MK28FN2M0VMI15 Cortex-M4 MCU. + +boards/arm/kinetis/freedom-k64f + This port uses the NXP/FreeScale FREEDOM-K64F development board. This board + uses the Kinetis K64 MK64FN1M0VLL12 Cortex-M4 MCU. + +boards/arm/kl/freedom-kl25z +boards/arm/kl/freedom-kl26z + These configurations are for the NXP/FreeScale Freedom KL25Z and very similar + KL26Z board. The Freedom-KL25Z features the K25Z120LE3AN chip; the + Freedom-KL26Z has the K26Z128VLH4 chip. These are separate configurations + because of minor differences in the on-board logic. Both include a + built-in SDA debugger. + +boards/arm/stm32/hymini-stm32v + A configuration for the HY-Mini STM32v board. This board is based on the + STM32F103VCT chip. + +boards/arm/kinetis/kwikstik-k40. + Kinetis K40 Cortex-M4 MCU. This port uses the NXP/FreeScale KwikStik-K40 + development board. + +boards/arm/tms570/launchxl-tms57004 + TI Hercules TMS570LS04x/03x LaunchPad Evaluation Kit (LAUNCHXL-TMS57004) + featuring the Hercules TMS570LS0432PZ chip. + +boards/arm/lpc17xx_40xx/lincoln60 + NuttX port to the Micromint Lincoln 60 board. + +boards/arm/tiva/lm3s6432-s2e + Stellaris RDK-S2E Reference Design Kit and the MDL-S2E Ethernet to + Serial module. + +boards/arm/tiva/lm3s6965-ek + Stellaris LM3S6965 Evaluation Kit. This board is based on the + an ARM Cortex-M3 MCU, the Luminary/TI LM3S6965. This OS is built with the + arm-nuttx-elf toolchain*. STATUS: This port is complete and mature. + +boards/arm/tiva/lm3s8962-ek + Stellaris LMS38962 Evaluation Kit. + +boards/arm/tiva/lm4f120-launchpad + This is the port of NuttX to the Stellaris LM4F120 LaunchPad. The + Stellaris LM4F120 LaunchPad Evaluation Board is a low-cost evaluation + platform for ARM Cortex-M4F-based microcontrollers from Texas + Instruments. + +boards/arm/lpc17xx_40xx/lpcxpresso-lpc1768 + Embedded Artists base board with NXP LPCExpresso LPC1768. This board + is based on the NXP LPC1768. The Code Red toolchain is used by default. + STATUS: Under development. + +boards/arm/lpc54xx/lpcxpresso-lpc54628 + NXP LPCExpresso LPC54628. This board is based on the NXP LPC54628. + +boards/arm/lpc43xx/lpc4330-xplorer + NuttX port to the LPC4330-Xplorer board from NGX Technologies featuring + the NXP LPC4330FET100 MCU + +boards/arm/lpc43xx/lpc4337-ws + NuttX port to the WaveShare LPC4337-ws board featuring the NXP LPC4337JBD144 + MCU. + +boards/arm/lpc43xx/lpc4357-evb + NuttX port to the LPC4357-EVB board from Embest featuring the NXP + LPC4357FET256 MCU. Based on the LPC4300 Xplorer port and provided by + Toby Duckworth. + +boards/arm/lpc43xx/lpc4370-link2 + NuttX port to the NXP LPC4370-Link2 development board featuring the NXP + LPC4370FET100 MCU. Based on the LPC4300 Xplorer port and provided by + Lok Tep. + +boards/arm/lpc17xx_40xx/lx_cpu + This port uses the PiKRON LX_CPU board. See the + http://pikron.com/pages/products/cpu_boards/lx_cpu.html for further + information. This board features the NXP LPC4088 (compatible with + LPC1788) and Xilinx Spartan 6 XC6SLX9 + +boards/z80/ez80/makerlisp + This port use the MakerLisp machine based on an eZ80F091 ez80Acclaim! + Microcontroller, and the Zilog ZDS-II Windows command line tools. The + development environment is Cygwin under Windows. A Windows native + development environment is available but has not been verified. + +boards/arm/stm32/maple + NuttX support for the LeafLab's Maple and Maple Mini boards. These boards + are based on the STM32F103RBT6 chip for the standard version and on the + STM32F103CBT6 for the mini version (See http://leaflabs.com/docs/hardware/maple.html) + +boards/arm/max326xx/max32660-evsys + The configurations in this directory support the Maxim Integrated + MAX32660-EVSYS board. + +boards/arm/lpc17xx_40xx/mbed + The configurations in this directory support the mbed board (http://mbed.org) + that features the NXP LPC1768 microcontroller. This OS is also built + with the arm-nuttx-elf toolchain*. STATUS: Contributed. + +boards/arm/lpc17xx_40xx/mcb1700 + Board support for the Keil MCB1700 + +boards/arm/samd5e5/metro-m4 + Th configurations in this directory are part of the port of NuttX to the + Adafruit Metro M4. The Metro M4 uses a Arduino form factor and and pinout. + It's powered with an ATSAMD51J19 + +boards/arm/stm32/mikroe-stm32f4 + This is the port of NuttX to the MikroElektronika Mikromedia for STM32F4 + development board. Contributed by Ken Petit. + +boards/misoc/lm32/misoc + This directory holds the port to NuttX running on a Qemu LM32 system. + You can find the Qemu setup at https://bitbucket.org/key2/qemu + +boards/arm/lpc214x/mcu123-lpc214x + This port is for the NXP LPC2148 as provided on the mcu123.com + lpc214x development board. This OS is also built with the arm-nuttx-elf + toolchain*. The port supports serial, timer0, spi, and usb. + +boards/avr/at90usb/micropendous3 + This is a port to the Opendous Micropendous 3 board. This board may + be populated with either an AVR AT90USB646, 647, 1286, or 1287 MCU. + Support is configured for the AT90USB647. + +boards/mips/pic32mx/mirtoo + This is the port to the DTX1-4000L "Mirtoo" module. This module uses MicroChip + PIC32MX250F128D. See http://www.dimitech.com/ for further information. + +boards/avr/atmega/moteino-mega + This is placeholder for the LowPowerLab MoteinoMEGA that is based + on the Atmel AVR ATMega1284P MCU. There is not much there yet and what is + there is untested due to tool-related issues. + +boards/arm/moxart/moxa + Moxa NP51x0 series of 2-port advanced RS-232/422/485 serial device servers. + +boards/hc/mcs92s12ne6/ne64badge + Future Electronics Group NE64 /PoE Badge board based on the + MC9S12NE64 hcs12 cpu. This port uses the m9s12x GCC toolchain. + STATUS: Under development. The port is code-complete but has + not yet been fully tested. + +boards/arm/nrf52/nrf52-feather + NuttX port to the Adafruit nRF52832 Feather board + +boards/arm/nrf52/nrf52832-dk + NuttX port to the Nordic nRF52832 Development Kit (PCA10040) + +boards/arm/nrf52/nrf52840-dk + NuttX port to the Nordic nRF52840 Development Kit (PCA10056) + +boards/arm/nrf52/nrf52840-dongle + NuttX port to the Nordic nRF52840 Dongle (PCA10059) + +boards/arm/dm320/ntosd-dm320 + This port uses the Neuros OSD v1.0 Dev Board with a GNU arm-nuttx-elf + toolchain*: see + + http://wiki.neurostechnology.com/index.php/OSD_1.0_Developer_Home + + There are some differences between the Dev Board and the currently + available commercial v1.0 Boards. See + + http://wiki.neurostechnology.com/index.php/OSD_Developer_Board_v1 + + NuttX operates on the ARM9EJS of this dual core processor. + STATUS: This port is code complete, verified, and included in the + NuttX 0.2.1 release. + +boards/arm/stm32f7/nucleo-144 + STMicro Nucleo-144 development board family. Included support for (1) the + Nucleo-F767ZG board featuring the STM32F746ZGT6U MCU. The STM32F746ZGT6U + is a 216MHz Cortex-M7 operation with 1024Kb Flash memory and 320Kb SRAM. + And (2) the Nucleo-F746ZG board featuring the STM32F767ZIT6 MCU. The + STM32F767ZIT6 is a 216MHz Cortex-M7 operation with 2048Kb Flash memory + and 512Kb SRAM. + +boards/arm/stm32f0l0g0/nucleo-f072rb + STMicro Nucleo F072RB board based on the STMicro STM32F072RBT6 MCU. + +boards/arm/stm32/nucleo-f4x1re + STMicro ST Nucleo F401RE and F411RE boards. See + http://mbed.org/platforms/ST-Nucleo-F401RE and + http://developer.mbed.org/platforms/ST-Nucleo-F411RE for more + information about these boards. + +boards/arm/stm32/nucleo-f410rb + NuttX configuration for the STMicro NucleoF410RB board from ST Micro. + This board features the STM32F410RB 100MHz Cortex-M4 with 128 KB Flash + and 32 KB SRAM. + +boards/arm/stm32/nucleo-f303re + STMicro ST Nucleo F303RE board. Contributed by Paul Alexander Patience. + +boards/arm/stm32f0l0g0/nucleo-l073rz + STMicro STM32L0 Discovery kit with LoRa/SigFox based on STM32L072CZ MCU. + +boards/arm/nuc1xx/nutiny-nuc120 + This is the port of NuttX to the NuvoTon NuTiny-SDK-NUC120 board. This + board has the NUC120LE3AN chip with a built-in NuLink debugger. + +boards/arm/efm32/olimex-efm32g880f128-stk + This is the port of NuttX to the Olimex EFM32G880F128-STK development + board. + +boards/arm/lpc17xx_40xx/olimex-lpc1766stk + This port uses the Olimex LPC1766-STK board and a GNU GCC toolchain* under + Linux or Cygwin. STATUS: Complete and mature. + +boards/arm/lpc2378/olimex-lpc2378 + This port uses the Olimex-lpc2378 board and a GNU arm-nuttx-elf toolchain* under + Linux or Cygwin. STATUS: ostest and NSH configurations available. + This port for the NXP LPC2378 was contributed by Rommel Marcelo. + +boards/arm/stm32/olimex-stm32-h405 + This port uses the Olimex STM32 H405 board and a GNU arm-nuttx-elf + toolchain* under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F405RGT6 MCU. + Contributed by Martin Lederhilger. + +boards/arm/stm32/olimex-stm32-h407 + This port uses the Olimex STM32 H407 board and a GNU arm-nuttx-elf + toolchain* under Linux or Cygwin. See the http://www.olimex.com for + further information. This board features the STMicro STM32F407ZGT6 (144 + pins). Contributed by Neil Hancock. + +boards/arm/stm32/olimex-stm32-e407 + Olimex STM32 E407 board based on the STMicro STM32F407ZGT6 (144pins). + Contributed by Mateusz Szafoni. + +boards/arm/stm32/olimex-stm32-p107 + This port uses the Olimex STM32-P107 board (STM32F107VC) and a GNU arm-nuttx-elf + toolchain* under Linux or Cygwin. See the https://www.olimex.com/dev/stm32-p107.html + for further information. Contributed by Max Holtzberg. + +boards/arm/stm32/olimex-stm32-p207 + This port uses the Olimex STM32-P207 board (STM32F207ZE) and a GNU arm-nuttx-elf + toolchain under Linux or Cygwin. See the https://www.olimex.com/dev/stm32-p207.html + for further information. Contributed by Martin Lederhilger. + +boards/arm/stm32/olimex-stm32-p407 + This port uses the Olimex STM32-P407 board (STM32F407ZG) and a GNU arm-nuttx-elf + toolchain under Linux or Cygwin. See the https://www.olimex.com/dev/stm32-p407.html + for further information. + +boards/arm/stm32/olimexino-stm32 + This port uses the Olimexino STM32 board (STM32F103RBT6) and a GNU arm-nuttx-elf + toolchain* under Linux or Cygwin. See the http://www.olimex.com for further\ + information. Contributed by David Sidrane. + +boards/arm/str71x/olimex-strp711 + This port uses the Olimex STR-P711 board and a GNU arm-nuttx-elf toolchain* under + Linux or Cygwin. See the http://www.olimex.com/dev/str-p711.html" for + further information. STATUS: Configurations for the basic OS test and NSH + are complete and verified. + +boards/arm/stm32/omnibusf4 + Flight controllers compatible with the OMINBUSF4 Betaflight target + +boards/or1k/mor1kx/or1k + Generic OpenRISC board. + +boards/arm/a1x/pcduino-a10 + This directory contains the port of NuttX to the pcDuino v1 board + See http://www.pcduino.com/ for information about pcDuino Lite, v1, + and v2. These boards are based around the Allwinner A10 Cortex-A8 CPU. + I have not compared these boards in detail, but I believe that the + differences are cosmetic. This port was developed on the v1 board, but + the others may be compatible. + +boards/z80/z180/p112 + The P112 is notable because it was the first of the hobbyist single board + computers to reach the production stage. The P112 hobbyist computers + were relatively widespread and inspired other hobbyist centered home brew + computing projects such as N8VEM home brew computing project. The P112 + project still maintains many devoted enthusiasts and has an online + repository of software and other information. + + The P112 computer originated as a commercial product of "D-X Designs Pty + Ltd" of Australia. They describe the computer as "The P112 is a stand-alone + 8-bit CPU board. Typically running CP/M (tm) or a similar operating system, + it provides a Z80182 (Z-80 upgrade) CPU with up to 1MB of memory, serial, + parallel and diskette IO, and realtime clock, in a 3.5-inch drive form factor. + Powered solely from 5V, it draws 150mA (nominal: not including disk drives) + with a 16MHz CPU clock. Clock speeds up to 24.576MHz are possible." + + The P112 board was last available new in 1996 by Dave Brooks. In late 2004 + on the Usenet Newsgroup comp.os.cpm, talk about making another run of P112 + boards was discussed. David Griffith decided to produce additional P112 kits + with Dave Brooks blessing and the assistance of others. In addition Terry + Gulczynski makes additional P112 derivative hobbyist home brew computers. + Hal Bower was very active in the mid 1990's on the P112 project and ported + the "Banked/Portable BIOS". + + Dave Brooks was successfully funded through Kickstarter for and another + run of P112 boards in November of 2012. + +boards/arm/stm32/photon + A configuration for the Photon Wifi board from Particle Devices + (https://www.particle.io). This board features the STM32F205RGY6 MCU from + STMicro. + +boards/mips/pic32mx/pic32mx-starterkit + This directory contains the port of NuttX to the Microchip PIC32 Ethernet + Starter Kit (DM320004) with the Multimedia Expansion Board (MEB, DM320005). + See www.microchip.com for further information. + +boards/mips/pic32mx/pic32mx7mmb + This directory will (eventually) contain the port of NuttX to the + Mikroelektronika PIC32MX7 Multimedia Board (MMB). See + http://www.mikroe.com/ for further information. + +boards/mips/pic32mz/pic32mz-starterkit + This directory contains the port of NuttX to the Microchip PIC32MZ + Embedded Connectivity (EC) Starter Kit. There are two configurations of + the starter kit: + + 1) The PIC32MZ Embedded Connectivity Starter Kit based on the + PIC32MZ2048ECH144-I/PH chip (DM320006), and + 2) The PIC32MZ Embedded Connectivity Starter Kit based on the + PIC32MZ2048ECM144-I/PH w/Crypto Engine (DM320006-C) + + See www.microchip.com for further information. + +boards/arm/lpc17xx_40xx/pnev5180b + NXP Semiconductors' PN5180 NFC Frontend Development Kit. This board is + based on the NXP LPC1769 MCU. + +boards/x86/qemu/qemu-i486 + Port of NuttX to QEMU in i486 mode. This port will also run on real i486 + hardware (Google the Bifferboard). + +boards/arm/s32k1xx/s32k118evb + This directory holds the port of NuttX to the NXP S32K118EVB board + featuring the S32K118 Cortex-M0+. + +boards/arm/s32k1xx/s32k146evb + This directory holds the port of NuttX to the NXP S32K146EVB board + featuring the S32K146 Cortex-M4F. + +boards/arm/s32k1xx/s32k148evb + This directory holds the port of NuttX to the NXP S32K148EVB board + featuring the S32K148 Cortex-M4F. + +boards/arm/imx6/sabre-6quad + This directory holds a port of NuttX to the NXP/Freescale Sabre board + featuring the iMX 6Quad CPU. + +boards/arm/sama5/sama5d2-xult + This is the port of NuttX to the Microchip SAMA5D2-Xplained Ultra development + board. This board features the Microchip SAMA5D27. See + https://www.microchip.com/Developmenttools/ProductDetails/ATSAMA5D2C-XULT + +boards/arm/sama5/giant-board + This is the port of NuttX to the Groboards Giant Board board. This board + features the Atmel SAMA5D27C-D1G. See http://groboards.com/giant-board. + +boards/arm/sama5/sama5d3x-ek + This is the port of NuttX to the Atmel SAMA5D3x-EK development boards + (where x=1,3,4, or 5). These boards feature the Atmel SAMA5D3 + microprocessors. Four different SAMA5D3x-EK kits are available + + - SAMA5D31-EK with the ATSAMA5D1 (http://www.atmel.com/devices/sama5d31.aspx) + - SAMA5D33-EK with the ATSAMA5D3 (http://www.atmel.com/devices/sama5d33.aspx) + - SAMA5D34-EK with the ATSAMA5D4 (http://www.atmel.com/devices/sama5d34.aspx) + - SAMA5D35-EK with the ATSAMA5D5 (http://www.atmel.com/devices/sama5d35.aspx) + + The each consist of an identical base board with different plug-in modules + for each CPU. An option 7 inch LCD is also available. All four boards + are supported by NuttX with a simple reconfiguration of the processor + type. + +boards/arm/sama5/sama5d3-xplained + This is the port of NuttX to the Atmel SAMA5D3x-Xplained development board. + This board features the Atmel SAMA5D36. See + http://www.atmel.com/devices/sama5d36.aspx. + +boards/arm/sama5/sama5d4-ek + This is the port of NuttX to the Atmel SAMA5D4-EK development board. + This board features the Atmel SAMA5D44. See http://www.atmel.com. + +boards/arm/samd2l2/samd20-xplained + The port of NuttX to the Atmel SAMD20-Xplained Pro development board. This + board features the ATSAMD20J18A MCU (Cortex-M0+ with 256KB of FLASH and + 32KB of SRAM). + +boards/arm/samd2l2/samd21-xplained + The port of NuttX to the Atmel SAMD21-Xplained Pro development board. This + board features the ATSAMD21J18A MCU (Cortex-M0+ with 256KB of FLASH and + 32KB of SRAM). + +boards/arm/sam34/sam3u-ek + The port of NuttX to the Atmel SAM3U-EK development board. + +boards/arm/sam34/sam4cmp-db + The port of NuttX to the Atmel SAM4CMP-DB development board. + +boards/arm/sam34/sam4e-ek + The port of NuttX to the Atmel SAM4E-EK development board. This board + features the SAM4E16 MCU running at up to 120MHz. + +boards/arm/sam34/sam4l-xplained + The port of NuttX to the Atmel SAM4L-Xplained development board. + +boards/arm/sam34/sam4s-xplained + The port of NuttX to the Atmel SAM4S-Xplained development board. + +boards/arm/sam34/sam4s-xplained-pro + The port of NuttX to the Atmel SAM4S-Xplained Pro development board. + +boards/arm/samv7/same70-xplained + The port of NuttX to the Atmel SAME70 Xplained evaluation board. + +boards/arm/samv7/samv71-xult + The port of NuttX to the Atmel SAMV71 Xplained Ultra evaluation board. + +boards/sim/sim/sim + A user-mode port of NuttX to the x86 Linux platform is available. + The purpose of this port is primarily to support OS feature development. + This port does not support interrupts or a real timer (and hence no + round robin scheduler) Otherwise, it is complete. + +boards/arm/stm32/shenzhou + This is the port of NuttX to the Shenzhou development board from + www.armjishu.com. This board features the STMicro STM32F107VCT MCU. + +boards/renesas/m16c/skp16c26 + Renesas M16C processor on the Renesas SKP16C26 StarterKit. This port + uses the GNU m32c toolchain. STATUS: The port is complete but untested + due to issues with compiler internal errors. + +boards/arm/stm32/stm3210e-eval + STMicro STM3210E-EVAL development board based on the STMicro STM32F103ZET6 + microcontroller (ARM Cortex-M3). This port uses the GNU Cortex-M3 + toolchain. + +boards/arm/stm32/stm3220g-eval + STMicro STM3220G-EVAL development board based on the STMicro STM32F407IG + microcontroller (ARM Cortex-M3). + +boards/arm/stm32/stm3240g-eval + STMicro STM3240G-EVAL development board based on the STMicro STM32F103ZET6 + microcontroller (ARM Cortex-M4 with FPU). This port uses a GNU Cortex-M4 + toolchain (such as CodeSourcery). + +boards/arm/stm32/stm32butterfly2 + Kamami stm32butterfly2 development board with optional ETH phy. See + https://kamami.pl/zestawy-uruchomieniowe-stm32/178507-stm32butterfly2.html + +boards/arm/stm32/stm32f051-discovery + STMicro STM32F051-Discovery board based on the STMicro ARCH_CHIP_STM32F051R8 + MCU. + +boards/arm/stm32/stm32f072-discovery + STMicro STM32F072-Discovery board based on the STMicro ARCH_CHIP_STM32F072RB + MCU. + +boards/arm/stm32/stm32f103-minimum + Generic STM32F103C8T6 Minimum ARM Development Board. + +boards/arm/stm32/stm32f4discovery + STMicro STM32F4-Discovery board based on the STMicro STM32F407VGT6 MCU. + +boards/arm/stm32/aiit-arm32-board + STMicro STM32F4-AIIT board based on the STMicro STM32F407VGT6 MCU. + +boards/arm/stm32/stm32f411e-disco + This is a minimal configuration that supports low-level test of the + STMicro STM32F411E-Discovery Board. + +boards/arm/stm32/stm32f429i-disco + STMicro STM32F429I-Discovery board based on the STMicro STM32F429ZIT6 MCU. + +boards/arm/stm32f7/stm32f746g-disco + STMicro STM32F746G-DISCO development board featuring the STM32F746NGH6 + MCU. The STM32F746NGH6 is a 216MHz Cortex-M7 operation with 1024Kb Flash + memory and 300Kb SRAM. + +boards/arm/stm32f7/stm32f746g-ws + Waveshare STM32F746 development board featuring the STM32F746IG MCU. + +boards/arm/stm32l4/stm32l476-mdk + Motorola Mods Development Board (MDK) features STM32L476ME MCU. + The STM32L476ME is a Cortex-M4 optimised for low-power operation + at up to 80MHz operation with 1024Kb Flash memory and 96+32Kb SRAM. + +boards/arm/stm32f7/stm32f769i-disco + NuttX configurations for the STMicro STM32F769I-DISCO development board + featuring the STM32F769NIH6 MCU. The STM32F769NIH6 is a 216MHz Cortex-M7 + operating with 2048K Flash memory and 512Kb SRAM. + +boards/arm/stm32l4/stm32l476vg-disco + STMicro STM32L476VG_DISCO development board featuring the STM32L476VG + MCU. The STM32L476VG is a Cortex-M4 optimised for low-power operation + at up to 80MHz operation with 1024Kb Flash memory and 96+32Kb SRAM. + +boards/arm/stm32/stm32ldiscovery + STMicro STM32L-Discovery board based on the STMicro STM32L152RB MCU. + +boards/arm/stm32/stm32vldiscovery + STMicro STM32VL-Discovery board based on the STMicro STM32F100RB MCU. + +boards/mips/pic32mx/sure-pic32mx + The "Advanced USB Storage Demo Board," Model DB-DP11215, from Sure + Electronics (http://www.sureelectronics.net/). This board features + the MicroChip PIC32MX440F512H. See also + http://www.sureelectronics.net/goods.php?id=1168 for further + information about the Sure DB-DP11215 board. + +boards/avr/at90usb/teensy-2.0 + This is the port of NuttX to the PJRC Teensy++ 2.0 board. This board is + developed by http://pjrc.com/teensy/. The Teensy++ 2.0 is based + on an Atmel AT90USB1286 MCU. + +boards/arm/kinetis/teensy-3.x + This is the port of NuttX to the Teensy-3.1 from PJRC + (https://www.pjrc.com/). The Teensy-3.1 features the Freescale + MK30DX256VLH7 chip (now NXP). The MK30DX256VLH7 is a 64-pin Cortex-M4 + running at 72MHz. It has 256KiB of program FLASH memory and 64KiB of + SRAM. For more information about the Teensy 3.1, see + + https://www.pjrc.com/teensy/teensy31.html + https://www.pjrc.com/store/teensy31.html + + This board configuration can also be used with the older Teensy-3.0. The + Teensy-3.0 has the same schematic (although some pins are not used on the + Teensy-3.0). the primary difference is that the Teensy 3.0 has a + MK30DX128VLH5 with slightly less capability. + +boards/arm/imxrt/teensy-4.x + This is the port of NuttX to the PJRC Teensy++ 4.x board. This board is + developed by http://pjrc.com/teensy/. The Teensy++ 4.x is based + on an NXP MIMXRT1062DVL6A MCU. The port can support both Teensy 4.0 and + Teensy 4.1 boards. + + https://www.pjrc.com/store/teensy40.html + https://www.pjrc.com/store/teensy41.html + +boards/arm/kl/teensy-lc + This is the port of nuttx for the Teensy LC board. The Teensy LC + is a DIP style breakout board for the MKL25Z64 and comes with a USB + based bootloader. + +boards/arm/tiva/tm4c123g-launchpad + This is the port of NuttX to the Tiva TM4C123G LaunchPad. The + Tiva TM4C123G LaunchPad Evaluation Board is a low-cost evaluation + platform for ARM Cortex-M4F-based microcontrollers from Texas + Instruments. + +boards/arm/tiva/tm4c1294-launchpad + This is the port of NuttX to the Tiva TM4C1294 LaunchPad. The + Tiva TM4C123G LaunchPad Evaluation Board is a low-cost evaluation + platform for ARM Cortex-M4F-based microcontrollers from Texas + Instruments. + +boards/arm/tmx570/tms570ls31x-usb-kit + TI Hercules TMS570LS31xx Evaluation Kit (TMDS570ls31xx USB Kit) + featuring the Hercules TMS570LS3137ZWT chip. + +boards/arm/kinetis/twr-k60n512 + Kinetis K60 Cortex-M4 MCU. This port uses the FreeScale TWR-K60N512 + development board. + +boards/arm/kinetis/twr-k64f120m + Kinetis K64 Cortex-M4 MCU. This port uses the FreeScale TWR-K64F120M + development board. + +boards/mips/pic32mx/ubw32 + This is the port to the Sparkfun UBW32 board. This port uses the original v2.4 + board which is based on the MicroChip PIC32MX460F512L. See + http://www.sparkfun.com/products/8971. This older version has been replaced + with this board http://www.sparkfun.com/products/9713. See also + http://www.schmalzhaus.com/UBW32/. + +boards/renesas/sh1/us7032evb1 + This is a port of the Hitachi SH-1 on the Hitachi SH-1/US7032EVB1 board. + STATUS: Work has just began on this port. + +boards/arm/stm32/viewtool-stm32f107 + NuttX configurations for the ViewTool STM32F103/F107 V1.2 board. This + board may be fitted with either: (1) STM32F107VCT6 or (2) STM32F103VCT6. + See http://www.viewtool.com/ for further information. + +config/xmc4500-relax + Infineon XMC4500 Relax Lite v1 + +config/xmc4700-relax + Infineon XMC4700 Relax + +boards/z16/z16f/z16f2800100zcog + z16f Microcontroller. This port use the Zilog z16f2800100zcog + development kit and the Zilog ZDS-II Windows command line tools. The + development environment is Cygwin under WinXP. + +boards/z80/ez80/z20x + Microcontroller. This directory holds the port of NuttX to the z80x board + based on an ez80Acclaim! eZ80F091 microcontroller. + +boards/z80/z80/z80sim + z80 Microcontroller. This port uses a Z80 instruction set simulator + called z80sim. This port also uses the SDCC toolchain + (http://sdcc.sourceforge.net/") (verified with version 2.6.0). + +boards/z80/z8/z8encore000zco + z8Encore! Microcontroller. This port use the Zilog z8encore000zco + development kit, Z8F6403 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +boards/z80/z8/z8f64200100kit + z8Encore! Microcontroller. This port use the Zilog z8f64200100kit + development kit, Z8F6423 part, and the Zilog ZDS-II Windows command line + tools. The development environment is Cygwin under WinXP. + +boards/arm/lpc214x/zp214xpa + This port is for the NXP LPC2148 as provided on the The0.net + ZPA213X/4XPA development board. Includes support for the + UG-2864AMBAG01 OLED also from The0.net + +boards/arm/lpc17xx_40xx/zkit-arm-1769 + Zilogic System's ARM development Kit, ZKIT-ARM-1769. This board is based + on the NXP LPC1769. The NuttX Buildroot toolchain is used by default. + +Configuring NuttX +^^^^^^^^^^^^^^^^^ + +Configuring NuttX requires only copying + + boards/////Make.def to ${TOPDIR}/Make.defs + boards/////defconfig to ${TOPDIR}/.config + +tools/configure.sh + There is a script that automates these steps. The following steps will + accomplish the same configuration: + + tools/configure.sh : + + There is an alternative Windows batch file that can be used in the + windows native environment like: + + tools\configure.bat : + + See tools/README.txt for more information about these scripts. + + And if your application directory is not in the standard location (../apps + or ../apps-), then you should also specify the location of the + application directory on the command line like: + + cd tools + ./configure.sh -a : + +Building Symbol Tables +^^^^^^^^^^^^^^^^^^^^^^ + +Symbol tables are needed at several of the binfmt interfaces in order to bind +a module to the base code. These symbol tables can be tricky to create and +will probably have to be tailored for any specific application, balancing +the number of symbols and the size of the symbol table against the symbols +required by the applications. + +The top-level System.map file is one good source of symbol information +(which, or course, was just generated from the top-level nuttx file +using the GNU 'nm' tool). + +There are also common-separated value (CSV) values in the source try that +provide information about symbols. In particular: + + nuttx/syscall/syscall.csv - Describes the NuttX RTOS interface, and + nuttx/lib/libc.csv - Describes the NuttX C library interface. + +There is a tool at nuttx/tools/mksymtab that will use these CSV files as +input to generate a generic symbol table. See nuttx/tools/README.txt for +more information about using the mksymtab tool. diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/common/src/Make.defs b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/common/src/Make.defs index 1983c12fc..c0b9095b2 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/common/src/Make.defs +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/common/src/Make.defs @@ -78,6 +78,10 @@ ifeq ($(CONFIG_SENSORS_QENCODER),y) CSRCS += stm32_qencoder.c endif +ifeq ($(CONFIG_SENSORS_HALL3PHASE),y) + CSRCS += board_hall3ph.c +endif + ifeq ($(CONFIG_SENSORS_INA219),y) CSRCS += stm32_ina219.c endif @@ -122,6 +126,10 @@ ifeq ($(CONFIG_BOARD_STM32_IHM08M1),y) CSRCS += stm32_ihm08m1.c endif +ifeq ($(CONFIG_BOARD_STM32_IHM16M1),y) + CSRCS += stm32_ihm16m1.c +endif + ifeq ($(CONFIG_SENSORS_HS300X),y) CSRCS += stm32_hs300x.c endif diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/scripts/Make.defs b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/scripts/Make.defs index 3429915e4..9f91a74d4 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/scripts/Make.defs +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/scripts/Make.defs @@ -90,10 +90,6 @@ else LDELFFLAGS += -T $(BOARD_DIR)$(DELIM)scripts$(DELIM)gnu-elf.ld endif - -ifneq ($(CROSSDEV),arm-nuttx-elf-) - LDFLAGS += -nostartfiles -nodefaultlibs -endif ifeq ($(CONFIG_DEBUG_SYMBOLS),y) LDFLAGS += -g endif diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/src/stm32_bringup.c b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/src/stm32_bringup.c index 5a9007f37..861db2ef0 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/src/stm32_bringup.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/boards/arm/stm32/stm32f4discovery/src/stm32_bringup.c @@ -186,7 +186,7 @@ static void stm32_i2ctool(void) * CONFIG_BOARD_LATE_INITIALIZE=y : * Called from board_late_initialize(). * - * CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_LIB_BOARDCTL=y : + * CONFIG_BOARD_LATE_INITIALIZE=n && CONFIG_BOARDCTL=y : * Called from the NSH library * ****************************************************************************/ diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Kconfig b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Kconfig index c07319a2d..4ba9ae32e 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Kconfig +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Kconfig @@ -171,6 +171,35 @@ config SENSORS_DHTXX ---help--- Enable driver support for the DHTxx humidity/temperature sensor. +config SENSORS_DS18B20 + bool "Maxim Integrated DS18B20 Temperature Sensor support" + default n + select 1WIRE + ---help--- + Enable driver support for the DS18B20 temperature sensor. + +config SENSORS_DS18B20_POLL + bool "Enables polling sensor data" + depends on SENSORS_DS18B20 + default n + ---help--- + Enables polling of sensor. + +config SENSORS_DS18B20_POLL_INTERVAL + int "Polling interval in microseconds, default 1 sec" + depends on SENSORS_DS18B20 && SENSORS_DS18B20_POLL + default 1000000 + range 0 4294967295 + ---help--- + The interval until a new sensor measurement will be triggered. + +config SENSORS_DS18B20_THREAD_STACKSIZE + int "Worker thread stack size" + depends on SENSORS_DS18B20 && SENSORS_DS18B20_POLL + default 1024 + ---help--- + The stack size for the worker thread. + config SENSORS_FXOS8700CQ bool "NXP FXOS8700CQ Motion Sensor support" default n @@ -400,6 +429,13 @@ config SENSORS_LSM9DS1 ---help--- Enable driver support for the STMicro LSM9DS1. +config SENSORS_MSA301 + bool "MSA301 support" + default n + select I2C + ---help--- + Enable driver support for the MSA301. + config LSM9DS1_I2C_FREQUENCY int "LSM9DS1 I2C frequency" default 400000 @@ -898,6 +934,10 @@ config SENSORS_QENCODER bool "Qencoder" default n +config SENSORS_HALL3PHASE + bool "3-phase Hall effect sensor" + default n + config SENSORS_VEML6070 bool "Vishay VEML6070 UV-A Light Sensor support" default n @@ -972,6 +1012,7 @@ config HDC1008_DEBUG endif # SENSORS_HDC1008 + config HS300X_I2C bool default y if HS300X diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Make.defs b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Make.defs index 09673ec4f..01350d22d 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Make.defs +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/drivers/sensors/Make.defs @@ -96,6 +96,10 @@ ifeq ($(CONFIG_SENSORS_LSM9DS1),y) CSRCS += lsm9ds1.c endif +ifeq ($(CONFIG_SENSORS_MSA301),y) + CSRCS += msa301.c +endif + ifeq ($(CONFIG_SENSORS_LPS25H),y) CSRCS += lps25h.c endif @@ -260,6 +264,16 @@ endif endif # CONFIG_SPI +# These drivers depend on 1WIRE support + +ifeq ($(CONFIG_1WIRE),y) + +ifeq ($(CONFIG_SENSORS_DS18B20),y) + CSRCS += ds18b20.c +endif + +endif # CONFIG_1WIRE + ifeq ($(CONFIG_SENSORS_MPU60X0),y) CSRCS += mpu60x0.c endif @@ -270,6 +284,12 @@ ifeq ($(CONFIG_SENSORS_QENCODER),y) CSRCS += qencoder.c endif +# 3-phase Hall effect sensor upper half + +ifeq ($(CONFIG_SENSORS_HALL3PHASE),y) + CSRCS += hall3ph.c +endif + # Vishay VEML6070 ifeq ($(CONFIG_SENSORS_VEML6070),y) diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/Makefile.unix b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/Makefile.unix index 6189a7176..d63883a12 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/Makefile.unix +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/Makefile.unix @@ -53,7 +53,10 @@ ARCH_DIR = arch/$(CONFIG_ARCH) ARCH_SRC = $(ARCH_DIR)/src ARCH_INC = $(ARCH_DIR)/include -export APPPATHS = -I$(APPDIR)/../../../APP_Framework/Framework/sensor +export APPPATHS = -I$(APPDIR)/../../../APP_Framework/Framework/sensor +APPPATHS += -I$(APPDIR)/../../../APP_Framework/Framework/connection +APPPATHS += -I$(APPDIR)/../../../APP_Framework/Framework/connection/zigbee +APPPATHS += -I$(APPDIR)/../../../APP_Framework/Framework/connection/zigbee/e18 APPPATHS += -I$(APPDIR)/../../../APP_Framework/Applications/general_functions/list APPPATHS += -I$(APPDIR)/../../../APP_Framework/Framework/transform_layer/nuttx @@ -332,9 +335,7 @@ endif $(Q) touch $@ dirlinks: include/arch include/arch/board include/arch/chip $(ARCH_SRC)/board $(ARCH_SRC)/chip drivers/platform - $(Q) $(MAKE) -C libs/libxx dirlinks $(Q) $(MAKE) -C boards dirlinks - $(Q) $(MAKE) -C openamp dirlinks $(Q) $(MAKE) -C $(CONFIG_APPS_DIR) dirlinks # context @@ -467,6 +468,26 @@ endif download: $(BIN) $(call DOWNLOAD, $<) +# bootloader +# +# Some architectures require the provisioning of a bootloader or other +# functions required for properly executing the NuttX binary. +# Make.defs files for those architectures should define a bootloader target +# with the correct operations for that platform. It will generate an error +# if the bootloader target is not defined. + +bootloader: + $(Q) $(MAKE) -C $(ARCH_SRC) bootloader + +# clean_bootloader +# +# Removes all of the files and directories created by the bootloader target. +# It will generate an error if the clean_bootloader target is not defined on +# the architecture-specific Makefile. + +clean_bootloader: + $(Q) $(MAKE) -C $(ARCH_SRC) clean_bootloader + # pass1dep: Create pass1 build dependencies # pass2dep: Create pass2 build dependencies @@ -576,10 +597,14 @@ $(foreach SDIR, $(CLEANDIRS), $(eval $(call SDIR_template,$(SDIR),distclean))) subdir_distclean: $(foreach SDIR, $(CLEANDIRS), $(SDIR)_distclean) -distclean: clean subdir_distclean clean_context +distclean: clean subdir_distclean ifeq ($(CONFIG_BUILD_2PASS),y) $(Q) $(MAKE) -C $(CONFIG_PASS1_BUILDIR) distclean endif +ifeq ($(CONFIG_ARCH_HAVE_BOOTLOADER),y) + $(Q) $(MAKE) clean_bootloader +endif + $(Q) $(MAKE) clean_context $(call DELFILE, Make.defs) $(call DELFILE, defconfig) $(call DELFILE, .config) diff --git a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/cfgdefine.c b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/cfgdefine.c index 7b52a2f2b..6f79bd146 100644 --- a/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/cfgdefine.c +++ b/Ubiquitous/Nuttx/app_match_nuttx/nuttx/tools/cfgdefine.c @@ -335,7 +335,6 @@ void generate_definitions(FILE *stream) { printf("#define %s 1\n", varname); printf("#define %s 1\n", &varname[7]); - } /* Or to '2' if it has the special value 'm' */ @@ -351,7 +350,7 @@ void generate_definitions(FILE *stream) else { printf("#define %s %s\n", varname, varval); - printf("#define %s %s\n", &varname[7], varval); + printf("#define %s %s\n", &varname[7], varval); } } }