boards/espressif/esp32s3_devkitm/doc/index.html · boards/espressif/esp32s3_devkitm/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · Espressif ESP32-S3

ESP32-S3-DevKitM

Dual-core LX7과 AI vector instruction을 작은 MINI module에 담은 Wi-Fi·Bluetooth LE 개발 보드입니다.

Official pathboards/espressif/esp32s3_devkitm/doc/index.html
Source fileboards/espressif/esp32s3_devkitm/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

ESP32-S3-DevKitM은 ESP32-S3-MINI-1/1U를 사용하며 DevKitC와 같은 dual-core LX7, rich I/O, AMP와 security 기능을 제공합니다.

CPU

dual LX7 · 240MHz

Module

MINI-1 / 1U

AMP

2 applications · OpenAMP

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 0335B3C28BC4667643D3600714518F073D3CC145B64880274020CE9CFB5B1940
.. _esp32s3_devkitm:

ESP32S3-DevKitM
###############

Overview
********

The ESP32-S3-DevKitM is an entry-level development board equipped with either ESP32-S3-MINI-1
or ESP32-S3-MINI-1U, a module named for its small size. This board integrates complete Wi-Fi
and Bluetooth Low Energy functions. For more information, check `ESP32-S3 DevKitM`_

Hardware
********

ESP32-S3 is a low-power MCU-based system on a chip (SoC) with integrated 2.4 GHz Wi-Fi
and Bluetooth® Low Energy (Bluetooth LE). It consists of high-performance dual-core microprocessor
(Xtensa® 32-bit LX7), a low power coprocessor, a Wi-Fi baseband, a Bluetooth LE baseband,
RF module, and numerous peripherals.

ESP32-S3 DevKitM includes the following features:

- Dual core 32-bit Xtensa Microprocessor (Tensilica LX7), running up to 240MHz
- Additional vector instructions support for AI acceleration
- 512KB of SRAM
- 384KB of ROM
- Wi-Fi 802.11b/g/n
- Bluetooth LE 5.0 with long-range support and up to 2Mbps data rate

Digital interfaces:

- 45 programmable GPIOs
- 4x SPI
- 1x LCD interface (8-bit ~16-bit parallel RGB, I8080 and MOTO6800), supporting conversion between RGB565, YUV422, YUV420 and YUV411
- 1x DVP 8-bit ~16-bit camera interface
- 3x UART
- 2x I2C
- 2x I2S
- 1x RMT (TX/RX)
- 1x pulse counter
- LED PWM controller, up to 8 channels
- 1x full-speed USB OTG
- 1x USB Serial/JTAG controller
- 2x MCPWM
- 1x SDIO host controller with 2 slots
- General DMA controller (GDMA), with 5 transmit channels and 5 receive channels
- 1x TWAI® controller, compatible with ISO 11898-1 (CAN Specification 2.0)
- Addressable RGB LED, driven by GPIO48.

Analog interfaces:

- 2x 12-bit SAR ADCs, up to 20 channels
- 1x temperature sensor
- 14x touch sensing IOs

Timers:

- 4x 54-bit general-purpose timers
- 1x 52-bit system timer
- 3x watchdog timers

Low Power:

- Power Management Unit with five power modes
- Ultra-Low-Power (ULP) coprocessors: ULP-RISC-V and ULP-FSM

Security:

- Secure boot
- Flash encryption
- 4-Kbit OTP, up to 1792 bits for users
- Cryptographic hardware acceleration: (AES-128/256, Hash, RSA, RNG, HMAC, Digital signature)

Asymmetric Multiprocessing (AMP)
********************************

ESP32S3-DevKitM allows 2 different applications to be executed in ESP32-S3 SoC. Due to its dual-core
architecture, each core can be enabled to execute customized tasks in stand-alone mode
and/or exchanging data over OpenAMP framework. See :ref:`ipc_samples` folder as code reference.

For more information, check the datasheet at `ESP32-S3 Datasheet`_.

Supported Features
==================

Current Zephyr's ESP32-S3-DevKitM board supports the following features:

+------------+------------+-------------------------------------+
| Interface  | Controller | Driver/Component                    |
+============+============+=====================================+
| UART       | on-chip    | serial port                         |
+------------+------------+-------------------------------------+
| GPIO       | on-chip    | gpio                                |
+------------+------------+-------------------------------------+
| PINMUX     | on-chip    | pinmux                              |
+------------+------------+-------------------------------------+
| USB-JTAG   | on-chip    | hardware interface                  |
+------------+------------+-------------------------------------+
| SPI Master | on-chip    | spi                                 |
+------------+------------+-------------------------------------+
| TWAI/CAN   | on-chip    | can                                 |
+------------+------------+-------------------------------------+
| ADC        | on-chip    | adc                                 |
+------------+------------+-------------------------------------+
| Timers     | on-chip    | counter                             |
+------------+------------+-------------------------------------+
| Watchdog   | on-chip    | watchdog                            |
+------------+------------+-------------------------------------+
| TRNG       | on-chip    | entropy                             |
+------------+------------+-------------------------------------+
| LEDC       | on-chip    | pwm                                 |
+------------+------------+-------------------------------------+
| MCPWM      | on-chip    | pwm                                 |
+------------+------------+-------------------------------------+
| PCNT       | on-chip    | qdec                                |
+------------+------------+-------------------------------------+
| GDMA       | on-chip    | dma                                 |
+------------+------------+-------------------------------------+
| USB-CDC    | on-chip    | serial                              |
+------------+------------+-------------------------------------+

Prerequisites
-------------

Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
below to retrieve those files.

.. code-block:: console

   west blobs fetch hal_espressif

.. note::

   It is recommended running the command above after :file:`west update`.

Building & Flashing
*******************

Simple boot
===========

The board could be loaded using the single binary image, without 2nd stage bootloader.
It is the default option when building the application without additional configuration.

.. note::

   Simple boot does not provide any security features nor OTA updates.

MCUboot bootloader
==================

User may choose to use MCUboot bootloader instead. In that case the bootloader
must be build (and flash) at least once.

There are two options to be used when building an application:

1. Sysbuild
2. Manual build

.. note::

   User can select the MCUboot bootloader by adding the following line
   to the board default configuration file.

   .. code:: cfg

      CONFIG_BOOTLOADER_MCUBOOT=y

Sysbuild
========

The sysbuild makes possible to build and flash all necessary images needed to
bootstrap the board with the ESP32 SoC.

To build the sample application using sysbuild use the command:

.. zephyr-app-commands::
   :tool: west
   :app: samples/hello_world
   :board: esp32s3_devkitm
   :goals: build
   :west-args: --sysbuild
   :compact:

By default, the ESP32 sysbuild creates bootloader (MCUboot) and application
images. But it can be configured to create other kind of images.

Build directory structure created by sysbuild is different from traditional
Zephyr build. Output is structured by the domain subdirectories:

.. code-block::

  build/
  ├── hello_world
  │   └── zephyr
  │       ├── zephyr.elf
  │       └── zephyr.bin
  ├── mcuboot
  │    └── zephyr
  │       ├── zephyr.elf
  │       └── zephyr.bin
  └── domains.yaml

.. note::

   With ``--sysbuild`` option the bootloader will be re-build and re-flash
   every time the pristine build is used.

For more information about the system build please read the :ref:`sysbuild` documentation.

Manual build
============

During the development cycle, it is intended to build & flash as quickly possible.
For that reason, images can be build one at a time using traditional build.

The instructions following are relevant for both manual build and sysbuild.
The only difference is the structure of the build directory.

.. note::

   Remember that bootloader (MCUboot) needs to be flash at least once.

Build and flash applications as usual (see :ref:`build_an_application` and
:ref:`application_run` for more details).

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp32s3_devkitm/esp32s3/procpu
   :goals: build

The usual ``flash`` target will work with the ``esp32s3_devkitm`` board
configuration. Here is an example for the :ref:`hello_world`
application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp32s3_devkitm/esp32s3/procpu
   :goals: flash

Open the serial monitor using the following command:

.. code-block:: shell

   west espressif monitor

After the board has automatically reset and booted, you should see the following
message in the monitor:

.. code-block:: console

   ***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
   Hello World! esp32s3_devkitm

Debugging
*********

ESP32-S3 support on OpenOCD is available upstream as of version 0.12.0.
Download and install OpenOCD from `OpenOCD`_.

ESP32-S3 has a built-in JTAG circuitry and can be debugged without any additional chip. Only an USB cable connected to the D+/D- pins is necessary.

Further documentation can be obtained from the SoC vendor in `JTAG debugging
for ESP32-S3`_.

Here is an example for building the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp32s3_devkitm/esp32s3/procpu
   :goals: build flash

You can debug an application in the usual way. Here is an example for the :ref:`hello_world` application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: esp32s3_devkitm/esp32s3/procpu
   :goals: debug

.. _`JTAG debugging for ESP32-S3`: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/api-guides/jtag-debugging/
.. _`OpenOCD`: https://github.com/openocd-org/openocd
.. _`ESP32-S3 DevKitM`: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html

References
**********

.. _ESP32-S3 DevKitM User Guide: https://docs.espressif.com/projects/esp-idf/en/latest/esp32s3/hw-reference/esp32s3/user-guide-devkitm-1.html
.. _ESP32-S3 Datasheet: https://www.espressif.com/sites/default/files/documentation/esp32-s3-mini-1_mini-1u_datasheet_en.pdf
.. _ESP32 Technical Reference Manual: https://www.espressif.com/sites/default/files/documentation/esp32-s3_technical_reference_manual_en.pdf

Part 3

한국어 전문 번역

개요

ESP32-S3-DevKitM은 작은 크기의 ESP32-S3-MINI-1 또는 ESP32-S3-MINI-1U module을 탑재한 entry-level development board입니다. Wi-Fi와 Bluetooth Low Energy 기능을 완전히 통합합니다.

Hardware

ESP32-S3는 2.4GHz Wi-Fi와 Bluetooth Low Energy(Bluetooth LE)를 통합한 low-power MCU-based SoC입니다. High-performance dual-core Xtensa 32-bit LX7 microprocessor, low-power coprocessor, Wi-Fi baseband, Bluetooth LE baseband, RF module과 다양한 peripheral로 구성됩니다.

ESP32-S3-DevKitM의 주요 기능은 다음과 같습니다.

  • 최대 240MHz dual-core 32-bit Xtensa/Tensilica LX7 microprocessor
  • AI acceleration을 지원하는 추가 vector instruction
  • 512KB SRAM과 384KB ROM
  • Wi-Fi 802.11b/g/n
  • long-range와 최대 2Mbps data rate를 지원하는 Bluetooth LE 5.0

Digital interface

  • programmable GPIO 45개와 SPI 4개
  • 8~16-bit parallel RGB, I8080, MOTO6800을 지원하고 RGB565·YUV422·YUV420·YUV411 변환이 가능한 LCD interface 1개
  • 8~16-bit DVP camera interface 1개
  • UART 3개, I2C 2개, I2S 2개
  • RMT(TX/RX) 1개와 pulse counter 1개
  • 최대 8 channel LED PWM controller
  • full-speed USB OTG 1개와 USB Serial/JTAG controller 1개
  • MCPWM 2개
  • 2 slot SDIO host controller 1개
  • transmit 5 channel·receive 5 channel의 general DMA(GDMA)
  • ISO 11898-1(CAN Specification 2.0) compatible TWAI controller 1개
  • GPIO48로 구동하는 addressable RGB LED

Analog interface

  • 최대 20 channel의 12-bit SAR ADC 2개
  • temperature sensor 1개
  • touch-sensing I/O 14개

Timer

  • 54-bit general-purpose timer 4개
  • 52-bit system timer 1개
  • watchdog timer 3개

Low Power

  • 5개 power mode를 갖춘 Power Management Unit
  • ULP-RISC-V와 ULP-FSM ultra-low-power coprocessor

Security

  • Secure boot와 flash encryption
  • 4-Kbit OTP, user용 최대 1792 bit
  • cryptographic hardware acceleration(AES-128/256, hash, RSA, RNG, HMAC, digital signature)

Asymmetric Multiprocessing(AMP)

ESP32-S3-DevKitM에서는 ESP32-S3 SoC에서 서로 다른 application 2개를 실행할 수 있습니다. Dual-core architecture 덕분에 각 core를 stand-alone mode에서 custom task 실행에 사용하거나 OpenAMP framework로 data를 교환하게 할 수 있습니다. Code reference는 ipc_samples folder를 참조하십시오.

지원 기능

현재 Zephyr의 ESP32-S3-DevKitM board는 다음 interface와 driver를 지원합니다.

InterfaceControllerDriver/Component
UARTon-chipserial port
GPIOon-chipgpio
PINMUXon-chippinmux
USB-JTAGon-chiphardware interface
SPI Masteron-chipspi
TWAI/CANon-chipcan
ADCon-chipadc
Timerson-chipcounter
Watchdogon-chipwatchdog
TRNGon-chipentropy
LEDCon-chippwm
MCPWMon-chippwm
PCNTon-chipqdec
GDMAon-chipdma
USB-CDCon-chipserial

사전 준비

Espressif HAL이 동작하려면 Wi-Fi와 Bluetooth binary blob이 필요합니다. west update 뒤 다음 명령을 실행하는 것이 좋습니다.

west blobs fetch hal_espressif

빌드와 플래시

Simple boot

2nd-stage bootloader 없이 single binary image로 load하는 default 방식입니다. Security feature와 OTA update는 제공하지 않습니다.

MCUboot bootloader

MCUboot를 선택하면 bootloader를 적어도 한 번 build하고 flash해야 합니다. Sysbuild 또는 manual build를 사용할 수 있습니다.

CONFIG_BOOTLOADER_MCUBOOT=y

Sysbuild

ESP32-S3 SoC를 bootstrap하는 데 필요한 모든 image를 build·flash합니다.

west build --sysbuild -b esp32s3_devkitm samples/hello_world

기본적으로 MCUboot와 application image를 만들며 output은 domain subdirectory로 나뉩니다.

build/
├── hello_world
│   └── zephyr
│       ├── zephyr.elf
│       └── zephyr.bin
├── mcuboot
│    └── zephyr
│       ├── zephyr.elf
│       └── zephyr.bin
└── domains.yaml

Manual build

빠른 개발 iteration을 위해 image를 하나씩 build할 수 있습니다. Sysbuild와 지침은 같고 build directory 구조만 다릅니다. MCUboot는 적어도 한 번 먼저 flash해야 합니다.

west build -b esp32s3_devkitm/esp32s3/procpu samples/hello_world
west flash

Serial monitor는 다음과 같이 엽니다.

west espressif monitor
***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
Hello World! esp32s3_devkitm

디버깅

ESP32-S3의 OpenOCD support는 version 0.12.0부터 upstream에서 제공됩니다. OpenOCD를 내려받아 설치하십시오.

ESP32-S3에는 JTAG circuitry가 내장되어 있어 추가 chip 없이 debug할 수 있습니다. D+/D- pin에 연결한 USB cable만 있으면 됩니다. 자세한 내용은 JTAG debugging for ESP32-S3를 참조하십시오.

west build -b esp32s3_devkitm/esp32s3/procpu samples/hello_world
west flash
west debug

참고 자료

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.