This is an automated email from the ASF dual-hosted git repository. xiaoxiang pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-nuttx.git
The following commit(s) were added to refs/heads/master by this push: new b70fc57849 RP2040 Board Documentation b70fc57849 is described below commit b70fc57849108f8d70613a902a288c52651ea7e1 Author: curuvar <58759586+curu...@users.noreply.github.com> AuthorDate: Fri Jul 1 16:23:35 2022 -0400 RP2040 Board Documentation --- .../boards/adafruit-feather-rp2040/Feather.png | Bin 0 -> 207962 bytes .../boards/adafruit-feather-rp2040/index.rst | 209 +++++++++++++++++++++ .../arm/rp2040/boards/adafruit-kb2040/KB2040.png | Bin 0 -> 177093 bytes .../arm/rp2040/boards/adafruit-kb2040/index.rst | 185 ++++++++++++++++++ .../rp2040/boards/pimoroni-tiny2040/Tiny2040.png | Bin 0 -> 127111 bytes .../arm/rp2040/boards/pimoroni-tiny2040/index.rst | 127 +++++++++++++ .../boards/raspberrypi-pico/RaspberryPiPico.png | Bin 0 -> 229318 bytes .../arm/rp2040/boards/raspberrypi-pico/index.rst | 203 ++++++++++++++++++++ Documentation/platforms/arm/rp2040/index.rst | 113 +++++++++++ 9 files changed, 837 insertions(+) diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/Feather.png b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/Feather.png new file mode 100644 index 0000000000..c7972a8479 Binary files /dev/null and b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/Feather.png differ diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst new file mode 100644 index 0000000000..7b128bb653 --- /dev/null +++ b/Documentation/platforms/arm/rp2040/boards/adafruit-feather-rp2040/index.rst @@ -0,0 +1,209 @@ +======================= +Adafruit Feather RP2040 +======================= + +The Feather RP2040 is a general purpose RP2040 board supplied by +Adafruit. + +.. figure:: Feather.png + :align: center + +Features +======== + +* RP2040 microcontroller chip +* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz +* 264kB of SRAM, and 8MB of on-board Flash memory +* Castellated module allows soldering direct to carrier boards +* USB Host and Device support via type C connector. +* Low-power sleep and dormant modes +* Drag & drop programming using mass storage over USB +* 26 multi-function GPIO pins +* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels +* Accurate clock and timer on-chip +* Temperature sensor +* Accelerated floating point libraries on-chip +* 8 × Programmable IO (PIO) state machines for custom peripheral support +* LiPoly Battery connector + +Serial Console +============== + +By default a serial console appears on pins 14 (RX GPIO0) and pin 15 +(TX GPIO1). This console runs a 115200-8N1. + +The board can be configured to use the USB connection as the serial console. + +Buttons and LEDs +================ + +User LED controlled by GPIO13. + +A ws2812 (NeoPixel) smart RGB LED controlled by GPIO16. + +An LED (CHG LED) that indicates the charging status of +connected LiPo cell. + +There is a BOOT button which if held down when power is first +applied or the RESET button is pressed will cause the RP2040 to +boot into program mode and appear as a storage device to +a USB connecte . Saving a .UF2 file to this device will +replace the Flash ROM contents on the RP2040. + +A RESET button that allows rebooting the board without disconnecting +the power. + +Pin Mapping +=========== + +===== ========== ========== +Pin Signal Notes +===== ========== ========== +1 Reset Pull to ground to reset the RP2040 processor. +2 3.3V Power out to peripherals. +3 3.3V Power out to peripherals. +4 Ground +5 GPIO26 ADC0 +6 GPIO27 ADC1 +7 GPIO28 ADC2 +8 GPIO29 ADC3 +9 GPIO24 +10 GPIO25 +11 GPIO18 +12 GPIO19 +13 GPIO20 +14 GPIO1 Default RX for UART1 serial console +15 GPIO0 Default TX for UART0 serial console +16 GPIO6 +17 GPIO2 +18 GPIO3 +19 GPIO7 +20 GPIO8 +21 GPIO9 +22 GPIO10 +23 GPIO11 +24 GPIO12 +25 GPIO13 +26 VBUS Connected to USB +5V +27 EN Pull to ground to turn off 3.3V regulator. +28 VBAT Connected to LiPo battery 3.3V. +===== ========== ========== + +The board has a STEMMA QT connector that is also connected to +pins GPIO2 (I2C1 SDA) and GPIO3 (I2C1 SDA). + +The board has a two pin JST PH socket that accepts a single 3.3V +LiPo cell. The cell connected to this port can be charged by +connecting the board to a USB power supply. + +There are solder pads on the board that allow the addition of +a 10-pin serial debug (SWD) connector. + +Power Supply +============ + +The Raspberry Pi Pico can be powered via the USB connector, +or by supplying +5V to pin 39. The board had a diode that prevents +power from pin 39 from flowing back to the USB socket, although +the socket can be power via pin 30. + +The Raspberry Pi Pico chip run on 3.3 volts. This is supplied +by an onboard voltage regulator. This regulator can be disabled +by pulling pin 37 to ground. + +The regulator can run in two modes. By default the regulator runs +in PFM mode which provides the best efficiency, but may be +switched to PWM mode for improved ripple by outputting a one +on GPIO23. + + +Configurations +============== + +audiopack +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with +support for NSPlayer audio player. + +composite +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +CDC/ACM with MSC USB composite driver. + +displaypack +----------- + +NuttShell configuration (console enabled in USB Port, at 115200 bps) supporting +ST7789 video display. + +enc28j60 +-------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +NC28J60. + +lcd1602 +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +LCD1602. + +nsh +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps). + +nshsram +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with interrupt +vectors in RAM. + +smp +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with +both ARM cores enabled. + +spisd +----- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI configured. + +ssd1306 +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +ssd1306. + +st7735 +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +st7735. + +usbmsc +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + +usbnsh +------ + +Basic NuttShell configuration (console enabled in USB Port, at 115200 bps). + +waveshare-lcd-1.14 +------------------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +st7789. + +waveshare-lcd-1.3 +----------------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/KB2040.png b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/KB2040.png new file mode 100644 index 0000000000..c16c67045a Binary files /dev/null and b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/KB2040.png differ diff --git a/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst new file mode 100644 index 0000000000..546aa1bc48 --- /dev/null +++ b/Documentation/platforms/arm/rp2040/boards/adafruit-kb2040/index.rst @@ -0,0 +1,185 @@ +======================== +Adafruit KB2040 Key Boar +======================== + +The KB2040 Key Boar is a general purpose RP2040 board supplied by +Adafruit. + +.. figure:: KB2040.png + :align: center + +Features +======== + +* RP2040 microcontroller chip +* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz +* 264kB of SRAM, and 8MB of on-board Flash memory +* Castellated module allows soldering direct to carrier boards +* USB Host and Device support via type C connector. +* Low-power sleep and dormant modes +* Drag & drop programming using mass storage over USB +* 18 multi-function GPIO pins +* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels +* Accurate clock and timer on-chip +* Temperature sensor +* Accelerated floating point libraries on-chip +* 8 × Programmable IO (PIO) state machines for custom peripheral support +* On-board STEMMA QT connector for quick I2C connection. + +Serial Console +============== + +By default a serial console appears on pins 1 (TX GPIO0) and pin 2 +(RX GPIO1). This console runs a 115200-8N1. + +The board can be configured to use the USB connection as the serial console. + +Buttons and LEDs +================ + +There is a BOOT button which if held down when power is first +applied or the RESET button is pressed will cause the RP2040 to +boot into program mode and appear as a storage device to +a USB connecte . Saving a .UF2 file to this device will +replace the Flash ROM contents on the RP2040. + +A RESET button that allows rebooting the board without disconnecting +the power. + +A ws2812 (NeoPixel) smart RGB LED controlled by GPIO17. + +Pin Mapping +=========== + +===== ========== ========== +Pin Signal Notes +===== ========== ========== +1 D+ Alternate USB data connection. +2 GPIO0 Default TX for UART0 serial console +3 GPIO1 Default RX for UART1 serial console +4 Ground +5 Ground +6 GPIO2 +7 GPIO3 +8 GPIO4 +9 GPIO5 +10 GPIO6 +11 GPIO7 +12 GPIO8 +13 GPIO9 +14 GPIO10 +15 GPIO19 +16 GPIO20 +17 GPIO18 +18 GPIO26 ADC0 +19 GPIO27 ADC1 +20 GPIO28 ADC2 +21 GPIO29 ADC3 +22 Ground +23 Raw Connected to USB +5V line +24 D- Alternate USB data connection. +===== ========== ========== + +The board has a STEMMA QT connector that is also connected to +pins GPI12 (I2C1 SDA) and GPI13 (I2C1 SDA). + + +Power Supply +============ + +The Raspberry Pi Pico can be powered via the USB connector, +or by supplying +5V to pin 23. + +The Raspberry Pi Pico chip run on 3.3 volts. This is supplied +by an onboard voltage regulator. + +Configurations +============== + +audiopack +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with +support for NSPlayer audio player. + +composite +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +CDC/ACM with MSC USB composite driver. + +displaypack +----------- + +NuttShell configuration (console enabled in USB Port, at 115200 bps) supporting +ST7789 video display. + +enc28j60 +-------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +NC28J60. + +lcd1602 +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +LCD1602. + +nsh +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps). + +nshsram +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with interrupt +vectors in RAM. + +smp +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with +both ARM cores enabled. + +spisd +----- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI configured. + +ssd1306 +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +ssd1306. + +st7735 +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +st7735. + +usbmsc +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + +usbnsh +------ + +Basic NuttShell configuration (console enabled in USB Port, at 115200 bps). + +waveshare-lcd-1.14 +------------------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +st7789. + +waveshare-lcd-1.3 +----------------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + diff --git a/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/Tiny2040.png b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/Tiny2040.png new file mode 100644 index 0000000000..24d0d2bb99 Binary files /dev/null and b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/Tiny2040.png differ diff --git a/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst new file mode 100644 index 0000000000..7bb7f3fe96 --- /dev/null +++ b/Documentation/platforms/arm/rp2040/boards/pimoroni-tiny2040/index.rst @@ -0,0 +1,127 @@ +================= +Pimoroni Tiny2040 +================= + +The Tiny2040 is a general purpose RP2040 board supplied by Pimoroni. + +.. figure:: Tiny2040.png + :align: center + +Features +======== + +* RP2040 microcontroller chip +* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz +* 264kB of SRAM, and 2MB or 8MB of on-board Flash memory +* Castellated module allows soldering direct to carrier boards +* USB Host and Device support via type C connector +* Low-power sleep and dormant modes +* Drag & drop programming using mass storage over USB +* 12 multi-function GPIO pins +* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels +* Accurate clock and timer on-chip +* Temperature sensor +* Accelerated floating point libraries on-chip +* 8 × Programmable IO (PIO) state machines for custom peripheral support + +Serial Console +============== + +By default a serial console appears on pins 15 (RX GPIO0) and +pin 16 (TX GPIO1). This console runs a 115200-8N1. + +The board can be configured to use the USB connection as the serial console. + +Buttons and LEDs +================ + +There is a single onboard RGB LED controlled by pins +GPIO18 (red), GPIO19 (green), and GPIO20 (blue). + +The is a User/BOOT button readable as GPIO23. If held down when power +is first applied the RP2040 will boot into program mode and appear to +a computer connected via USB as a storage device. Saving +a .UF2 file to this device will replace the Flash ROM contents +on the RP2040. + +Pin Mapping +=========== + +===== ========== ========== +Pin Signal Notes +===== ========== ========== +1 VBUS Connected to USB +5V +2 Ground +3 3V3 Out to peripherals +4 GPIO29 ADC3 +5 GPIO28 ADC2 +6 GPIO27 ADC1 +7 GPIO26 ADC0 +8 Ground +9 GPIO7 +10 GPIO6 +11 GPIO5 +12 GPIO4 +13 GPIO3 +14 GPIO2 +15 GPIO1 Default RX for UART0 serial console +16 GPIO0 Default TX for UART0 serial console +===== ========== ========== + +Power Supply +============ + +The Raspberry Pi Pico can be powered via the USB connector, +or by supplying +5V to pin 1. + +The Raspberry Pi Pico chip run on 3.3 volts. This is supplied +by an onboard voltage regulator. + +Configurations +============== + +composite +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +CDC/ACM with MSC USB composite driver. + +gpio +-------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with GPIO examples. + +nsh +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps). + +nshsram +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with interrupt +vectors in RAM. + +smp +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with +both ARM cores enabled. + +spisd +----- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI configured. + +usbmsc +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + +usbnsh +------ + +Basic NuttShell configuration (console enabled in USB Port, at 115200 bps). + + diff --git a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/RaspberryPiPico.png b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/RaspberryPiPico.png new file mode 100644 index 0000000000..bb5579bd80 Binary files /dev/null and b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/RaspberryPiPico.png differ diff --git a/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst new file mode 100644 index 0000000000..a5d24637fc --- /dev/null +++ b/Documentation/platforms/arm/rp2040/boards/raspberrypi-pico/index.rst @@ -0,0 +1,203 @@ +=============================== +Raspberry Pi Pico +=============================== + +The `Raspberry Pi Pico <https://www.raspberrypi.com/products/raspberry-pi-pico/>`_ is a general purpose board supplied by +the Raspberry Pi Foundation. + +.. figure:: RaspberryPiPico.png + :align: center + +Features +======== + +* RP2040 microcontroller chip +* Dual-core ARM Cortex M0+ processor, flexible clock running up to 133 MHz +* 264kB of SRAM, and 2MB of on-board Flash memory +* Castellated module allows soldering direct to carrier boards +* USB 1.1 Host and Device support +* Low-power sleep and dormant modes +* Drag & drop programming using mass storage over USB +* 26 multi-function GPIO pins +* 2× SPI, 2× I2C, 2× UART, 3× 12-bit ADC, 16× controllable PWM channels +* Accurate clock and timer on-chip +* Temperature sensor +* Accelerated floating point libraries on-chip +* 8 × Programmable IO (PIO) state machines for custom peripheral support + +Serial Console +============== + +By default a serial console appears on pins 1 (TX GPIO0) and pin 2 +(RX GPIO1). This console runs a 115200-8N1. + +The board can be configured to use the USB connection as the serial console. + +Buttons and LEDs +================ + +User LED controlled by GPIO25. + +A BOOTSEL button, which if held down when power is first +applied to the board, the cause the RP2040 to boot programming mode +and appear to a computer connected via USB as a storage device. +Saving a .UF2 file to this device will replace the Flash ROM contents +on the RP2040. + +Pin Mapping +=========== + +===== ========== ========== +Pin Signal Notes +===== ========== ========== +1 GPIO0 Default TX for UART0 serial console +2 GPIO1 Default RX for UART1 serial console +3 Ground +4 GPIO2 +5 GPIO3 +6 GPIO4 +7 GPIO5 +8 Ground +9 GPIO6 +10 GPIO7 +11 GPIO8 +12 GPIO9 +13 Ground +14 GPIO10 +15 GPIO11 +16 GPIO12 +17 GPIO13 +18 Ground +19 GPIO14 +20 GPIO15 +21 GPIO16 +22 GPIO17 +23 Ground +24 GPIO18 +25 GPIO19 +26 GPIO20 +27 GPIO21 +28 Ground +29 GPIO22 +30 Run +31 GPIO26 ADC0 +32 GPIO27 ADC1 +33 AGND Analog Ground +34 GPIO28 ADC2 +35 ADC_VREF +36 3V3 Power output to peripherals +37 3V3_EN Pull to ground to turn off. +38 Ground +39 VSYS +5V Supply to board +40 VBUS Connected to USB +5V +===== ========== ========== + +Separate pins for the Serial Debug Port (SDB) are available + +Power Supply +============ + +The Raspberry Pi Pico can be powered via the USB connector, +or by supplying +5V to pin 39. The board had a diode that prevents +power from pin 39 from flowing back to the USB socket, although +the socket can be power via pin 30. + +The Raspberry Pi Pico chip run on 3.3 volts. This is supplied +by an onboard voltage regulator. This regulator can be disabled +by pulling pin 37 to ground. + +The regulator can run in two modes. By default the regulator runs +in PFM mode which provides the best efficiency, but may be +switched to PWM mode for improved ripple by outputting a one +on GPIO23. + +Configurations +============== + +audiopack +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with +support for NSPlayer audio player. + +composite +--------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +CDC/ACM with MSC USB composite driver. + +displaypack +----------- + +NuttShell configuration (console enabled in USB Port, at 115200 bps) supporting +ST7789 video display. + +enc28j60 +-------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +NC28J60. + +lcd1602 +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +LCD1602. + +nsh +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps). + +nshsram +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with interrupt +vectors in RAM. + +smp +--- + +Basic NuttShell configuration (console enabled in UART0, at 115200 bps) with +both ARM cores enabled. + +spisd +----- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with SPI configured. + +ssd1306 +------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +ssd1306. + +st7735 +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +st7735. + +usbmsc +------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + +usbnsh +------ + +Basic NuttShell configuration (console enabled in USB Port, at 115200 bps). + +waveshare-lcd-1.14 +------------------ + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +st7789. + +waveshare-lcd-1.3 +----------------- + +NuttShell configuration (console enabled in UART0, at 115200 bps) with support for +usbmsc. + diff --git a/Documentation/platforms/arm/rp2040/index.rst b/Documentation/platforms/arm/rp2040/index.rst new file mode 100644 index 0000000000..138327a92d --- /dev/null +++ b/Documentation/platforms/arm/rp2040/index.rst @@ -0,0 +1,113 @@ +======== +rp2040 +======== + +The rp2040 is a dual core chip produced by the RaspberryPi Foundation that +is based on ARM Cortex-M0+. + +Peripheral Support +================== + +The following list indicates peripherals currently supported in NuttX: + +============== ===== +Peripheral Notes +============== ===== +GPIO See Supported Boards documentation for available pins. +UART GPIO 0 (UART0 TX) and GPIO 1 (UART0 RX) are used for the console. +I2C +SPI +DMAC +PWM +USB +PIO RP2040 Programmable I/O +IRQs +DMA +ws2812 Smart pixels (e.g. Neopixel) +Flash ROM Boot +SRAM Boot If Pico SDK is available a nuttx.uf2 file will be created +BMP180 Requires I2C0 +INA219 Requires I2C0 +============== ===== + +The Pico Display Pack (ST7789 LCD) and Pico Audio Pack (PCM5100A I2S DAC) are +also available. + +Installation +============ + +1. Download Raspberry Pi Pico SDK:: + + git clone -b 1.1.2 https://github.com/raspberrypi/pico-sdk.git + +2. Set PICO_SDK_PATH environment variable:: + + export PICO_SDK_PATH=<absolute_path_to_pico-sdk_directory> + +3. Download NuttX and the companion applications. These must both be + contained in the same directory:: + + git clone https://github.com/apache/incubator-nuttx.git nuttx + git clone https://github.com/apache/incubator-nuttx-apps.git apps + +Building NuttX +============== + +1. Change to NuttX directory:: + + cd nuttx + +2. Select a configuration. The available configurations + can be listed with the command:: + + ./tools/configure.sh -L + +3. Load the selected configuration.:: + + make distclean + ./tools/configure.sh <selected_configuration> + +4. Modify the configuration as needed (optional):: + + make menuconfig + +5. Build NuttX:: + + make + +Programming +============ + +Programming using BOOTSEL +------------------------- + +Connect board to USB port while pressing BOOTSEL. +The board will be detected as USB Mass Storage Device. +Then copy "nuttx.uf2" into the device. +(Same manner as the standard Pico SDK applications installation.) + +Programming using SDB +--------------------- + +Most (but no all) RP2040 boards provide a serial (SDB) debug port. +The "nuttx" ELF file can be uploaded with an appropriate SDB programmer +module and companion software. + +Running NuttX +============= + +Most builds provide access to the console via UART0. To access this +GPIO 0 and 1 pins must be connected to the device such as USB-serial converter. + +The `usbnsh` configuration provides the console access by USB CDC/ACM serial +devcice. The console is available by using a terminal software on the USB host. + +Supported Boards +================ + +.. toctree:: + :glob: + :maxdepth: 1 + + boards/*/* +