mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
boards/esp32: add ESP32-Ethernet-Kit v1.1 board
Split docs in v1_0 directory to board common and version specific parts.
This commit is contained in:
parent
8e767373fb
commit
f586548d9c
@ -1,5 +1,3 @@
|
||||
PSEUDOMODULES += esp32_ethernet_kit
|
||||
PSEUDOMODULES += esp32_ethernet_kit_v1_0
|
||||
|
||||
# configure the serial interface
|
||||
PORT_LINUX ?= /dev/ttyUSB1
|
||||
|
@ -8,8 +8,8 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup boards_esp32_esp-ethernet-kit-v1_0 ESP32-Ethernet-Kit v1.0
|
||||
* @ingroup boards_esp32
|
||||
* @defgroup boards_esp32_esp-ethernet-kit-v1_0 v1.0 Board
|
||||
* @ingroup boards_esp32_esp-ethernet-kit
|
||||
* @brief Support for for Espressif ESP32-Ethernet-Kit v1.0
|
||||
* @author Gunar Schorcht <gunar@schorcht.net>
|
||||
* @author Erik Ekman <eekman@google.com>
|
||||
@ -18,12 +18,9 @@
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Hardware](#hardware)
|
||||
1. [MCU](#mcu)
|
||||
2. [Board Configuration](#board_configuration)
|
||||
3. [Board Pinout](#pinout)
|
||||
3. [Flashing the Device](#flashing)
|
||||
4. [On-Chip Debugging with the device](#debugging)
|
||||
5. [Other Documentation Resources](#other-resources)
|
||||
1. [Board Configuration](#board_configuration)
|
||||
2. [Board Pinout](#pinout)
|
||||
3. [Other Documentation Resources](#other-resources)
|
||||
|
||||
## <a name="overview"> Overview </a> [[TOC](#toc)]
|
||||
|
||||
@ -33,20 +30,15 @@ The Espressif [ESP32-Ethernet-Kit](https://docs.espressif.com/projects/esp-idf/e
|
||||
- USB bridge with JTAG interface
|
||||
|
||||
Furthermore, some GPIOs are broken out for extension. The USB bridge based on FDI FT2232HL provides a JTAG interface for OCD debugging through the USB interface.
|
||||
For flashing and debugging the board, see \ref boards_esp32_esp-ethernet-kit common board documentation.
|
||||
|
||||
## <a name="hardware"> Hardware </a> [[TOC](#toc)]
|
||||
|
||||
This section describes
|
||||
|
||||
- the [MCU](#mcu),
|
||||
- the default [board configuration](#board_configuration),
|
||||
- the [board pinout](#pinout).
|
||||
|
||||
### <a name="mcu"> MCU </a> [[TOC](#toc)]
|
||||
|
||||
Most features of the board are provided by the ESP32 SoC. For detailed
|
||||
information about the ESP32, see section \ref esp32_mcu "MCU ESP32".
|
||||
|
||||
### <a name="board_configuration"> Board Configuration </a> [[TOC](#toc)]
|
||||
|
||||
ESP32-Ethernet-Kit v1.0 has the following on-board components
|
||||
@ -61,7 +53,7 @@ section Peripherals in \ref esp32_riot.
|
||||
Only a few GPIOs are broken out and available for external hardware on ESP32-Ethernet-Kit boards. Which GPIOs are available as peripherals depends on used modules.
|
||||
|
||||
<center>
|
||||
\anchor esp32_ethernet_kit_table_board_configuration
|
||||
\anchor esp32_ethernet_kit_v1_0_table_board_configuration
|
||||
Function | GPIOs | Remarks |Configuration
|
||||
:---------------|:-------|:--------|:----------------------------------
|
||||
BTN0 | GPIO0 | not available if `esp_eth` is used | |
|
||||
@ -90,33 +82,6 @@ By default, only 3 bidirectional GPIO pins are unused: GPIO4, GPIO32, GPIO33. Th
|
||||
and I2C, but they can also be used for SPI or another serial port. By disabling the JTAG interface on the board,
|
||||
another 4 GPIOs can be made available (GPIO12, GPIO13, GPIO14, GPIO15).
|
||||
|
||||
## <a name="flashing"> Flashing the Device </a> [[TOC](#toc)]
|
||||
|
||||
Flashing RIOT is quite straight forward. The board has a Micro-USB connector with reset/boot/flash logic. Just connect the board using the programming port to your host computer and type:
|
||||
```
|
||||
make flash BOARD=esp32-ethernet-kit-v1_0 ...
|
||||
```
|
||||
|
||||
The USB bridge is based on FDI FT2232HL and offers two USB interfaces:
|
||||
|
||||
- the first interface is the JTAG interface for [On-Chip debugging](#debugging)
|
||||
- the second interface is the console interface, which is also used for flashing
|
||||
|
||||
Therefore, you have to declare the USB interface in the make command. For example, if the ESP32-Ethernet-Kit is connected to the host computer through the USB interfaces `/dev/ttyUSB0` and `/dev/ttyUSB1`, the make command would be used as following:
|
||||
```
|
||||
make flash BOARD=esp32-ethernet-kit-v1_0 PORT=/dev/ttyUSB1 ...
|
||||
```
|
||||
|
||||
For detailed information about ESP32 as well as configuring and compiling RIOT for ESP32 boards, see \ref esp32_riot.
|
||||
|
||||
## <a name="debugging"> On-Chip Debugging with the Device </a> [[TOC](#toc)]
|
||||
|
||||
Since the USB bridge based on FDI FT2232HL provides a JTAG interface for debugging through an USB interface, using ESP32-Ethernet-Kit is the easiest and most convenient way for On-Chip debugging. Please refer the [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/jtag-debugging/index.html) for details on how to setup and how to use ESP32-Ethernet-Kit and OpenOCD.
|
||||
|
||||
To use the JTAG interface, the `esp_jtag' module must be used to disable the `SPI_DEV(0)` which normally uses the GPIOs for the JTAG signals.
|
||||
USEMODULE=esp_jtag make flash BOARD=esp32-ethernet-kit-v1_0 ...
|
||||
Furthermore the function switches (DIP switches) for the JTAG signals must be set to ON.
|
||||
|
||||
## <a name="other-resources"> Other Documentation Resources </a> [[TOC](#toc)]
|
||||
|
||||
There is a comprehensive [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit-v1.0.html) for the ESP32-Ethernet-Kit with a lot information about hardware configuration.
|
||||
|
92
boards/esp32-ethernet-kit-v1_0/doc_common.txt
Normal file
92
boards/esp32-ethernet-kit-v1_0/doc_common.txt
Normal file
@ -0,0 +1,92 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Gunar Schorcht
|
||||
* Copyright (C) 2020 Google LLC
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup boards_esp32_esp-ethernet-kit ESP32-Ethernet-Kit
|
||||
* @ingroup boards_esp32
|
||||
* @brief Support for for Espressif ESP32-Ethernet-Kit
|
||||
* @author Gunar Schorcht <gunar@schorcht.net>
|
||||
* @author Erik Ekman <eekman@google.com>
|
||||
|
||||
## <a name="toc"> Table of Contents </a>
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Hardware](#hardware)
|
||||
1. [MCU](#mcu)
|
||||
2. [Board Configuration](#common_board_configuration)
|
||||
3. [Flashing the Device](#flashing)
|
||||
4. [On-Chip Debugging with the device](#debugging)
|
||||
|
||||
## <a name="overview"> Overview </a> [[TOC](#toc)]
|
||||
|
||||
The Espressif [ESP32-Ethernet-Kit](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit.html) is a development board that uses a ESP32-WROVER module (-B or -E depending on version). Most important features of the board are
|
||||
|
||||
- 100 Mbps Ethernet via IP101G PHY
|
||||
- USB bridge with JTAG interface
|
||||
|
||||
Furthermore, some GPIOs are broken out for extension. The USB bridge based on FDI FT2232HL provides a JTAG interface for OCD debugging through the USB interface.
|
||||
|
||||
There are different revisions of the board:
|
||||
- \ref boards_esp32_esp-ethernet-kit-v1_0
|
||||
- \ref boards_esp32_esp-ethernet-kit-v1_1
|
||||
|
||||
## <a name="hardware"> Hardware </a> [[TOC](#toc)]
|
||||
|
||||
This section describes
|
||||
|
||||
- the [MCU](#mcu),
|
||||
- the default [board configuration](#common_board_configuration).
|
||||
|
||||
### <a name="mcu"> MCU </a> [[TOC](#toc)]
|
||||
|
||||
Most features of the board are provided by the ESP32 SoC. For detailed
|
||||
information about the ESP32, see section \ref esp32_mcu "MCU ESP32".
|
||||
|
||||
### <a name="common_board_configuration"> Board Configuration </a> [[TOC](#toc)]
|
||||
|
||||
ESP32-Ethernet-Kit has the following on-board components
|
||||
|
||||
- 100 Mbps Ethernet via IP101G PHY
|
||||
- USB bridge with JTAG interface
|
||||
|
||||
For detailed information about the configuration of ESP32 boards, see
|
||||
section Peripherals in \ref esp32_riot.
|
||||
|
||||
The board is available in different versions. See the per-version file for details.
|
||||
|
||||
## <a name="flashing"> Flashing the Device </a> [[TOC](#toc)]
|
||||
|
||||
Flashing RIOT is quite straight forward. The board has a Micro-USB connector with reset/boot/flash logic. Just connect the board using the programming port to your host computer and type:
|
||||
```
|
||||
make flash BOARD=esp32-ethernet-kit-v1_X ...
|
||||
```
|
||||
where `X` is the minor revision number of the board.
|
||||
|
||||
The USB bridge is based on FDI FT2232HL and offers two USB interfaces:
|
||||
|
||||
- the first interface is the JTAG interface for [On-Chip debugging](#debugging)
|
||||
- the second interface is the console interface, which is also used for flashing
|
||||
|
||||
Therefore, it might be necessary have to declare the USB interface in the make command. For example, if the ESP32-Ethernet-Kit is connected to the host computer through the USB interfaces `/dev/ttyUSB0` and `/dev/ttyUSB1`, the make command would be used as following:
|
||||
```
|
||||
make flash BOARD=esp32-ethernet-kit-v1_X PORT=/dev/ttyUSB1 ...
|
||||
```
|
||||
Please note that `/dev/ttyUSB1` is used as the console port by default. Therefore the variable `PORT` only needs to be defined if the console port is another port.
|
||||
|
||||
For detailed information about ESP32 as well as configuring and compiling RIOT for ESP32 boards, see \ref esp32_riot.
|
||||
|
||||
## <a name="debugging"> On-Chip Debugging with the Device </a> [[TOC](#toc)]
|
||||
|
||||
Since the USB bridge based on FDI FT2232HL provides a JTAG interface for debugging through an USB interface, using ESP32-Ethernet-Kit is the easiest and most convenient way for On-Chip debugging. Please refer the [ESP-IDF Programming Guide](https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/jtag-debugging/index.html) for details on how to setup and how to use ESP32-Ethernet-Kit and OpenOCD.
|
||||
|
||||
To use the JTAG interface, the `esp_jtag` module must be used to disable the `SPI_DEV(0)` which normally uses the GPIOs for the JTAG signals.
|
||||
USEMODULE=esp_jtag make flash BOARD=esp32-ethernet-kit-v1_X ...
|
||||
Furthermore the function switches (DIP switches) for the JTAG signals must be set to ON.
|
||||
|
||||
*/
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ingroup boards_esp32_esp-ethernet-kit-v1_0
|
||||
* @ingroup boards_esp32_esp-ethernet-kit
|
||||
* @file
|
||||
* @{
|
||||
*/
|
||||
|
@ -11,7 +11,7 @@
|
||||
#define GPIO_PARAMS_H
|
||||
|
||||
/**
|
||||
* @ingroup boards_esp32_esp-ethernet-kit-v1_0
|
||||
* @ingroup boards_esp32_esp-ethernet-kit
|
||||
* @brief Board specific configuration of direct mapped GPIOs
|
||||
* @file
|
||||
* @author Gunar Schorcht <gunar@schorcht.net>
|
||||
|
@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* @ingroup boards_esp32_esp-ethernet-kit-v1_0
|
||||
* @ingroup boards_esp32_esp-ethernet-kit
|
||||
* @brief Peripheral MCU configuration for Espressif ESP32-Ethernet-Kit
|
||||
* @file
|
||||
* @author Gunar Schorcht <gunar@schorcht.net>
|
||||
@ -80,7 +80,7 @@
|
||||
* @{
|
||||
*/
|
||||
#ifndef PWM0_GPIOS
|
||||
#ifdef MODULE_ESP32_ETHERNET_KIT_V1_0
|
||||
#ifdef BOARD_ESP32_ETHERNET_KIT_V1_0
|
||||
#define PWM0_GPIOS { GPIO4 }
|
||||
#else
|
||||
#define PWM0_GPIOS { GPIO2, GPIO4 }
|
||||
|
22
boards/esp32-ethernet-kit-v1_1/Kconfig
Normal file
22
boards/esp32-ethernet-kit-v1_1/Kconfig
Normal file
@ -0,0 +1,22 @@
|
||||
# Copyright (c) 2020 HAW Hamburg
|
||||
# Copyright (c) 2020 Google LLC
|
||||
#
|
||||
# This file is subject to the terms and conditions of the GNU Lesser
|
||||
# General Public License v2.1. See the file LICENSE in the top level
|
||||
# directory for more details.
|
||||
|
||||
config BOARD
|
||||
default "esp32-ethernet-kit-v1_1" if BOARD_ESP32_ETHERNET_KIT_V1_1
|
||||
|
||||
config BOARD_ESP32_ETHERNET_KIT_V1_1
|
||||
bool
|
||||
default y
|
||||
select BOARD_COMMON_ESP32
|
||||
select CPU_MODEL_ESP32_WROVER_B
|
||||
select HAS_ESP_SPI_RAM
|
||||
select HAS_PERIPH_ADC
|
||||
select HAS_PERIPH_ETH
|
||||
select HAS_PERIPH_I2C
|
||||
select HAS_PERIPH_PWM
|
||||
|
||||
source "$(RIOTBOARD)/common/esp32/Kconfig"
|
2
boards/esp32-ethernet-kit-v1_1/Makefile
Normal file
2
boards/esp32-ethernet-kit-v1_1/Makefile
Normal file
@ -0,0 +1,2 @@
|
||||
DIRS = $(RIOTBOARD)/esp32-ethernet-kit-v1_0
|
||||
include $(RIOTBASE)/Makefile.base
|
1
boards/esp32-ethernet-kit-v1_1/Makefile.dep
Normal file
1
boards/esp32-ethernet-kit-v1_1/Makefile.dep
Normal file
@ -0,0 +1 @@
|
||||
include $(RIOTBOARD)/esp32-ethernet-kit-v1_0/Makefile.dep
|
1
boards/esp32-ethernet-kit-v1_1/Makefile.features
Normal file
1
boards/esp32-ethernet-kit-v1_1/Makefile.features
Normal file
@ -0,0 +1 @@
|
||||
include $(RIOTBOARD)/esp32-ethernet-kit-v1_0/Makefile.features
|
3
boards/esp32-ethernet-kit-v1_1/Makefile.include
Normal file
3
boards/esp32-ethernet-kit-v1_1/Makefile.include
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
INCLUDES += -I$(RIOTBOARD)/esp32-ethernet-kit-v1_0/include
|
||||
include $(RIOTBOARD)/esp32-ethernet-kit-v1_0/Makefile.include
|
87
boards/esp32-ethernet-kit-v1_1/doc.txt
Normal file
87
boards/esp32-ethernet-kit-v1_1/doc.txt
Normal file
@ -0,0 +1,87 @@
|
||||
/*
|
||||
* Copyright (C) 2018 Gunar Schorcht
|
||||
* Copyright (C) 2020 Google LLC
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU Lesser
|
||||
* General Public License v2.1. See the file LICENSE in the top level
|
||||
* directory for more details.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup boards_esp32_esp-ethernet-kit-v1_1 v1.1 Board
|
||||
* @ingroup boards_esp32_esp-ethernet-kit
|
||||
* @brief Support for for Espressif ESP32-Ethernet-Kit v1.1
|
||||
* @author Gunar Schorcht <gunar@schorcht.net>
|
||||
* @author Erik Ekman <eekman@google.com>
|
||||
|
||||
## <a name="toc"> Table of Contents </a>
|
||||
|
||||
1. [Overview](#overview)
|
||||
2. [Hardware](#hardware)
|
||||
1. [Board Configuration](#board_configuration)
|
||||
2. [Board Pinout](#pinout)
|
||||
3. [Other Documentation Resources](#other-resources)
|
||||
|
||||
## <a name="overview"> Overview </a> [[TOC](#toc)]
|
||||
|
||||
The Espressif [ESP32-Ethernet-Kit](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit-v1.1.html) is a development board that uses the ESP32-WROVER-B module. Most important features of the board are
|
||||
|
||||
- 100 Mbps Ethernet via IP101G PHY
|
||||
- USB bridge with JTAG interface
|
||||
|
||||
Furthermore, some GPIOs are broken out for extension. The USB bridge based on FDI FT2232HL provides a JTAG interface for OCD debugging through the USB interface.
|
||||
For flashing and debugging the board, see \ref boards_esp32_esp-ethernet-kit common board documentation.
|
||||
|
||||
## <a name="hardware"> Hardware </a> [[TOC](#toc)]
|
||||
|
||||
This section describes
|
||||
|
||||
- the default [board configuration](#board_configuration),
|
||||
- the [board pinout](#pinout).
|
||||
|
||||
### <a name="board_configuration"> Board Configuration </a> [[TOC](#toc)]
|
||||
|
||||
ESP32-Ethernet-Kit v1.1 has the following on-board components
|
||||
|
||||
- 100 Mbps Ethernet via IP101G PHY
|
||||
- USB bridge with JTAG interface
|
||||
|
||||
For detailed information about the configuration of ESP32 boards, see
|
||||
section Peripherals in \ref esp32_riot.
|
||||
|
||||
@note
|
||||
Only a few GPIOs are broken out and available for external hardware on ESP32-Ethernet-Kit boards. Which GPIOs are available as peripherals depends on used modules.
|
||||
|
||||
<center>
|
||||
\anchor esp32_ethernet_kit_v1_1_table_board_configuration
|
||||
Function | GPIOs | Remarks |Configuration
|
||||
:---------------|:-------|:--------|:----------------------------------
|
||||
BTN0 | GPIO0 | not available if `esp_eth` is used | |
|
||||
ADC | GPIO34, GPIO35, GPIO36, GPIO39 | | \ref esp32_adc_channels "ADC Channels"
|
||||
DAC | - | | \ref esp32_dac_channels "DAC Channels"
|
||||
PWM_DEV(0) | GPIO2, GPIO4 | | \ref esp32_pwm_channels "PWM Channels"
|
||||
I2C_DEV(0):SDA | GPIO32 | | \ref esp32_i2c_interfaces "I2C Interfaces"
|
||||
I2C_DEV(0):SCL | GPIO33 | | \ref esp32_i2c_interfaces "I2C Interfaces"
|
||||
SPI_DEV(0):CLK | GPIO14 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
|
||||
SPI_DEV(0):MISO | GPIO12 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
|
||||
SPI_DEV(0):MOSI | GPIO13 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
|
||||
SPI_DEV(0):CS0 | GPIO15 | HSPI is used | \ref esp32_spi_interfaces "SPI Interfaces"
|
||||
UART_DEV(0):TxD | GPIO1 | Console (configuration is fixed) | \ref esp32_uart_interfaces "UART interfaces"
|
||||
UART_DEV(0):RxD | GPIO3 | Console (configuration is fixed) | \ref esp32_uart_interfaces "UART interfaces"
|
||||
</center>
|
||||
|
||||
@note
|
||||
- SPI_DEV(0) is not available if module `esp_jtag` is used. For the SPI_DEV(0) pins to work properly, the function switches (DIP switches) for the JTAG signals must be set to OFF.
|
||||
|
||||
### <a name="pinout"> Board Pinout </a> [[TOC](#toc)]
|
||||
|
||||
The board schematic can be found [here](https://dl.espressif.com/dl/schematics/SCH_ESP32-ETHERNET-KIT_A_V1.1_20190711.pdf).
|
||||
|
||||
By default, only 4 bidirectional GPIO pins are unused: GPIO2, GPIO4, GPIO32, GPIO33. The suggested configuration is for PWM
|
||||
and I2C, but they can also be used for SPI or another serial port. By disabling the JTAG interface on the board,
|
||||
another 4 GPIOs can be made available (GPIO12, GPIO13, GPIO14, GPIO15).
|
||||
|
||||
## <a name="other-resources"> Other Documentation Resources </a> [[TOC](#toc)]
|
||||
|
||||
There is a comprehensive [Getting Started Guide](https://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-ethernet-kit-v1.1.html) for the ESP32-Ethernet-Kit with a lot information about hardware configuration.
|
||||
*/
|
Loading…
Reference in New Issue
Block a user