eclipse plugin for esp-idf eclipse... · eclipse plugin for esp-idf ... demo. espressif systems...
TRANSCRIPT
![Page 1: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/1.jpg)
Espressif Systems EclipseCon Europe 2019
Eclipse Plugin for ESP-IDF
Ivan Grokhotkov, Espressif Kondal Kolipaka, Espressif
![Page 2: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/2.jpg)
Espressif Systems EclipseCon Europe 2019
Agenda
• Introduction • ESP8266 & ESP32 • Espressif Hardware & Software • IoT Applications • ESP-IDF • ESP-IDF Eclipse Plugin • Demo • Future Plans • Q&A
![Page 3: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/3.jpg)
Espressif Systems EclipseCon Europe 2019
Who are we?
Fabless semiconductor company based in Shanghai, China, with offices in China, India, and Europe. Designs connected MCUs, targeting IoT applications. Widely known for designing low-cost and low entry barrier Wi-Fi solutions.
Espressif Systems
![Page 4: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/4.jpg)
Espressif Systems EclipseCon Europe 2019
Espressif Hardware & Software
SoCs Modules DevelopmentBoards
SDKs
• ESP32 • ESP32-S2(soon) • ESP8266, ESP8285
• ESP32 Modules
• ESP8266 Modules
• ESP32-DevKit-C • ESP-WROVER-KIT • ESP8266-DevKit-C
Bundle of utilities and device-level APIs for ESP8266 and ESP32
![Page 5: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/5.jpg)
Espressif Systems EclipseCon Europe 2019
ESP32
• Processor• Xtensa® Dual-Core 32-bit LX6 • Operating at 160 or 240 MHz • Ultra low power (ULP) co-processor
• Memory• 520 KiB SRAM • 4MB external flash
• Wireless connectivity• Wi-Fi: 802.11 b/g/n • Bluetooth: v4.2 BR/EDR and BLE
![Page 6: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/6.jpg)
Espressif Systems EclipseCon Europe 2019
ESP8266, ESP32, ESP32-S2Specifications ESP8266 ESP32 ESP32-S2
MCUSingle core Xtensa CPU
up to 160MHz clock
Dual core Xtensa CPU
up to 240MHz clock
Single core Xtensa CPU
up to 240MHz clock
Internal Memory (IRAM+DRAM) 160kB 520kB 320kB
Connectivity Wi-Fi 802.11bgn (HT20)
Wi-Fi 802.11bgn (HT40)
Dual mode BT/BLE 4.2 Ethernet
Wi-Fi 802.11bgn (HT40)
ExternalMemory
Up to 16MB SPI flash,(1MB executable XIP)
Up to 16MB SPI flash,(4MB XIP),
Up to 4MB SPI RAM
Up to 1GB SPI flash,(7MB XIP, 4MB rodata),Up to 10MB SPI RAM
Peripherals GPIO, SPI, UART, I2S, ADC
GPIO, SPI, UART, I2C, I2S, PWM, ADC, DAC, RMT, CAN,
SD host/slave,low-power coprocessor
GPIO, SPI, UART, I2C, I2S, PWM, ADC, DAC, RMT, USB,low-power coprocessor
Hardware Security Features
SHA2, RSA, AES acceleratorsTransparent flash decryption
Secure boot1024 bit OTP
SHA2, RSA, AES, HMAC acceleratorsTransparent flash/RAM
en/decryption (AES-XTS)RSA-PSS Secure boot
4096 bit OTP
![Page 7: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/7.jpg)
Espressif Systems EclipseCon Europe 2019
Applications
• Consumer Electronics • Appliances • Smart home • Toys
• Industrial devices • Bridges, gateways • Data collection • Embedded controllers
![Page 8: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/8.jpg)
Espressif Systems EclipseCon Europe 2019
ESP-IDF
ESP IoT Development Framework (ESP-IDF) is the official development framework for the ESP32 series of chips.
Source code: https://github.com/espressif/esp-idf/ (Apache 2.0 license) Documentation: https://docs.espressif.com/projects/esp-idf/en/latest/
![Page 9: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/9.jpg)
Espressif Systems EclipseCon Europe 2019
SoC vendors have to provide…
• Startup code, bootloader, linker scripts, register definitions • Peripheral drivers
• RTOS • Network stack • Cryptography, TLS stack
• Filesystems • Protocols (HTTP, MQTT, CoAP,…, Cloud connectors) • POSIX abstractions
• Build system • Profiling, tracing, debugging tools • IDE
![Page 10: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/10.jpg)
Espressif Systems EclipseCon Europe 2019
SDKs: custom code
• Startup code, bootloader, linker scripts, register definitions • Peripheral drivers
• RTOS • Network stack • Cryptography, TLS stack
• Filesystems • Protocols (HTTP, MQTT, CoAP,…, Cloud connectors) • POSIX abstractions
• Build system • Profiling, tracing, debugging tools • IDE
![Page 11: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/11.jpg)
Espressif Systems EclipseCon Europe 2019
Vendor SDK choices
• Library packaging format: CMSIS-Packs, mBed & Arduino libraries, etc.
• Build system can deal with libraries and dependencies: CMake, Scons, Meson…
• Compile-time configuration support: CMSIS Packs, Kconfig
• Command line tools (build system, configuration tools, flashing the boards)
• Integration with IDEs
![Page 12: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/12.jpg)
Espressif Systems EclipseCon Europe 2019
ESP-IDF Components
![Page 13: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/13.jpg)
Espressif Systems EclipseCon Europe 2019
Component Structure
Typical component
Wrappercomponent
Fully customcomponent
![Page 14: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/14.jpg)
Espressif Systems EclipseCon Europe 2019
Build process and tools
![Page 15: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/15.jpg)
Espressif Systems EclipseCon Europe 2019
Requirements for developing ESP32 Applications
Hardware:•An ESP32 board•USB cable - USB A / micro USB B•Computer running Windows, Linux, or macOS
Software:•Toolchain to compile code for ESP32•Build tools - CMake and Ninja to build •ESP-IDF •Editor - Eclipse IDE
![Page 16: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/16.jpg)
Espressif Systems EclipseCon Europe 2019
ESP-IDF Eclipse Plugins
IDF Eclipse Plugins aiming to provide better tooling capabilities, which simplifies and enhances standard Eclipse CDT for developing and debugging ESP32 IoT applications.
![Page 17: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/17.jpg)
Espressif Systems EclipseCon Europe 2019
Current Status
GitHub page:https://github.com/espressif/idf-eclipse-plugin
Update Site:https://dl.espressif.com/dl/idf-eclipse-plugin/updates/latest/ Current Release: 1.0.0-beta
![Page 18: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/18.jpg)
Espressif Systems EclipseCon Europe 2019
Challenges we are trying to solve
• Toolchain configuration • Environment variables Configuration • Installing required ESP-IDF Tools • End-to-End workflow • Everything from Eclipse IDE • Official support from Espressif
![Page 19: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/19.jpg)
Espressif Systems EclipseCon Europe 2019
IDF Eclipse Plugin Features
• Installing ESP-IDF Tools • Creating a new CMake IDF Project • Create Launch Target • Compiling the Project • Flashing the Project • Viewing Serial Output
![Page 20: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/20.jpg)
Espressif Systems EclipseCon Europe 2019
IDF Eclipse Plugin Features
• sdkconfig Editor • CMake Editor https://github.com/15knots/cmakeed • Configuring Build Environment Variables (auto-configured) • Configuring Core Build Toolchain and CMake Toolchain
(auto-configured) • Configuring the flash arguments (auto-configured) • ESP-IDF Templates selection during project creation • Import an existing project
![Page 21: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/21.jpg)
Espressif Systems EclipseCon Europe 2019
JTAG Debugging
GDB Hardware Debugging Plugins• Part of Eclipse CDT Package
Open OCD Debugging Plugins• https://gnu-mcu-eclipse.github.io/debug/openocd/
![Page 22: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/22.jpg)
Espressif Systems EclipseCon Europe 2019
Debugging with JTAG
![Page 23: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/23.jpg)
Espressif Systems EclipseCon Europe 2019
IDF Eclipse Plugin Prerequisites
• Java 8 and above • Python 3.5 and above • Eclipse 2018-12 CDT and above • ESP-IDF 4.0 and above
![Page 24: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/24.jpg)
Espressif Systems EclipseCon Europe 2019
Demo
![Page 25: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/25.jpg)
Espressif Systems EclipseCon Europe 2019
Future Plans
• Keep improving the Eclipse support for ESP-IDF • Automate all the configuration part • Support Multiple Chip targets • JTAG Debugger customization for ESP boards • Evaluating Core Dump and GDB Stub Debugging • Static Code analyzer
![Page 26: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/26.jpg)
Espressif Systems EclipseCon Europe 2019
ESP-IDF Learning Resources
ESP-IDF Eclipse Plugin https://github.com/espressif/idf-eclipse-plugin
ESP-IDFhttps://github.com/espressif/esp-idf/
ESP-IDF Offical documentationhttps://docs.espressif.com/projects/esp-idf/en/latest/
ESP32 Forumhttps://esp32.com
![Page 27: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/27.jpg)
Espressif Systems EclipseCon Europe 2019
![Page 28: Eclipse Plugin for ESP-IDF Eclipse... · Eclipse Plugin for ESP-IDF ... Demo. Espressif Systems EclipseCon Europe 2019 Future Plans • Keep improving the Eclipse support for ESP-IDF](https://reader036.vdocuments.net/reader036/viewer/2022062317/5f7607de5db57c3efd04a7cb/html5/thumbnails/28.jpg)
Espressif Systems EclipseCon Europe 2019