diff --git a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst index bc10b6112e8..11891b6a02c 100644 --- a/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst +++ b/Documentation/platforms/risc-v/esp32c3/boards/esp32c3-generic/index.rst @@ -399,6 +399,59 @@ This same configuration enables the usage of the RMT peripheral and the example Please note that this board contains an on-board WS2812 LED connected to GPIO8 and, by default, this config configures the RMT transmitter in the same pin. +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/risc-v/esp32c3/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/risc-v/esp32c3/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- diff --git a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst index 45caf93ccef..7c3b83bb608 100644 --- a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst +++ b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitc/index.rst @@ -423,6 +423,59 @@ This same configuration enables the usage of the RMT peripheral and the example Please note that this board contains an on-board WS2812 LED connected to GPIO8 and, by default, this config configures the RMT transmitter in the same pin. +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/risc-v/esp32c6/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/risc-v/esp32c6/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- diff --git a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.rst b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.rst index 88f4a6438c6..6087332ee1d 100644 --- a/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.rst +++ b/Documentation/platforms/risc-v/esp32c6/boards/esp32c6-devkitm/index.rst @@ -338,6 +338,59 @@ This same configuration enables the usage of the RMT peripheral and the example Please note that this board contains an on-board WS2812 LED connected to GPIO8 and, by default, this config configures the RMT transmitter in the same pin. +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/risc-v/esp32c6/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/risc-v/esp32c6/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- diff --git a/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst b/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst index d9b3f79ce02..a0789642f42 100644 --- a/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst +++ b/Documentation/platforms/risc-v/esp32h2/boards/esp32h2-devkit/index.rst @@ -355,6 +355,59 @@ This same configuration enables the usage of the RMT peripheral and the example Please note that this board contains an on-board WS2812 LED connected to GPIO8 and, by default, this config configures the RMT transmitter in the same pin. +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/risc-v/esp32h2/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/risc-v/esp32h2/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- diff --git a/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst index 6aa571a4575..0828f4e0b39 100644 --- a/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst +++ b/Documentation/platforms/xtensa/esp32/boards/esp32-devkitc/index.rst @@ -924,6 +924,59 @@ to ESP32 GPIO 4 and run:: nsh> ws2812esp32 0 +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/xtensa/esp32/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/xtensa/esp32/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- diff --git a/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst b/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst index 2901da7ee69..15110fe53d0 100644 --- a/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst +++ b/Documentation/platforms/xtensa/esp32s2/boards/esp32s2-saola-1/index.rst @@ -475,6 +475,59 @@ This same configuration enables the usage of the RMT peripheral and the example Please note that this board contains an on-board WS2812 LED connected to GPIO18 and, by default, this config configures the RMT transmitter in the same pin. +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/xtensa/esp32s2/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/xtensa/esp32s2/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- diff --git a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst index 631c5aab42e..fa70170112f 100644 --- a/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst +++ b/Documentation/platforms/xtensa/esp32s3/boards/esp32s3-devkit/index.rst @@ -639,7 +639,7 @@ Enables PM support. You can define standby mode and sleep mode delay time:: You can also define an EXT1 wakeup for both sleep modes by selecting which RTC GPIO will be used and the logic level that will trigger it:: - + $ make menuconfig -> Board Selection -> [*] PM EXT1 Wakeup @@ -829,6 +829,59 @@ Please note that this board contains an on-board WS2812 LED connected to GPIO48 (or GPIO38, depending on the board version) and, by default, this config configures the RMT transmitter in the same pin. +romfs +----- + +This configuration demonstrates the use of ROMFS (Read-Only Memory File System) to provide +automated system initialization and startup scripts. ROMFS allows embedding a read-only +filesystem directly into the NuttX binary, which is mounted at ``/etc`` during system startup. + +**What ROMFS provides:** + +* **System initialization script** (``/etc/init.d/rc.sysinit``): Executed after board bring-up +* **Startup script** (``/etc/init.d/rcS``): Executed after system init, typically used to start applications + +**Default behavior:** + +When this configuration is used, NuttX will: + +1. Create a read-only RAM disk containing the ROMFS filesystem +2. Mount the ROMFS at ``/etc`` +3. Execute ``/etc/init.d/rc.sysinit`` during system initialization +4. Execute ``/etc/init.d/rcS`` for application startup + +**Customizing startup scripts:** + +The startup scripts are located in: +``boards/xtensa/esp32s3/common/src/etc/init.d/`` + +* ``rc.sysinit`` - System initialization script +* ``rcS`` - Application startup script + +To customize these scripts: + +1. **Edit the script files** in ``boards/xtensa/esp32s3/common/src/etc/init.d/`` +2. **Add your initialization commands** using any NSH-compatible commands + +**Example customizations:** + +* **rc.sysinit** - Set up system services, mount additional filesystems, configure network. +* **rcS** - Start your application, launch daemons, configure peripherals. This is executed after the rc.sysinit script. + +Example output:: + + *** Booting NuttX *** + [...] + rc.sysinit is called! + rcS file is called! + NuttShell (NSH) NuttX-12.8.0 + nsh> ls /etc/init.d + /etc/init.d: + . + .. + rc.sysinit + rcS + rtc --- @@ -985,13 +1038,13 @@ board terminal:: nsh> spislv -x 5 1a2b3c4d5e -This command enqueues the data sequence ``1a2b3c4d5e`` in the slave buffer. +This command enqueues the data sequence ``1a2b3c4d5e`` in the slave buffer. On the next transfer, the external SPI master should receive this data back from the slave. By default, SPI2 pins are used for the slave interface. The exact pin mapping depends on the ESP32-S3 DevKit version and can be adjusted through -``menuconfig`` under *System type → SPI configuration*. +``menuconfig`` under *System type → SPI configuration*. sta_softap ----------