Getting Started with ESP-IDF: Difference between revisions

From Embedded Workshop
Jump to navigation Jump to search
No edit summary
 
(One intermediate revision by the same user not shown)
Line 22: Line 22:
==ESP-IDF Installation==
==ESP-IDF Installation==
  Visual Studio Code works well, with an ESP-IDF extension, to setup, build, flash, monitor, and debug a project.
  Visual Studio Code works well, with an ESP-IDF extension, to setup, build, flash, monitor, and debug a project.
  https://docs.espressif.com/projects/esp-idf/en/v4.4.3/esp32/get-started/vscode-setup.html
  https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html
https://dl.espressif.com/dl/esp-idf/
   
   
  I'll try to make this install as painless as possible, but many parts and steps are involved...
  I'll try to make this install as painless as possible, but many parts and steps are involved...
  * ESP-IDF from github - The latest release is 4.4.3, which is a bugfix patch.
  * ESP-IDF from github - The latest release is 5.0
  I recommend using the "offline" installer. It provides more installation options.
  I prefer to have the ESP-IDF package install at C:/Espressif
  * Python - Used to script many features/functions
  * Python - Used to script many features/functions
  * Visual Studio Code
  * Visual Studio Code
  * Visual Studio Code Extension for ESP-IDF
  * Visual Studio Code Extension for ESP-IDF
* Build tools
===Download Offline Installer===
Choose the 5.0 offline installer from the list:  https://dl.espressif.com/dl/esp-idf/
Select Language
Accept Agreement
  At this point, the installer will check your host machine's environment and flag any problems it finds.
  (For many problems, the installer provides a "fix".  "Apply Fixes" if necessary.)
Select installation folder.  I prefer "C:\Espressif"


==Frequently Asked Questions==
==Frequently Asked Questions==

Latest revision as of 12:31, 21 January 2023

ESP-IDF is a development environment for ESP32 processors to build larger projects
By default, an ESP-IDF project will utilize FreeRTOS to manage multiple components to build a system.

Hardware

All development boards utilize a "board on board" process
The ESP32 board is mounted to a development board
The ESP32 board has WiFi circuitry and external SPI Flash

FreeRTOS

Each "component" may create its own thread / task
Priorities are used to define/manage what's important
By default, heap memory is used to create a thread / task as well as its stack space

Logging System

A logging system is already implemented into each component, and is expected to be used to build the project.
Message levels:
* Verbose
* Debug
* Informational
* Warning
* Error

ESP-IDF Installation

Visual Studio Code works well, with an ESP-IDF extension, to setup, build, flash, monitor, and debug a project.
https://docs.espressif.com/projects/esp-idf/en/latest/esp32/get-started/index.html
https://dl.espressif.com/dl/esp-idf/

I'll try to make this install as painless as possible, but many parts and steps are involved...
* ESP-IDF from github - The latest release is 5.0
  I recommend using the "offline" installer.  It provides more installation options.
  I prefer to have the ESP-IDF package install at C:/Espressif
* Python - Used to script many features/functions
* Visual Studio Code
* Visual Studio Code Extension for ESP-IDF
* Build tools

Download Offline Installer

Choose the 5.0 offline installer from the list:   https://dl.espressif.com/dl/esp-idf/
Select Language
Accept Agreement
  At this point, the installer will check your host machine's environment and flag any problems it finds.
  (For many problems, the installer provides a "fix".  "Apply Fixes" if necessary.)
Select installation folder.  I prefer "C:\Espressif"


Frequently Asked Questions

Currently, Google is my best friend.  Just form a search that begins with "ESP-IDF", and you'll find an answer.
https://docs.espressif.com/projects/espressif-esp-faq/en/latest/

Resources

The ESP-IDF environment is TONs of documentation.
https://docs.espressif.com/projects/esp-idf/en/v4.4.3/esp32/get-started/index.html