mirror of
https://github.com/apache/nuttx.git
synced 2026-09-30 19:06:22 +00:00
boards/rp2040: switch waveshare nsh/usbnsh configs to nxinit entrypoint
Switch CONFIG_INIT_ENTRYPOINT from nsh_main to nxinit's init_main for the shell-capable configs (nsh, usbnsh) of waveshare-rp2040-zero and waveshare-rp2040-lcd-1.28. nsh now runs as a "console sh" service started by init.rc instead of being the top-level init task. Add etc/init.d/init.rc to the shared common/src RCSRCS, gated on CONFIG_ETC_ROMFS && CONFIG_SYSTEM_NXINIT, so one copy covers both boards, plus a .gitignore for the etctmp files Board.mk generates from it. The four defconfigs also set CONFIG_SYSTEM_NXINIT=y with its Kconfig deps, CONFIG_ETC_ROMFS=y and CONFIG_FS_ROMFS=y. nsh_main connected the CDC/ACM gadget itself via boardctl(BOARDIOC_USBDEV_CDCACM); init_main does not, so the usbnsh configs would otherwise come up with no USB console. Run sercon from init.rc and enable CONFIG_SYSTEM_CDCACM in those two defconfigs to keep that step. Assisted-by: Claude:claude-sonnet-5 Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
This commit is contained in:
parent
9e93888220
commit
f492f136c2
7 changed files with 79 additions and 4 deletions
2
boards/arm/rp2040/common/.gitignore
vendored
Normal file
2
boards/arm/rp2040/common/.gitignore
vendored
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
etctmp
|
||||
etctmp.c
|
||||
|
|
@ -121,6 +121,12 @@ ifeq ($(CONFIG_ADC_ADS7046),y)
|
|||
CSRCS += rp2040_ads7046.c
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_ETC_ROMFS),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXINIT),y)
|
||||
RCSRCS += etc/init.d/init.rc
|
||||
endif
|
||||
endif
|
||||
|
||||
DEPPATH += --dep-path src
|
||||
VPATH += :src
|
||||
CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)arch$(DELIM)$(CONFIG_ARCH)$(DELIM)src$(DELIM)board$(DELIM)src
|
||||
|
|
|
|||
37
boards/arm/rp2040/common/src/etc/init.d/init.rc
Normal file
37
boards/arm/rp2040/common/src/etc/init.d/init.rc
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
/****************************************************************************
|
||||
* boards/arm/rp2040/common/src/etc/init.d/init.rc
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership. The
|
||||
* ASF licenses this file to you under the Apache License, Version 2.0 (the
|
||||
* "License"); you may not use this file except in compliance with the
|
||||
* License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
* License for the specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
#include <nuttx/config.h>
|
||||
|
||||
#ifdef CONFIG_SYSTEM_NSH
|
||||
service console sh
|
||||
console
|
||||
restart_period 1000
|
||||
#endif
|
||||
|
||||
on init
|
||||
#ifdef CONFIG_SYSTEM_CDCACM
|
||||
exec -- sercon
|
||||
#endif
|
||||
#ifdef CONFIG_SYSTEM_NSH
|
||||
start console
|
||||
#endif
|
||||
|
|
@ -24,10 +24,14 @@ CONFIG_BUILTIN=y
|
|||
CONFIG_DEBUG_FULLOPT=y
|
||||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DISABLE_POSIX_TIMERS=y
|
||||
CONFIG_ETC_ROMFS=y
|
||||
CONFIG_EXAMPLES_HELLO=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_FS_PROCFS_REGISTER=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_FS_ROMFS=y
|
||||
CONFIG_INIT_ENTRYPOINT="init_main"
|
||||
CONFIG_LIBC_EXECFUNCS=y
|
||||
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_READLINE=y
|
||||
|
|
@ -35,12 +39,15 @@ CONFIG_RAM_SIZE=270336
|
|||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_SCHED_CHILD_STATUS=y
|
||||
CONFIG_SCHED_HAVE_PARENT=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_START_DAY=9
|
||||
CONFIG_START_MONTH=2
|
||||
CONFIG_START_YEAR=2021
|
||||
CONFIG_SYSLOG_CONSOLE=y
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_SYSTEM_NXINIT=y
|
||||
CONFIG_TESTING_GETPRIME=y
|
||||
CONFIG_TESTING_OSTEST=y
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
|
|
|
|||
|
|
@ -27,10 +27,14 @@ CONFIG_CDCACM_CONSOLE=y
|
|||
CONFIG_DEBUG_FULLOPT=y
|
||||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DISABLE_POSIX_TIMERS=y
|
||||
CONFIG_ETC_ROMFS=y
|
||||
CONFIG_EXAMPLES_HELLO=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_FS_PROCFS_REGISTER=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_FS_ROMFS=y
|
||||
CONFIG_INIT_ENTRYPOINT="init_main"
|
||||
CONFIG_LIBC_EXECFUNCS=y
|
||||
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_READLINE=y
|
||||
|
|
@ -39,11 +43,15 @@ CONFIG_RAM_SIZE=270336
|
|||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_SCHED_CHILD_STATUS=y
|
||||
CONFIG_SCHED_HAVE_PARENT=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_START_DAY=9
|
||||
CONFIG_START_MONTH=2
|
||||
CONFIG_START_YEAR=2021
|
||||
CONFIG_SYSTEM_CDCACM=y
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_SYSTEM_NXINIT=y
|
||||
CONFIG_TESTING_GETPRIME=y
|
||||
CONFIG_TESTING_OSTEST=y
|
||||
CONFIG_USBDEV=y
|
||||
|
|
|
|||
|
|
@ -24,10 +24,14 @@ CONFIG_BUILTIN=y
|
|||
CONFIG_DEBUG_FULLOPT=y
|
||||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DISABLE_POSIX_TIMERS=y
|
||||
CONFIG_ETC_ROMFS=y
|
||||
CONFIG_EXAMPLES_HELLO=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_FS_PROCFS_REGISTER=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_FS_ROMFS=y
|
||||
CONFIG_INIT_ENTRYPOINT="init_main"
|
||||
CONFIG_LIBC_EXECFUNCS=y
|
||||
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_READLINE=y
|
||||
|
|
@ -35,12 +39,15 @@ CONFIG_RAM_SIZE=270336
|
|||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_SCHED_CHILD_STATUS=y
|
||||
CONFIG_SCHED_HAVE_PARENT=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_START_DAY=9
|
||||
CONFIG_START_MONTH=2
|
||||
CONFIG_START_YEAR=2021
|
||||
CONFIG_SYSLOG_CONSOLE=y
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_SYSTEM_NXINIT=y
|
||||
CONFIG_TESTING_GETPRIME=y
|
||||
CONFIG_TESTING_OSTEST=y
|
||||
CONFIG_UART0_SERIAL_CONSOLE=y
|
||||
|
|
|
|||
|
|
@ -27,10 +27,14 @@ CONFIG_CDCACM_CONSOLE=y
|
|||
CONFIG_DEBUG_FULLOPT=y
|
||||
CONFIG_DEBUG_SYMBOLS=y
|
||||
CONFIG_DISABLE_POSIX_TIMERS=y
|
||||
CONFIG_ETC_ROMFS=y
|
||||
CONFIG_EXAMPLES_HELLO=y
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_FS_PROCFS=y
|
||||
CONFIG_FS_PROCFS_REGISTER=y
|
||||
CONFIG_INIT_ENTRYPOINT="nsh_main"
|
||||
CONFIG_FS_ROMFS=y
|
||||
CONFIG_INIT_ENTRYPOINT="init_main"
|
||||
CONFIG_LIBC_EXECFUNCS=y
|
||||
CONFIG_NFILE_DESCRIPTORS_PER_BLOCK=6
|
||||
CONFIG_NSH_BUILTIN_APPS=y
|
||||
CONFIG_NSH_READLINE=y
|
||||
|
|
@ -39,11 +43,15 @@ CONFIG_RAM_SIZE=270336
|
|||
CONFIG_RAM_START=0x20000000
|
||||
CONFIG_READLINE_CMD_HISTORY=y
|
||||
CONFIG_RR_INTERVAL=200
|
||||
CONFIG_SCHED_CHILD_STATUS=y
|
||||
CONFIG_SCHED_HAVE_PARENT=y
|
||||
CONFIG_SCHED_WAITPID=y
|
||||
CONFIG_START_DAY=9
|
||||
CONFIG_START_MONTH=2
|
||||
CONFIG_START_YEAR=2021
|
||||
CONFIG_SYSTEM_CDCACM=y
|
||||
CONFIG_SYSTEM_NSH=y
|
||||
CONFIG_SYSTEM_NXINIT=y
|
||||
CONFIG_TESTING_GETPRIME=y
|
||||
CONFIG_TESTING_OSTEST=y
|
||||
CONFIG_USBDEV=y
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue