Add support for Espressif 32 // Resolve #682

This commit is contained in:
Ivan Kravets
2016-11-19 18:39:25 +02:00
parent 0e20261d76
commit f7790ce537
10 changed files with 603 additions and 3 deletions

View File

@ -59,6 +59,10 @@ PlatformIO 3.0
+ Fixed issue with uploading to Arduino Zero on programming USB port + Fixed issue with uploading to Arduino Zero on programming USB port
(`issue #805 <https://github.com/platformio/platformio/issues/805>`__) (`issue #805 <https://github.com/platformio/platformio/issues/805>`__)
* Development platform `Espressif 32 <https://github.com/platformio/platform-espressif32>`__
* Initial support for Espressif IDF and Arduino for ESP32
* Development platform `Espressif 8266 <https://github.com/platformio/platform-espressif8266>`__ * Development platform `Espressif 8266 <https://github.com/platformio/platform-espressif8266>`__
+ Added support for ESPrectro board + Added support for ESPrectro board

View File

@ -33,6 +33,9 @@ Platforms
* - :ref:`platform_atmelsam` * - :ref:`platform_atmelsam`
- Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix. - Atmel | SMART offers Flash- based ARM products based on the ARM Cortex-M0+, Cortex-M3 and Cortex-M4 architectures, ranging from 8KB to 2MB of Flash including a rich peripheral and feature mix.
* - :ref:`platform_espressif32`
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
* - :ref:`platform_espressif8266` * - :ref:`platform_espressif8266`
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications. - Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
@ -186,6 +189,26 @@ Adafruit
- 8 Kb - 8 Kb
- 0.5 Kb - 0.5 Kb
April Brother
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espea32``
- `April Brother ESPea32 <https://blog.aprbrother.com/product/espea>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Arduboy Arduboy
~~~~~~~ ~~~~~~~
@ -799,6 +822,26 @@ ESPino
- 4096 Kb - 4096 Kb
- 80 Kb - 80 Kb
Electronic SweetPeas
~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp320``
- `Electronic SweetPeas ESP320 <http://www.sweetpeas.se/controller-modules/10-esp210.html>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Engduino Engduino
~~~~~~~~ ~~~~~~~~
@ -874,6 +917,13 @@ Espressif
- 4096 Kb - 4096 Kb
- 80 Kb - 80 Kb
* - ``esp32dev``
- `Espressif ESP32 Dev Module <https://en.wikipedia.org/wiki/ESP32>`_
- ESP32
- 160 MHz
- 1024 Kb
- 112 Kb
* - ``esp8285`` * - ``esp8285``
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_ - `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266 - ESP8266
@ -1147,6 +1197,26 @@ LowPowerLab
- 128 Kb - 128 Kb
- 16 Kb - 16 Kb
MakerAsia
~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nano32``
- `MakerAsia Nano32 <http://iot-bits.com/nano32-esp32-development-board>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Mcudude Mcudude
~~~~~~~ ~~~~~~~
@ -1312,6 +1382,26 @@ NodeMCU
- 4096 Kb - 4096 Kb
- 80 Kb - 80 Kb
Noduino
~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``quantum``
- `Noduino Quantum <http://wiki.jackslab.org/Noduino>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Olimex Olimex
~~~~~~ ~~~~~~
@ -2053,6 +2143,26 @@ UBW32
- 512 Kb - 512 Kb
- 128 Kb - 128 Kb
WEMOS
~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lolin32``
- `WEMOS LoLin32 <https://wemos.cc>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
WeMos WeMos
~~~~~ ~~~~~

159
docs/frameworks/espidf.rst Normal file
View File

@ -0,0 +1,159 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. _framework_espidf:
Framework ``espidf``
====================
Espressif IoT Development Framework. Official development framework for ESP32.
For more detailed information please visit `vendor site <https://github.com/espressif/esp-idf>`_.
.. contents::
Platforms
---------
.. list-table::
:header-rows: 1
* - Name
- Description
* - :ref:`platform_espressif32`
- Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by horizontal.
April Brother
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espea32``
- `April Brother ESPea32 <https://blog.aprbrother.com/product/espea>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Electronic SweetPeas
~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp320``
- `Electronic SweetPeas ESP320 <http://www.sweetpeas.se/controller-modules/10-esp210.html>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Espressif
~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp32dev``
- `Espressif ESP32 Dev Module <https://en.wikipedia.org/wiki/ESP32>`_
- ESP32
- 160 MHz
- 1024 Kb
- 112 Kb
MakerAsia
~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nano32``
- `MakerAsia Nano32 <http://iot-bits.com/nano32-esp32-development-board>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Noduino
~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``quantum``
- `Noduino Quantum <http://wiki.jackslab.org/Noduino>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
WEMOS
~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lolin32``
- `WEMOS LoLin32 <https://wemos.cc>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb

View File

@ -20,6 +20,7 @@ Frameworks
arduino arduino
cmsis cmsis
energia energia
espidf
libopencm3 libopencm3
mbed mbed
simba simba

View File

@ -41,7 +41,7 @@ Packages
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_ - `Micronucleus <https://github.com/micronucleus/micronucleus>`_
* - ``toolchain-atmelavr`` * - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_ - `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning:: .. warning::
**Linux Users**: **Linux Users**:

View File

@ -56,6 +56,9 @@ Packages
* - ``framework-arduinoavr`` * - ``framework-arduinoavr``
- `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_ - `Arduino Wiring-based Framework (AVR Core, 1.6) <http://arduino.cc/en/Reference/HomePage>`_
* - ``framework-arduinoespressif32``
- `Arduino Wiring-based Framework (ESP32 Core) <https://github.com/espressif/arduino-esp32>`_
* - ``framework-arduinoespressif8266`` * - ``framework-arduinoespressif8266``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_ - `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
@ -89,6 +92,9 @@ Packages
* - ``framework-energiativa`` * - ``framework-energiativa``
- `Energia Wiring-based Framework (LM4F Core) <http://energia.nu/reference/>`_ - `Energia Wiring-based Framework (LM4F Core) <http://energia.nu/reference/>`_
* - ``framework-espidf``
- `Espressif IoT Development Framework <https://github.com/espressif/esp-idf>`_
* - ``framework-libopencm3`` * - ``framework-libopencm3``
- `libOpenCM3 Framework <http://www.libopencm3.org/>`_ - `libOpenCM3 Framework <http://www.libopencm3.org/>`_
@ -119,9 +125,15 @@ Packages
* - ``tool-bossac`` * - ``tool-bossac``
- `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_ - `BOSSA CLI <https://sourceforge.net/projects/b-o-s-s-a/>`_
* - ``tool-espotapy``
- `ESP8266 OTA utility <https://github.com/esp8266/Arduino/blob/master/tools/espota.py>`_
* - ``tool-esptool`` * - ``tool-esptool``
- `esptool-ck <https://github.com/igrr/esptool-ck>`_ - `esptool-ck <https://github.com/igrr/esptool-ck>`_
* - ``tool-esptoolpy``
- `Espressif ROM Bootloader utility <https://github.com/espressif/esptool>`_
* - ``tool-lm4flash`` * - ``tool-lm4flash``
- `Flash Programmer <http://www.ti.com/tool/lmflashprogrammer>`_ - `Flash Programmer <http://www.ti.com/tool/lmflashprogrammer>`_
@ -159,7 +171,7 @@ Packages
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_ - `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
* - ``toolchain-atmelavr`` * - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_ - `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``toolchain-gccarmlinuxgnueabi`` * - ``toolchain-gccarmlinuxgnueabi``
- `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_ - `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_
@ -194,6 +206,9 @@ Packages
* - ``toolchain-xtensa`` * - ``toolchain-xtensa``
- `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_ - `xtensa-gcc <https://github.com/jcmvbkbc/gcc-xtensa>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``toolchain-xtensa32``
- `xtensa32-gcc <https://github.com/espressif/esp-idf>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. _platform_creating_manifest_file: .. _platform_creating_manifest_file:
Manifest File ``platform.json`` Manifest File ``platform.json``
@ -367,3 +382,5 @@ Examples
Please take a look at the source code of Please take a look at the source code of
`PlatformIO Development Platforms <https://github.com/platformio?query=platform->`_. `PlatformIO Development Platforms <https://github.com/platformio?query=platform->`_.
code of
`PlatformIO Development Platforms <https://github.com/platformio?query=platform->`_.

View File

@ -169,6 +169,26 @@ Adafruit
- 8 Kb - 8 Kb
- 0.5 Kb - 0.5 Kb
April Brother
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espea32``
- `April Brother ESPea32 <https://blog.aprbrother.com/product/espea>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Arduboy Arduboy
~~~~~~~ ~~~~~~~
@ -917,6 +937,26 @@ ESPino
- 4096 Kb - 4096 Kb
- 80 Kb - 80 Kb
Electronic SweetPeas
~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp320``
- `Electronic SweetPeas ESP320 <http://www.sweetpeas.se/controller-modules/10-esp210.html>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Elektor Labs Elektor Labs
~~~~~~~~~~~~ ~~~~~~~~~~~~
@ -1046,6 +1086,13 @@ Espressif
- 4096 Kb - 4096 Kb
- 80 Kb - 80 Kb
* - ``esp32dev``
- `Espressif ESP32 Dev Module <https://en.wikipedia.org/wiki/ESP32>`_
- ESP32
- 160 MHz
- 1024 Kb
- 112 Kb
* - ``esp8285`` * - ``esp8285``
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_ - `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266 - ESP8266
@ -1482,6 +1529,26 @@ LowPowerLab
- 128 Kb - 128 Kb
- 16 Kb - 16 Kb
MakerAsia
~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nano32``
- `MakerAsia Nano32 <http://iot-bits.com/nano32-esp32-development-board>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Mcudude Mcudude
~~~~~~~ ~~~~~~~
@ -1838,6 +1905,26 @@ NodeMCU
- 4096 Kb - 4096 Kb
- 80 Kb - 80 Kb
Noduino
~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``quantum``
- `Noduino Quantum <http://wiki.jackslab.org/Noduino>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Nordic Nordic
~~~~~~ ~~~~~~
@ -3263,6 +3350,26 @@ UBW32
- 512 Kb - 512 Kb
- 128 Kb - 128 Kb
WEMOS
~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lolin32``
- `WEMOS LoLin32 <https://wemos.cc>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
WeMos WeMos
~~~~~ ~~~~~

View File

@ -0,0 +1,201 @@
.. Copyright 2014-present PlatformIO <contact@platformio.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.. _platform_espressif32:
Platform ``espressif32``
========================
Espressif Systems is a privately held fabless semiconductor company. They provide wireless communications and Wi-Fi chips which are widely used in mobile devices and the Internet of Things applications.
For more detailed information please visit `vendor site <https://espressif.com/>`_.
.. contents::
Packages
--------
.. list-table::
:header-rows: 1
* - Name
- Contents
* - ``framework-arduinoespressif32``
- `Arduino Wiring-based Framework (ESP32 Core) <https://github.com/espressif/arduino-esp32>`_
* - ``framework-espidf``
- `Espressif IoT Development Framework <https://github.com/espressif/esp-idf>`_
* - ``tool-esptoolpy``
- `Espressif ROM Bootloader utility <https://github.com/espressif/esptool>`_
* - ``toolchain-xtensa32``
- `xtensa32-gcc <https://github.com/espressif/esp-idf>`_, `GDB <http://www.gnu.org/software/gdb/>`_
.. warning::
**Linux Users**:
* Ubuntu/Debian users may need to add own "username" to the "dialout"
group if they are not "root", doing this issuing a
``sudo usermod -a -G dialout yourusername``.
* Install "udev" rules file `99-platformio-udev.rules <https://github.com/platformio/platformio/blob/develop/scripts/99-platformio-udev.rules>`_
(an instruction is located in the file).
* Raspberry Pi users, please read this article
`Enable serial port on Raspberry Pi <https://hallard.me/enable-serial-port-on-raspberry-pi/>`__.
**Windows Users:** Please check that you have correctly installed USB
driver from board manufacturer
Frameworks
----------
.. list-table::
:header-rows: 1
* - Name
- Description
* - :ref:`framework_arduino`
- Arduino Wiring-based Framework allows writing cross-platform software to control devices attached to a wide range of Arduino boards to create all kinds of creative coding, interactive objects, spaces or physical experiences.
* - :ref:`framework_espidf`
- Espressif IoT Development Framework. Official development framework for ESP32.
Boards
------
.. note::
* You can list pre-configured boards by :ref:`cmd_boards` command or
`PlatformIO Boards Explorer <http://platformio.org/boards>`_
* For more detailed ``board`` information please scroll tables below by
horizontal.
April Brother
~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``espea32``
- `April Brother ESPea32 <https://blog.aprbrother.com/product/espea>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Electronic SweetPeas
~~~~~~~~~~~~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp320``
- `Electronic SweetPeas ESP320 <http://www.sweetpeas.se/controller-modules/10-esp210.html>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Espressif
~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``esp32dev``
- `Espressif ESP32 Dev Module <https://en.wikipedia.org/wiki/ESP32>`_
- ESP32
- 160 MHz
- 1024 Kb
- 112 Kb
MakerAsia
~~~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``nano32``
- `MakerAsia Nano32 <http://iot-bits.com/nano32-esp32-development-board>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
Noduino
~~~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``quantum``
- `Noduino Quantum <http://wiki.jackslab.org/Noduino>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb
WEMOS
~~~~~
.. list-table::
:header-rows: 1
* - ID
- Name
- Microcontroller
- Frequency
- Flash
- RAM
* - ``lolin32``
- `WEMOS LoLin32 <https://wemos.cc>`_
- ESP32
- 160 MHz
- 1024 Kb
- 288 Kb

View File

@ -30,6 +30,7 @@ Embedded
atmelavr atmelavr
atmelsam atmelsam
espressif32
espressif8266 espressif8266
freescalekinetis freescalekinetis
intel_arc32 intel_arc32

View File

@ -38,7 +38,7 @@ Packages
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_ - `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
* - ``toolchain-atmelavr`` * - ``toolchain-atmelavr``
- `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_, `AVaRICE <http://avarice.sourceforge.net/>`_, `SimulAVR <http://www.nongnu.org/simulavr/>`_ - `avr-gcc <https://gcc.gnu.org/wiki/avr-gcc>`_, `GDB <http://www.gnu.org/software/gdb/>`_
* - ``toolchain-gccarmnoneeabi`` * - ``toolchain-gccarmnoneeabi``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_ - `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_