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
(`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>`__
+ Added support for ESPrectro board

View File

@ -33,6 +33,9 @@ Platforms
* - :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.
* - :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`
- 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
- 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
~~~~~~~
@ -799,6 +822,26 @@ ESPino
- 4096 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
~~~~~~~~
@ -874,6 +917,13 @@ Espressif
- 4096 Kb
- 80 Kb
* - ``esp32dev``
- `Espressif ESP32 Dev Module <https://en.wikipedia.org/wiki/ESP32>`_
- ESP32
- 160 MHz
- 1024 Kb
- 112 Kb
* - ``esp8285``
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
@ -1147,6 +1197,26 @@ LowPowerLab
- 128 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
~~~~~~~
@ -1312,6 +1382,26 @@ NodeMCU
- 4096 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
~~~~~~
@ -2053,6 +2143,26 @@ UBW32
- 512 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
~~~~~

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
cmsis
energia
espidf
libopencm3
mbed
simba

View File

@ -41,7 +41,7 @@ Packages
- `Micronucleus <https://github.com/micronucleus/micronucleus>`_
* - ``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::
**Linux Users**:

View File

@ -56,6 +56,9 @@ Packages
* - ``framework-arduinoavr``
- `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``
- `Arduino Wiring-based Framework (ESP8266 Core) <https://github.com/esp8266/Arduino>`_
@ -89,6 +92,9 @@ Packages
* - ``framework-energiativa``
- `Energia Wiring-based Framework (LM4F Core) <http://energia.nu/reference/>`_
* - ``framework-espidf``
- `Espressif IoT Development Framework <https://github.com/espressif/esp-idf>`_
* - ``framework-libopencm3``
- `libOpenCM3 Framework <http://www.libopencm3.org/>`_
@ -119,9 +125,15 @@ Packages
* - ``tool-bossac``
- `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``
- `esptool-ck <https://github.com/igrr/esptool-ck>`_
* - ``tool-esptoolpy``
- `Espressif ROM Bootloader utility <https://github.com/espressif/esptool>`_
* - ``tool-lm4flash``
- `Flash Programmer <http://www.ti.com/tool/lmflashprogrammer>`_
@ -159,7 +171,7 @@ Packages
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
* - ``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``
- `GCC for Linux ARM GNU EABI <https://gcc.gnu.org>`_, `GDB <http://www.gnu.org/software/gdb/>`_
@ -194,6 +206,9 @@ Packages
* - ``toolchain-xtensa``
- `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:
Manifest File ``platform.json``
@ -367,3 +382,5 @@ Examples
Please take a look at the source code of
`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
- 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
~~~~~~~
@ -917,6 +937,26 @@ ESPino
- 4096 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
~~~~~~~~~~~~
@ -1046,6 +1086,13 @@ Espressif
- 4096 Kb
- 80 Kb
* - ``esp32dev``
- `Espressif ESP32 Dev Module <https://en.wikipedia.org/wiki/ESP32>`_
- ESP32
- 160 MHz
- 1024 Kb
- 112 Kb
* - ``esp8285``
- `Generic ESP8285 Module <http://www.esp8266.com/wiki/doku.php?id=esp8266-module-family>`_
- ESP8266
@ -1482,6 +1529,26 @@ LowPowerLab
- 128 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
~~~~~~~
@ -1838,6 +1905,26 @@ NodeMCU
- 4096 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
~~~~~~
@ -3263,6 +3350,26 @@ UBW32
- 512 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
~~~~~

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
atmelsam
espressif32
espressif8266
freescalekinetis
intel_arc32

View File

@ -38,7 +38,7 @@ Packages
- `Teensy Loader <https://www.pjrc.com/teensy/loader.html>`_
* - ``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``
- `gcc-arm-embedded <https://launchpad.net/gcc-arm-embedded>`_, `GDB <http://www.gnu.org/software/gdb/>`_