ESP-IDF
Toolchain
ESP-IDF
Reference
Windows Setup Guide
- Download Mwing from here https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20180110.zip
- Unzip to C: should work like c:\msys32\mingw32.exe, and make dir mkdir -p ~/esp
- Git clone ESP-IDF by commands: cd ~/esp and git clone --recursive https://github.com/espressif/esp-idf.git
- Set PATH: create file export_idf_path.sh at folder C:/msys32/etc/profile.d/, add line export IDF_PATH="C:/msys32/home/user-name/esp/esp-idf", notice to replace the user-name
- Copy code hello_world -> cd ~/esp and cp -r $IDF_PATH/examples/get-started/hello_world .
- Config serial port cd ~/esp/hello_world and make menuconfig, for example config port to COM3 in windows -> Serial flasher config > Default serial port
- make flash or make monitor
Linux Setup Guide
Get start
- create esp folder, and install three parts:
- esp-idf # development framwork
- xtensa-esp32-elf # toolchain
- <myapp-or-anyname> #esp-idf-template example ( turn of wifi, and blink led GPIO4, gpio_set_direction(GPIO_NUM_4, GPIO_MODE_OUTPUT);)
- <.. any other your apps>
- first install all dependencies: sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
Install toolchain and Clone ESP-IDF
Install toolchain
- In esp folder:
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-59.tar.gz unzip toolchain: tar -xzf xtensa*.tar.gz
- latest xtensa file is -> https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz
Install ESP-IDF
- In esp folder: git clone --recursive https://github.com/espressif/esp-idf.git
- init submodules, in esp-idf folder -> git submodule update --init
Set PATH for linux
Set xtensa PATH
- Option 1-directly add PATH to enviornment: export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin
- more details see on http://www.electrodragon.com/w/Category:Linux#PATH
- Verify by command: printenv PATH, it should print
/home/user-name/bin:/home/user-name/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/user-name/esp/xtensa-esp32-elf/bin
Set IDF PATH
- Run a export command for esp-idf and run menu:
export IDF_PATH=~/esp/esp-idf
- and check if it can work by: printenv IDF_PATH
Set both when boot
- nano ~/.bashrc, add two lines at bottom
export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin export IDF_PATH=~/esp/esp-idf
Start project
- clone example template: in esp folder git clone into myapp folder: git clone https://github.com/espressif/esp-idf-template.git myapp
- or copy:
cd ~/esp cp -r $IDF_PATH/examples/get-started/hello_world .
- project folder, config it: make menuconfig
- make and flash with download tool: make flash