Skip to content

MicroEJ/VEEPort-Espressif-ESP32-S3-DevKitC-1

Repository files navigation

sdk_5.6 badge

arch_7.20 badge

VEE Port for Espressif ESP32-S3-DevKitC-1-N8R8

中文版

This project is used to build a VEE Port for the ESP32-S3-DevKitC-1-N8R8 development board.

image

Clone the repository with the following command:

git clone --recursive https://github.com/MicroEJ/Platform-Espressif-ESP32-S3-DevKitC-1-N8R8

Do not miss the --recursive option. If you have already cloned this project without this option, run another command to get all the submodules:

git submodule update --init --recursive

This directory also contains:

  • CHANGELOG to track the changes in the VEE Port for ESP32-S3-DevKitC-1-N8R8
  • RELEASE NOTES to list:
    • the supported hardware,
    • the known issues and the limitations,
    • the development environment,
    • the list of the dependencies and their versions.
  • README BSP recommended for users familiar with the Espressif SDK/BSP and advanced usage on how to customize the build process.

Board Technical Specifications

Name ESP32-S3-DevKitC-1-N8R8
Revision 1.0
MCU part number ESP32-S3-WROOM-1/1U
MCU revision N/A
MCU architecture Xtensa LX7
MCU max clock frequency 240 MHz
Internal ROM size 384 KB
Internal RAM size 512 KB
External flash size 8 MB
External RAM size 8 MB
Power supply USB, External 5V

Here is a list of ESP32-S3-DevKitC-1-N8R8 useful documentation links:

  • Board documentation available here
  • Espressif board Getting Started available here
  • Board schematics available here
  • MCU Technical Reference Manual available here
  • MCU Datasheet available here
  • MCU Errata available here

VEE Port Specifications =======================

The Architecture version is 7.20.1.

This VEE Port provides the following Foundation Libraries:

Foundation Library Version
BLUETOOTH 2.2
BON 1.4
DEVICE 1.1
DRAWING 1.0
ECOM-NETWORK 2.1
ECOM-WIFI 2.3
ESP_IDF 1.1
FS 2.1
HAL 1.0
KF 1.6
MICROUI 3.5
NET 1.1
NLS 2.0
SECURITY 1.7
SNI 1.4
SSL 2.2
TRACE 1.1
WATCHDOG 1.0

The VEE Port is derived into:

  • a Mono-Sandbox VEE Port (default)
  • a Multi-Sandbox VEE Port

Requirements

  • PC with Windows 10 or Linux (tested with Ubuntu LTS 20.04)
  • Internet connection to MicroEJ Central Repository
  • MICROEJ SDK Dist. 21.11 or higher, available here
  • ESP32-S3-DevKitC-1-N8R8 board

BSP Setup

Install the Espressif toolchain by following the section Manual Installation described here. Use the Universal online installer and configure it to use an existing Espressif IoT Development Framework (ESP-IDF) directory and point it to ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/sdk/esp-idf.

Please pay attention on the limitations regarding the installation path (e.g. no white spaces, parentheses ...), described in the above documentation.

Please refer to the Espressif documentation available here for more details about Espressif tools.

Windows Toolchain

Please refer to the Espressif documentation available here for more details.

Linux Toolchain

Please refer to the Espressif documentation available here for more details.

BSP Compilation

Before the first build of the BSP, ensure you have cloned the repository and all its submodules and also the patch for the MicroEJ Segger SystemView implementation is applied. This can be done running the script RunAtFirstBSPCompile.* located in xxx/ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts. Please refer to the README BSP for further details.

The VEE Port provides a pre-compiled Mono-Sandbox Application. Validate the BSP installation by compiling the BSP to build a ESP32-S3-DevKitC-1-N8R8 Firmware.

To build the ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp project, open a terminal and enter the following command lines:

On Windows:

$ cd "xxx/ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts"
$ build.bat 

On Linux / macOS:

$ cd "xxx/ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts"
$ build.sh 

The BSP project build is launched. Please wait for the final message:

Project build complete. To flash, run this command:

Please refer to README BSP for more details on how to customize the build scripts.

Board Setup

Please refer to the Espressif documentation available here for more details.

Power Supply

The board can be powered by USB cable or external 5V power supply.

Please refer to the Espressif documentation available here for more details.

Programming

The ESP32-S3-DevKitC-1-N8R8 board can be flashed using Espressif bootloader. Please Follow the steps below:

  • Connect the USB connector of the board labelled UART to your computer
  • Find the new COM port available
  • Create the ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts/set_local_env.xxx script by copying the template ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts/set_local_env.xxx.tpl (where xxx is bat for Windows and sh for Linux / macOS).
  • Update the ESPPORT variable in the script to put the COM port discovered previously.
  • Open a terminal and enter the following command lines:

On Windows:

$ cd "xxx/ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts"
$ run.bat 

On Linux / macOS:

$ cd "xxx/ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp/projects/microej/scripts"
$ run.sh 

The firmware is launched. Please wait for the final message:

Leaving...
Hard resetting via RTS pin...
Done

Espressif build and flash documentation are also available here for more details.

Logs Output

This VEE Port uses the virtual UART from the ESP32-S3-DevKitC-1-N8R8 USB port. A COM port is automatically mounted when the board is plugged to a computer using USB cable. All board logs are available through this COM port.

The COM port uses the following parameters:

Baudrate 115200
Data bits bits 8
Parity bits None
Stop bits 1
Flow control None

If flashed, the pre-compiled application outputs Hello World on the UART.

When running a Testsuite, logs must be redirected to a secondary UART port. Please refer to Test Suite Configuration for a detailed explanation.

Please refer to the Espressif documentation available here for more details.

Debugging

A JTAG interface is also directly available through the USB interface.

Please refer to the README BSP section debugging for more details.

VEE Port Setup ==============

VEE Port Import ---------------

Import the projects in MICROEJ SDK Workspace:

  • File > Import > Existing Projects into Workspace > Next
  • Point Select root directory to where the project was cloned.
  • Click Finish

Inside MICROEJ SDK, the selected example is imported as several projects prefixed by the given name:

  • ESP32-S3-DevKitC1-Xtensa-FreeRTOS-configuration: Contains the VEE Port configuration description. Some modules are described in a specific sub-folder / with some optional configuration files (.properties and / or .xml).
  • ESP32-S3-DevKitC1-Xtensa-FreeRTOS-bsp: Contains a ready-to-use BSP software project for the ESP32-S3-DevKitC-1-N8R8 board, including a MICROEJ SDK project, an implementation of MicroEJ core engine (and extensions) port on FreeRTOS RTOS and the ESP32-S3-DevKitC-1-N8R8 board support package.
  • ESP32-S3-DevKitC1-Xtensa-FreeRTOS-fp: Contains the board description and images for the Simulator. This project is updated once the VEE Port is built.
  • ESP32S3DevKitC1-Platform-GNUv112_xtensa-esp32s3-{version}: Contains the MICROEJ SDK VEE Port project which is empty by default until the VEE Port is built.

By default, the VEE Port is configured as a Mono-Sandbox Evaluation VEE Port. If the VEE Port is configured as Multi-Sandbox, use the build_no_ota_no_systemview script (Please refer to the RELEASE NOTES limitations section for more details).

VEE Port Build --------------

To build the VEE Port, please follow the steps below:

  • Right-click on ESP32-S3-DevKitC1-Xtensa-FreeRTOS-configuration project in your MICROEJ SDK workspace.
  • Click on Build Module

The build starts. This step may take several minutes. The first time, the VEE Port build requires to download modules that are available on the MicroEJ Central Repository. You can see the progress of the build steps in the MICROEJ SDK console.

Please wait for the final message:

BUILD SUCCESSFUL

At the end of the execution the VEE Port is fully built for the ESP32-S3-DevKitC-1-N8R8 board and is ready to be used.

The VEE Port project should be refreshed with no error in the MICROEJ SDK ESP32S3DevKitC1-Platform-GNUv112_xtensa-esp32s3-{version}.

Please refer to https://docs.microej.com/en/latest/ApplicationDeveloperGuide/standaloneApplication.html for more information on how to build a MicroEJ Standalone Application.

An evaluation license is needed for building an application. Please refer to https://docs.microej.com/en/latest/overview/licenses.html#evaluation-license for information on how to acquire and activate a license.

Test Suite Configuration

To run a Test Suite on the ESP32-S3-DevKitC-1-N8R8 board the standard output must be redirected to a dedicated UART. The property microej.testsuite.properties.debug.traces.uart must be set in the config.properties of the Test Suite.

This property redirects the UART onto a different GPIO port. Connect a FTDI USB wire to the pin D4 of the J1 connector and ground.

image

In config.properties, the property target.platform.dir must be set to the absolute path to the VEE port. For example C:/ESP32S3DevKitC1-Platform-GNUv112_xtensa-esp32s3-{version}/source.

Troubleshooting

Unable to flash on Linux through VirtualBox

Press the "boot" button on the board while flashing.

Files not found during the build

Errors about files not found during the build may be caused by long path. Please refer to the known issues and limitations in the RELEASE NOTES for a workaround.

About

VEE Port for Espressif ESP32-S3-DevKitC-1-N8R8 development board.

Resources

License

Stars

Watchers

Forks

Packages

No packages published