2020-12-04 11:12:35 +01:00
|
|
|
|
README for the Espressif ESP Wrover Kit
|
|
|
|
|
==============================================
|
|
|
|
|
|
|
|
|
|
The ESP32 is a dual-core system from Espressif with two Harvard
|
|
|
|
|
architecture Xtensa LX6 CPUs. All embedded memory, external memory and
|
|
|
|
|
peripherals are located on the data bus and/or the instruction bus of
|
|
|
|
|
these CPUs. With some minor exceptions, the address mapping of two CPUs
|
|
|
|
|
is symmetric, meaning they use the same addresses to access the same
|
|
|
|
|
memory. Multiple peripherals in the system can access embedded memory via
|
|
|
|
|
DMA.
|
|
|
|
|
|
|
|
|
|
ESP-WROVER-KIT is an ESP32-based development board produced by Espressif.
|
|
|
|
|
|
|
|
|
|
ESP-WROVER-KIT features the following integrated components:
|
|
|
|
|
ESP32-WROVER-B module
|
|
|
|
|
LCD screen
|
|
|
|
|
MicroSD card slot
|
|
|
|
|
|
|
|
|
|
Its another distinguishing feature is the embedded FTDI FT2232HL chip,
|
|
|
|
|
an advanced multi-interface USB bridge. This chip enables to use JTAG
|
|
|
|
|
for direct debugging of ESP32 through the USB interface without a separate
|
|
|
|
|
JTAG debugger. ESP-WROVER-KIT makes development convenient, easy, and
|
|
|
|
|
cost-effective.
|
|
|
|
|
|
|
|
|
|
Most of the ESP32 I/O pins are broken out to the board’s pin headers for easy access.
|
|
|
|
|
|
|
|
|
|
Buttons and LEDs
|
|
|
|
|
================
|
|
|
|
|
|
|
|
|
|
Buttons
|
|
|
|
|
-------
|
|
|
|
|
There are two buttons labeled Boot and EN. The EN button is not available
|
|
|
|
|
to software. It pulls the chip enable line that doubles as a reset line.
|
|
|
|
|
|
|
|
|
|
The BOOT button is connected to IO0. On reset it is used as a strapping
|
|
|
|
|
pin to determine whether the chip boots normally or into the serial
|
|
|
|
|
bootloader. After reset, however, the BOOT button can be used for software
|
|
|
|
|
input.
|
|
|
|
|
|
|
|
|
|
LEDs
|
|
|
|
|
----
|
|
|
|
|
There are several on-board LEDs for that indicate the presence of power
|
|
|
|
|
and USB activity.
|
|
|
|
|
There is an RGB LED available for software.
|
|
|
|
|
|
2021-01-11 17:44:07 +01:00
|
|
|
|
Configurations
|
|
|
|
|
==============
|
|
|
|
|
|
|
|
|
|
nsh
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
Basic configuration to run the NuttShell (nsh).
|
|
|
|
|
|
|
|
|
|
wapi
|
|
|
|
|
___
|
|
|
|
|
|
|
|
|
|
This is a congiuration to test the Wifi driver using WAPI.
|
|
|
|
|
The Wifi passphrase and SSID can be configured from menuconfig, then once
|
|
|
|
|
booted you can check if an IP address was assigned:
|
|
|
|
|
nsh> ifconfig
|
|
|
|
|
|
|
|
|
|
If not configured at startup, you can connect to a network with the following:
|
|
|
|
|
|
|
|
|
|
wapi psk wlan0 mypassword 1
|
|
|
|
|
wapi essid wlan0 myssid 1
|
|
|
|
|
|
|
|
|
|
gpio
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
This is a test for the GPIO driver. It includes the 3 LEDs and one,
|
|
|
|
|
arbitrary, GPIO. For this example, GPIO22 was used.
|
|
|
|
|
At the nsh, we can turn LEDs on and off with the following.
|
|
|
|
|
nsh> gpio -o 1 /dev/gpout0
|
|
|
|
|
nsh> gpio -o 0 /dev/gpout1
|
|
|
|
|
|
|
|
|
|
We can use the interrupt pin to send a signal when the interrupt fires:
|
|
|
|
|
nsh> gpio -w 14 /dev/gpint3
|
|
|
|
|
The pin is configured to as a rising edge interrupt, so after issuing the
|
|
|
|
|
above command, connect it to 3.3V.
|
2021-02-20 21:24:35 +01:00
|
|
|
|
|
|
|
|
|
Using QEMU:
|
|
|
|
|
==========
|
|
|
|
|
|
|
|
|
|
First follow the instructions at https://github.com/espressif/qemu/wiki to build QEMU.
|
|
|
|
|
Enable the ESP32_QEMU_IMAGE config found in "Board Selection -> ESP32 binary image for QEMU".
|
|
|
|
|
Download the bootloader and the partition table from https://github.com/espressif/esp-nuttx-bootloader/releases
|
|
|
|
|
and place them in a directory, say ../esp-bins.
|
|
|
|
|
Build and generate the QEMU image: `make ESPTOOL_BINDIR=../esp-bins`
|
|
|
|
|
A new image "esp32_qemu_image.bin" will be created. It can be run as:
|
|
|
|
|
|
|
|
|
|
~/PATH_TO_QEMU/qemu/build/xtensa-softmmu/qemu-system-xtensa -nographic \
|
|
|
|
|
-machine esp32 \
|
|
|
|
|
-drive file=esp32_qemu_image.bin,if=mtd,format=raw
|
|
|
|
|
|
2021-02-22 04:55:09 +01:00
|
|
|
|
External devices:
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
BMP180
|
|
|
|
|
------
|
|
|
|
|
|
|
|
|
|
When using BMP180 (enabling CONFIG_SENSORS_BMP180), it's expected this device is wired to I2C0 bus.
|
|
|
|
|
The current bring-up routines doesn't allow BMP180 device to be used in I2C1 bus.
|