You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by ag...@apache.org on 2021/02/21 13:22:44 UTC
[incubator-nuttx] 01/02: boards: raspberrypi-pico: Introduce
rp2040_bringup() to mount procfs
This is an automated email from the ASF dual-hosted git repository.
aguettouche pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
commit d68bfe1e1abc4147ac65c5ab47f340f9f4172123
Author: Masayuki Ishikawa <ma...@gmail.com>
AuthorDate: Sun Feb 21 17:05:28 2021 +0900
boards: raspberrypi-pico: Introduce rp2040_bringup() to mount procfs
Summary:
- This commit introduces rp2040_bringup() to mount procfs
Impact:
- None
Testing:
- Tested with raspberrypi-pico:nsh
---
.../rp2040/raspberrypi-pico/configs/nsh/defconfig | 1 +
boards/arm/rp2040/raspberrypi-pico/src/Makefile | 1 +
.../rp2040/raspberrypi-pico/src/rp2040_appinit.c | 10 +++++
.../src/{rp2040_appinit.c => rp2040_bringup.c} | 52 +++++++++-------------
.../arm/rp2040/raspberrypi-pico/src/rp2040_pico.h | 32 +++++++++++++
5 files changed, 64 insertions(+), 32 deletions(-)
diff --git a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
index baad567..e2e6ad9 100644
--- a/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
+++ b/boards/arm/rp2040/raspberrypi-pico/configs/nsh/defconfig
@@ -47,3 +47,4 @@ CONFIG_SYSTEM_NSH=y
CONFIG_TESTING_OSTEST=y
CONFIG_UART0_SERIAL_CONSOLE=y
CONFIG_USER_ENTRYPOINT="nsh_main"
+CONFIG_NSH_ARCHINIT=y
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/Makefile b/boards/arm/rp2040/raspberrypi-pico/src/Makefile
index be57df4..af5f036 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/Makefile
+++ b/boards/arm/rp2040/raspberrypi-pico/src/Makefile
@@ -22,5 +22,6 @@ include $(TOPDIR)/Make.defs
CSRCS = rp2040_boardinitialize.c
CSRCS += rp2040_appinit.c
+CSRCS += rp2040_bringup.c
include $(TOPDIR)/boards/Board.mk
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
index d36d655..2609fa1 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
@@ -25,6 +25,8 @@
#include <nuttx/config.h>
#include <nuttx/board.h>
+#include "rp2040_pico.h"
+
/****************************************************************************
* Pre-processor Definitions
****************************************************************************/
@@ -64,5 +66,13 @@
int board_app_initialize(uintptr_t arg)
{
+#ifdef CONFIG_BOARD_LATE_INITIALIZE
+ /* Board initialization already performed by board_late_initialize() */
+
return OK;
+#else
+ /* Perform board-specific initialization */
+
+ return rp2040_bringup();
+#endif
}
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
similarity index 51%
copy from boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
copy to boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
index d36d655..5f25f7f 100644
--- a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
@@ -1,5 +1,5 @@
/****************************************************************************
- * boards/arm/rp2040/raspberrypi-pico/src/rp2040_appinit.c
+ * boards/arm/rp2040/raspberrypi-pico/src/rp2040_bringup.c
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -23,46 +23,34 @@
****************************************************************************/
#include <nuttx/config.h>
-#include <nuttx/board.h>
-/****************************************************************************
- * Pre-processor Definitions
- ****************************************************************************/
+#include <debug.h>
+#include <stddef.h>
+#include <sys/mount.h>
-#ifndef OK
-# define OK 0
-#endif
+#include "rp2040_pico.h"
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
- * Name: board_app_initialize
- *
- * Description:
- * Perform application specific initialization. This function is never
- * called directly from application code, but only indirectly via the
- * (non-standard) boardctl() interface using the command BOARDIOC_INIT.
- *
- * Input Parameters:
- * arg - The boardctl() argument is passed to the board_app_initialize()
- * implementation without modification. The argument has no
- * meaning to NuttX; the meaning of the argument is a contract
- * between the board-specific initialization logic and the
- * matching application logic. The value could be such things as a
- * mode enumeration value, a set of DIP switch switch settings, a
- * pointer to configuration data read from a file or serial FLASH,
- * or whatever you would like to do with it. Every implementation
- * should accept zero/NULL as a default configuration.
- *
- * Returned Value:
- * Zero (OK) is returned on success; a negated errno value is returned on
- * any failure to indicate the nature of the failure.
- *
+ * Name: rp2040_bringup
****************************************************************************/
-int board_app_initialize(uintptr_t arg)
+int rp2040_bringup(void)
{
- return OK;
+ int ret = 0;
+
+#ifdef CONFIG_FS_PROCFS
+ /* Mount the procfs file system */
+
+ ret = mount(NULL, "/proc", "procfs", 0, NULL);
+ if (ret < 0)
+ {
+ serr("ERROR: Failed to mount procfs at %s: %d\n", "/proc", ret);
+ }
+#endif
+
+ return ret;
}
diff --git a/boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h
new file mode 100644
index 0000000..4762bd7
--- /dev/null
+++ b/boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h
@@ -0,0 +1,32 @@
+/****************************************************************************
+ * boards/arm/rp2040/raspberrypi-pico/src/rp2040_pico.h
+ *
+ * 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.
+ *
+ ****************************************************************************/
+
+#ifndef __BOARDS_ARM_RP2040_RASPBERRYPI_PICO_SRC_RP2040_PICO_H
+#define __BOARDS_ARM_RP2040_RASPBERRYPI_PICO_SRC_RP2040_PICO_H
+
+/****************************************************************************
+ * Included Files
+ ****************************************************************************/
+
+#include <nuttx/config.h>
+
+int rp2040_bringup(void);
+
+#endif /* __BOARDS_ARM_RP2040_RASPBERRYPI_PICO_SRC_RP2040_PICO_H */