mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 14:27:37 +08:00
Documentation: Improve pages for ESP boards
This commit is contained in:
committed by
Petro Karashchenko
parent
c961edbe6c
commit
c702223fab
File diff suppressed because it is too large
Load Diff
@@ -49,10 +49,10 @@ First make sure that ``esptool.py`` is installed. This tool is used to convert
|
||||
the ELF to a compatible ESP32 image and to flash the image into the board.
|
||||
It can be installed with: ``pip install esptool``.
|
||||
|
||||
Configure the NUttX project: ``./tools/configure.sh esp32c3-devkit:nsh``
|
||||
Configure the NuttX project: ``./tools/configure.sh esp32c3-devkit:nsh``
|
||||
Run ``make`` to build the project. Note that the conversion mentioned above is
|
||||
included in the build process.
|
||||
The `esptool.py` command to flash all the binaries is::
|
||||
included in the build process.
|
||||
The ``esptool.py`` command to flash all the binaries is::
|
||||
|
||||
esptool.py --chip esp32c3 --port /dev/ttyUSBXX --baud 921600 write_flash 0x0 bootloader.bin 0x8000 partition-table.bin 0x10000 nuttx.bin
|
||||
|
||||
@@ -60,7 +60,7 @@ However, this is also included in the build process and we can build and flash w
|
||||
|
||||
make flash ESPTOOL_PORT=<port> ESPTOOL_BINDIR=../esp-bins
|
||||
|
||||
Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar and ``../esp-bins`` is
|
||||
Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar and ``../esp-bins`` is
|
||||
the path to the folder containing the bootloader and the partition table
|
||||
for the ESP32-C3 as explained above.
|
||||
Note that this step is required only one time. Once the bootloader and partition
|
||||
@@ -70,11 +70,11 @@ would just require: ``make flash ESPTOOL_PORT=/dev/ttyUSBXX``
|
||||
Debugging with OpenOCD
|
||||
======================
|
||||
|
||||
Download and build OpenOCD from Espressif, that can be found in
|
||||
https://github.com/espressif/openocd-esp32
|
||||
Download and build OpenOCD from Espressif, that can be found in
|
||||
https://github.com/espressif/openocd-esp32
|
||||
|
||||
If you have an ESP32-C3 ECO3, no external JTAG is required to debug, the ESP32-C3
|
||||
integrates a USB-to-JTAG adapter.
|
||||
integrates a USB-to-JTAG adapter.
|
||||
|
||||
OpenOCD can then be used::
|
||||
|
||||
@@ -89,7 +89,7 @@ It can be connected as follows::
|
||||
TDO -> GPIO7
|
||||
|
||||
Furthermore, an efuse needs to be burnt to be able to debug::
|
||||
|
||||
|
||||
espefuse.py -p <port> burn_efuse DIS_USB_JTAG
|
||||
|
||||
OpenOCD can then be used::
|
||||
@@ -104,25 +104,26 @@ The following list indicates the state of peripherals' support in NuttX:
|
||||
=========== ======= =====
|
||||
Peripheral Support NOTES
|
||||
=========== ======= =====
|
||||
GPIO Yes
|
||||
UART Yes
|
||||
SPI Yes
|
||||
I2C Yes
|
||||
DMA Yes
|
||||
Wifi Yes
|
||||
ADC Yes
|
||||
AES Yes
|
||||
Bluetooth Yes
|
||||
CDC Console Yes Rev.3
|
||||
DMA Yes
|
||||
eFuse Yes
|
||||
GPIO Yes
|
||||
I2C Yes
|
||||
LED_PWM Yes
|
||||
RNG Yes
|
||||
RSA Yes
|
||||
RTC Yes
|
||||
SHA Yes
|
||||
SPI Yes
|
||||
SPIFLASH Yes
|
||||
Timers Yes
|
||||
Touch Yes
|
||||
UART Yes
|
||||
Watchdog Yes
|
||||
RTC Yes
|
||||
RNG Yes
|
||||
AES Yes
|
||||
eFuse Yes
|
||||
ADC Yes
|
||||
Bluetooth Yes
|
||||
LED_PWM Yes
|
||||
SHA Yes
|
||||
RSA Yes
|
||||
CDC Console Yes Rev.3
|
||||
Wifi Yes
|
||||
=========== ======= =====
|
||||
|
||||
Secure Boot and Flash Encryption
|
||||
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 559 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 365 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 412 KiB |
BIN
Binary file not shown.
|
After Width: | Height: | Size: 77 KiB |
@@ -0,0 +1,104 @@
|
||||
==================
|
||||
ESP32-C6-DevKitC-1
|
||||
==================
|
||||
|
||||
ESP32-C6-DevKitC-1 is an entry-level development board based on ESP32-C6-WROOM-1(U),
|
||||
a general-purpose module with a 8 MB SPI flash. This board integrates complete Wi-Fi,
|
||||
Bluetooth LE, Zigbee, and Thread functions. You can find the board schematic
|
||||
`here <https://espressif-docs.readthedocs-hosted.com/projects/espressif-esp-dev-kits/en/latest/_static/esp32-c6-devkitc-1/schematics/esp32-c6-devkitc-1-schematics_v1.2.pdf>`_.
|
||||
|
||||
Most of the I/O pins are broken out to the pin headers on both sides for easy interfacing.
|
||||
Developers can either connect peripherals with jumper wires or mount ESP32-C6-DevKitC-1 on
|
||||
a breadboard.
|
||||
|
||||
.. figure:: esp32-c6-devkitc-1-isometric_v1.2.png
|
||||
:alt: ESP32-C6-DevKitC-1 Board Layout
|
||||
:figclass: align-center
|
||||
|
||||
ESP32-C6-DevKitC-1 Board Layout
|
||||
|
||||
The block diagram below presents main components of the ESP32-C6-DevKitC-1.
|
||||
|
||||
.. figure:: esp32-c6-devkitc-1-v1.2-block-diagram.png
|
||||
:alt: ESP32-C6-DevKitC-1 Electrical Block Diagram
|
||||
:figclass: align-center
|
||||
|
||||
ESP32-C6-DevKitC-1 Electrical Block Diagram
|
||||
|
||||
Hardware Components
|
||||
-------------------
|
||||
|
||||
.. figure:: esp32-c6-devkitc-1-v1.2-annotated-photo.png
|
||||
:alt: ESP32-C6-DevKitC-1 Hardware Components
|
||||
:figclass: align-center
|
||||
|
||||
ESP32-C6-DevKitC-1 Hardware Components
|
||||
|
||||
Buttons and LEDs
|
||||
================
|
||||
|
||||
Board Buttons
|
||||
--------------
|
||||
There are two buttons labeled Boot and RST. The RST button is not available
|
||||
to software. It pulls the chip enable line that doubles as a reset line.
|
||||
|
||||
The BOOT button is connected to IO9. On reset it is used as a strapping
|
||||
pin to determine whether the chip boots normally or into the serial
|
||||
bootloader. After reset, however, the BOOT button can be used for software
|
||||
input.
|
||||
|
||||
Board LEDs
|
||||
----------
|
||||
|
||||
There is one on-board LED that indicates the presence of power.
|
||||
Another WS2812 LED is connected to GPIO8 and is available for software.
|
||||
|
||||
Current Measurement
|
||||
===================
|
||||
|
||||
The J5 headers on the ESP32-C6-DevKitC-1 can be used for measuring the current
|
||||
drawn by the ESP32-C6-WROOM-1(U) module:
|
||||
|
||||
- Remove the jumper: Power supply between the module and peripherals on the
|
||||
board is cut off. To measure the module's current, connect the board with an
|
||||
ammeter via J5 headers;
|
||||
- Apply the jumper (factory default): Restore the board's normal functionality.
|
||||
|
||||
.. note::
|
||||
When using 3V3 and GND pin headers to power the board, please remove the J5 jumper,
|
||||
and connect an ammeter in series to the external circuit to measure the module's current.
|
||||
|
||||
Pin Mapping
|
||||
===========
|
||||
|
||||
.. figure:: esp32-c6-devkitc-1-pin-layout.png
|
||||
:alt: ESP32-C6-DevKitC pin layout
|
||||
:figclass: align-center
|
||||
|
||||
ESP32-C6-DevKitC-1 Pin Layout
|
||||
|
||||
Configurations
|
||||
==============
|
||||
|
||||
All of the configurations presented below can be tested by running the following commands::
|
||||
|
||||
$ ./tools/configure.sh esp32c6-devkit:<config_name>
|
||||
$ make flash ESPTOOL_PORT=/dev/ttyUSB0 -j
|
||||
|
||||
Where <config_name> is the name of board configuration you want to use, i.e.: nsh, buttons, wifi...
|
||||
Then use a serial console terminal like ``picocom`` configured to 115200 8N1.
|
||||
|
||||
coremark
|
||||
--------
|
||||
|
||||
This configuration sets the CoreMark benchmark up for running on the maximum
|
||||
number of cores for this system. It also enables some optimization flags and
|
||||
disables the NuttShell to get the best possible score.
|
||||
|
||||
.. note:: As the NSH is disabled, the application will start as soon as the
|
||||
system is turned on.
|
||||
|
||||
nsh
|
||||
---
|
||||
|
||||
Basic configuration to run the NuttShell (nsh).
|
||||
@@ -49,10 +49,10 @@ First make sure that ``esptool.py`` is installed. This tool is used to convert
|
||||
the ELF to a compatible ESP32-C6 image and to flash the image into the board.
|
||||
It can be installed with: ``pip install esptool``.
|
||||
|
||||
Configure the NUttX project: ``./tools/configure.sh esp32c6-devkit:nsh``
|
||||
Configure the NuttX project: ``./tools/configure.sh esp32c6-devkit:nsh``
|
||||
Run ``make`` to build the project. Note that the conversion mentioned above is
|
||||
included in the build process.
|
||||
The `esptool.py` command to flash all the binaries is::
|
||||
included in the build process.
|
||||
The ``esptool.py`` command to flash all the binaries is::
|
||||
|
||||
esptool.py --chip esp32c6 --port /dev/ttyUSBXX --baud 921600 write_flash 0x0 bootloader.bin 0x8000 partition-table.bin 0x10000 nuttx.bin
|
||||
|
||||
@@ -60,9 +60,58 @@ However, this is also included in the build process and we can build and flash w
|
||||
|
||||
make flash ESPTOOL_PORT=<port> ESPTOOL_BINDIR=../esp-bins
|
||||
|
||||
Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar and ``../esp-bins`` is
|
||||
Where ``<port>`` is typically ``/dev/ttyUSB0`` or similar and ``../esp-bins`` is
|
||||
the path to the folder containing the bootloader and the partition table
|
||||
for the ESP32-C6 as explained above.
|
||||
Note that this step is required only one time. Once the bootloader and partition
|
||||
table are flashed, we don't need to flash them again. So subsequent builds
|
||||
would just require: ``make flash ESPTOOL_PORT=/dev/ttyUSBXX``
|
||||
|
||||
Peripheral Support
|
||||
==================
|
||||
|
||||
The following list indicates the state of peripherals' support in NuttX:
|
||||
|
||||
============== =======
|
||||
Peripheral Support
|
||||
============== =======
|
||||
ADC No
|
||||
AES No
|
||||
Bluetooth No
|
||||
CAN/TWAI No
|
||||
DMA No
|
||||
ECC No
|
||||
eFuse No
|
||||
GPIO No
|
||||
HMAC No
|
||||
I2C No
|
||||
I2S No
|
||||
Int. Temp. No
|
||||
LED No
|
||||
LED_PWM No
|
||||
MCPWM No
|
||||
Pulse Counter No
|
||||
RMT No
|
||||
RNG No
|
||||
RSA No
|
||||
RTC No
|
||||
SD/MMC No
|
||||
SDIO No
|
||||
SHA No
|
||||
SPI No
|
||||
SPIFLASH No
|
||||
Timers No
|
||||
UART Yes
|
||||
Watchdog Yes
|
||||
Wifi No
|
||||
XTS No
|
||||
============== =======
|
||||
|
||||
Supported Boards
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
:maxdepth: 1
|
||||
|
||||
boards/*/*
|
||||
|
||||
Reference in New Issue
Block a user