nuttx/boards/xtensa/esp32/esp32-wrover-kit
Xiang Xiao 9473434587 Ensure the kernel component don't call userspace API
Signed-off-by: Xiang Xiao <xiaoxiang@xiaomi.com>
2021-03-01 09:23:09 +09:00
..
configs boards/esp32: Add module config to ESP32 boards defconfig 2021-02-08 21:17:22 +00:00
include boards/xtensa/esp32/esp32-wrover-kit: Add an example on how to use GPIO 2021-01-15 09:47:33 +01:00
scripts xtensa/esp32: Fix cache issue detected by DEBUG_ASSERTION 2021-02-04 21:22:01 +00:00
src Ensure the kernel component don't call userspace API 2021-03-01 09:23:09 +09:00
Kconfig esp32: Refactor QEMU image generation on POSTBUILD 2021-02-03 18:15:56 -03:00
README.txt This commit enables BMP180 suport for ESP32. 2021-02-22 21:45:16 -03:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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 boards 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.

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.

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
 
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.