doc: esp32: Update the building instruction
Cover the 2nd stage bootloader options and the extend the application build instructions to include sysbuild. Signed-off-by: Marek Matej <marek.matej@espressif.com>
This commit is contained in:
parent
1c130d0060
commit
67357e5618
14 changed files with 1206 additions and 53 deletions
|
@ -73,10 +73,10 @@ Current Zephyr's ESP32-C3-Devkitm board supports the following features:
|
|||
+------------+------------+-------------------------------------+
|
||||
|
||||
System requirements
|
||||
===================
|
||||
*******************
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
=============
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -90,7 +90,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: esp32c3_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).
|
||||
|
@ -124,7 +205,7 @@ message in the monitor:
|
|||
Hello World! esp32c3_devkitm
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32-C3 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
@ -152,7 +233,7 @@ You can debug an application in the usual way. Here is an example for the :ref:`
|
|||
.. _`OpenOCD ESP32`: https://github.com/espressif/openocd-esp32/releases
|
||||
|
||||
References
|
||||
==========
|
||||
**********
|
||||
|
||||
.. [1] https://www.espressif.com/en/products/socs/esp32-c3
|
||||
.. _ESP32C3 Devkitm User Guide: https://docs.espressif.com/projects/esp-idf/en/latest/esp32c3/hw-reference/esp32c3/user-guide-devkitm-1.html
|
||||
|
|
|
@ -96,7 +96,88 @@ Programming and debugging for the ICE-V Wireless ESP32-C3 target is
|
|||
incredibly easy 🎉 following the steps below.
|
||||
|
||||
Building and Flashing
|
||||
=====================
|
||||
*********************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: icev_wireless
|
||||
: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.
|
||||
|
||||
For the :code:`Hello, world!` application, follow the instructions below.
|
||||
|
||||
|
@ -105,15 +186,22 @@ For the :code:`Hello, world!` application, follow the instructions below.
|
|||
:board: icev_wireless
|
||||
:goals: build flash
|
||||
|
||||
Since the Zephyr console is by default on the `usb_serial` device, we use
|
||||
the espressif monitor to view.
|
||||
Open the serial monitor using the following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ 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! icev_wireless
|
||||
|
||||
Debugging
|
||||
=========
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32C3 modules require patches to
|
||||
OpenOCD that are not upstreamed. Espressif maintains their own fork of
|
||||
|
|
|
@ -40,7 +40,7 @@ The STAMP-C3 board configuration supports the following hardware features:
|
|||
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
*************
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -54,7 +54,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: stamp_c3
|
||||
: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).
|
||||
|
@ -88,7 +169,7 @@ message in the monitor:
|
|||
Hello World! stamp_c3
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
|
|
@ -64,7 +64,7 @@ The board uses a standard XIAO pinout, the default pin mapping is the following:
|
|||
XIAO ESP32C3 Pinout
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
=============
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -78,7 +78,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: xiao_esp32c3
|
||||
: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.
|
||||
|
||||
For the :code:`Hello, world!` application, follow the instructions below.
|
||||
|
||||
|
@ -94,8 +175,16 @@ the espressif monitor to view.
|
|||
|
||||
$ 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! xiao_esp32c3
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
|
|
@ -103,7 +103,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: esp32
|
||||
: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).
|
||||
|
@ -137,7 +218,7 @@ message in the monitor:
|
|||
Hello World! esp32
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
ESP32 support on OpenOCD is available upstream as of version 0.12.0.
|
||||
Download and install OpenOCD from `OpenOCD`_.
|
||||
|
|
|
@ -18,7 +18,7 @@ over Ethernet (PoE).
|
|||
ESP32-Ethernet-Kit V1.2 Overview
|
||||
|
||||
Overview
|
||||
--------
|
||||
********
|
||||
|
||||
ESP32-Ethernet-Kit is an ESP32-based development board produced by
|
||||
`Espressif <https://espressif.com>`_.
|
||||
|
@ -46,7 +46,7 @@ USB interface without a separate JTAG debugger.
|
|||
|
||||
|
||||
Functionality Overview
|
||||
----------------------
|
||||
======================
|
||||
|
||||
The block diagram below shows the main components of ESP32-Ethernet-Kit
|
||||
and their interconnections.
|
||||
|
@ -193,13 +193,13 @@ PoE. When the Ethernet board (A) detects 5 V power output from the PoE board
|
|||
|
||||
|
||||
Setup Options
|
||||
-------------
|
||||
=============
|
||||
|
||||
This section describes options to configure the ESP32-Ethernet-Kit hardware.
|
||||
|
||||
|
||||
Function Switch
|
||||
^^^^^^^^^^^^^^^
|
||||
---------------
|
||||
|
||||
When in On position, this DIP switch is routing listed GPIOs to FT2232H to
|
||||
provide JTAG functionality. When in Off position, the GPIOs may be used for
|
||||
|
@ -216,7 +216,7 @@ DIP SW GPIO Pin
|
|||
|
||||
|
||||
RMII Clock Selection
|
||||
^^^^^^^^^^^^^^^^^^^^
|
||||
--------------------
|
||||
|
||||
The ethernet MAC and PHY under RMII working mode need a common 50 MHz
|
||||
reference clock (i.e. RMII clock) that can be provided either externally,
|
||||
|
@ -230,7 +230,7 @@ or generated from internal ESP32 APLL (not recommended).
|
|||
|
||||
|
||||
RMII Clock Sourced Externally by PHY
|
||||
""""""""""""""""""""""""""""""""""""
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
By default, the ESP32-Ethernet-Kit is configured to provide RMII clock for the
|
||||
IP101GRI PHY's 50M_CLKO output. The clock signal is generated by the frequency
|
||||
|
@ -252,7 +252,7 @@ during the GPIO0 power-up sampling phase).
|
|||
|
||||
|
||||
RMII Clock Sourced Internally from ESP32's APLL
|
||||
"""""""""""""""""""""""""""""""""""""""""""""""
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
Another option is to source the RMII Clock from internal ESP32 APLL, see
|
||||
figure below. The clock signal coming from GPIO0 is first inverted, to account
|
||||
|
@ -419,10 +419,10 @@ GPIO Allocation Summary
|
|||
e.g. the ESP32-WROOM-32D or ESP32-SOLO-1.
|
||||
|
||||
System requirements
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
=============
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -436,7 +436,89 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: esp32_ethernet_kit
|
||||
: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).
|
||||
|
@ -470,7 +552,7 @@ message in the monitor:
|
|||
Hello World! esp32_ethernet_kit
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
@ -497,7 +579,7 @@ You can debug an application in the usual way. Here is an example for the :ref:`
|
|||
|
||||
|
||||
Enabling Ethernet
|
||||
-----------------
|
||||
*****************
|
||||
|
||||
Enable Ethernet MAC, PHY and MDIO; add these to your device tree overlay::
|
||||
|
||||
|
@ -520,13 +602,13 @@ Enable Ethernet in KConfig::
|
|||
CONFIG_NET_L2_ETHERNET=y
|
||||
|
||||
Board Init
|
||||
-----------------
|
||||
==========
|
||||
|
||||
RESET_N (GPIO5) is automatically set high to enable the Ethernet PHY
|
||||
during board initialization (board_init.c)
|
||||
|
||||
Related Documents
|
||||
-----------------
|
||||
*****************
|
||||
|
||||
* `ESP32-Ethernet-Kit V1.2 Ethernet Board (A) Schematic <https://dl.espressif.com/dl/schematics/SCH_ESP32-Ethernet-Kit_A_V1.2_20200528.pdf>`_ (PDF)
|
||||
* `ESP32-Ethernet-Kit PoE Board (B) Schematic <https://dl.espressif.com/dl/schematics/SCH_ESP32-ETHERNET-KIT_B_V1.0_20190517.pdf>`_ (PDF)
|
||||
|
|
|
@ -35,7 +35,7 @@ The features include the following:
|
|||
:alt: ESP32-S2 FRANZININHO
|
||||
|
||||
System requirements
|
||||
*******************
|
||||
===================
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
@ -52,7 +52,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: esp32s2_franzininho
|
||||
: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).
|
||||
|
|
|
@ -86,7 +86,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: esp32s2_saola
|
||||
: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).
|
||||
|
@ -120,7 +201,7 @@ message in the monitor:
|
|||
Hello World! esp32s2_saola
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
ESP32-S2 support on OpenOCD is available upstream as of version 0.12.0.
|
||||
Download and install OpenOCD from `OpenOCD`_.
|
||||
|
|
|
@ -122,7 +122,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 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).
|
||||
|
@ -156,7 +237,7 @@ message in the monitor:
|
|||
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`_.
|
||||
|
|
|
@ -501,7 +501,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: esp_wrover_kit
|
||||
: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).
|
||||
|
@ -535,7 +616,7 @@ message in the monitor:
|
|||
Hello World! esp_wrover_kit
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
ESP32 support on OpenOCD is available upstream as of version 0.12.0.
|
||||
Download and install OpenOCD from `OpenOCD`_.
|
||||
|
|
|
@ -26,7 +26,7 @@ System requirements
|
|||
*******************
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
=============
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -40,7 +40,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: heltec_wifi_lora32_v2
|
||||
: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).
|
||||
|
@ -74,7 +155,7 @@ message in the monitor:
|
|||
Hello World! heltec_wifi_lora32_v2
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
@ -103,7 +184,7 @@ Utilizing Hardware Features
|
|||
***************************
|
||||
|
||||
Onboard OLED display
|
||||
--------------------
|
||||
====================
|
||||
|
||||
The onboard OLED display is of type ``ssd1306``, has 128*64 pixels and is
|
||||
connected via I2C. It can therefore be used by enabling the
|
||||
|
|
|
@ -85,7 +85,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: m5stickc_plus
|
||||
: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).
|
||||
|
@ -123,7 +204,7 @@ message in the monitor:
|
|||
Hello World! m5stickc_plus
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
M5StickC PLUS debugging is not supported due to pinout limitations.
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ The features include the following:
|
|||
ODROID-Go Game Kit
|
||||
|
||||
External Connector
|
||||
------------------
|
||||
==================
|
||||
|
||||
+-------+------------------+-------------------------+
|
||||
| PIN # | Signal Name | ESP32-WROVER Functions |
|
||||
|
@ -58,7 +58,7 @@ External Connector
|
|||
+-------+------------------+-------------------------+
|
||||
|
||||
Supported Features
|
||||
******************
|
||||
==================
|
||||
|
||||
The Zephyr odroid_go board configuration supports the following hardware
|
||||
features:
|
||||
|
@ -82,7 +82,7 @@ System requirements
|
|||
*******************
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
=============
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -96,7 +96,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: odroid_go
|
||||
: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).
|
||||
|
@ -130,7 +211,7 @@ message in the monitor:
|
|||
Hello World! odroid_go
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
|
|
@ -92,7 +92,7 @@ System requirements
|
|||
*******************
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
=============
|
||||
|
||||
Espressif HAL requires WiFi and Bluetooth binary blobs in order work. Run the command
|
||||
below to retrieve those files.
|
||||
|
@ -106,7 +106,88 @@ below to retrieve those files.
|
|||
It is recommended running the command above after :file:`west update`.
|
||||
|
||||
Building & Flashing
|
||||
-------------------
|
||||
*******************
|
||||
|
||||
ESP-IDF bootloader
|
||||
==================
|
||||
|
||||
The board is using the ESP-IDF bootloader as the default 2nd stage bootloader.
|
||||
It is build as a subproject at each application build. No further attention
|
||||
is expected from the user.
|
||||
|
||||
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.
|
||||
```
|
||||
CONFIG_BOOTLOADER_MCUBOOT=y
|
||||
```
|
||||
|
||||
Sysbuild
|
||||
========
|
||||
|
||||
The sysbuild makes possible to build and flash all necessary images needed to
|
||||
bootstrap the board with the EPS32 SoC.
|
||||
|
||||
To build the sample application using sysbuild use the command:
|
||||
|
||||
.. zephyr-app-commands::
|
||||
:tool: west
|
||||
:app: samples/hello_world
|
||||
:board: olimex_esp32_evb
|
||||
: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).
|
||||
|
@ -140,7 +221,7 @@ message in the monitor:
|
|||
Hello World! olimex_esp32_evb
|
||||
|
||||
Debugging
|
||||
---------
|
||||
*********
|
||||
|
||||
As with much custom hardware, the ESP32 modules require patches to
|
||||
OpenOCD that are not upstreamed yet. Espressif maintains their own fork of
|
||||
|
@ -165,6 +246,9 @@ You can debug an application in the usual way. Here is an example for the :ref:`
|
|||
:board: olimex_esp32_evb
|
||||
:goals: debug
|
||||
|
||||
References
|
||||
**********
|
||||
|
||||
.. _ESP32-EVB Website:
|
||||
https://www.olimex.com/Products/IoT/ESP32/ESP32-EVB/open-source-hardware
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue