深入浅出ESP32开发之二ESP-IDF下载、编译与运行

一、ESP-IDF下载

ESP-IDF全称Espressif IoT Development Framework是乐鑫基于ESP32推出的新一代SDK,基于FreeRTOS系统,在上一代SDK基础上做了众多更新和改进,集合了众多组件。支持在Windows、Linux和MacOS下基于ESP-IDF开发。

ESP-IDF源码已托管在github上,可在https://github.com/espressif/esp-idf下载,

在命令行输入git clone --recursive https://github.com/espressif/esp-idf下载,注意git clone必须添加--recursive,否则无法拉取components目录下的全部模块。

下载完成后,我们可以看到ESP-IDF的目录结构如下:

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第1张图片

l components:ESP-IDF的核心组件

l docs:ESP-IDF相关文档

l examples:ESP-IDF提供的示例程序,包括众多外设、Wi-Fi、蓝牙等demo

l make:EPS-IDF工程管理目录

l tools:ESP-IDF提供的工具集

二、编译

ESP-IDF的example目录下提供了众多的示例程序,我们先编译“get-started”下的“hello_world”

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第2张图片

如果直接在该目录下执行make,会提示出错

Makefile:8: /make/project.mk: No such file or directory

make: *** No rule to make target '/make/project.mk'.  Stop.

这是因为Makefile里的变量IDF_PATH没有设置

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第3张图片

这里有2种方法:

方法1:

在当前Demo工程内修改Makefile,添加IDF_PATH=/home/share/samba/espressif/esp-idf,输入的路径为ESP-IDF目录

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第4张图片

这个方法,换个Demo工程就需要手工添加IDF_PATH变量,想要一次性搞定就使用方法2吧。

方法2:

修改/etc/profile文件,添加export IDF_PATH=/home/share/samba/espressif/esp-idf

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第5张图片

并使用source /etc/profile使环境变量生效。

完成以上配置后,执行make命令,第一次执行make命令默认会进入configuration界面。我们可以使用默认设置直接退出。

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第6张图片

make将继续执行编译直至完成。

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第7张图片

本次编译总共生成了3个文件,分别为:

位于build/bootloader目录下的bootloader.bin

位于build目录下的partitions_singleapp.bin

位于build目录下的hello-world.bin

三、开发板下载

我使用的是乐鑫原厂出的基于ESP-WROOM-32模组做的ESP32_Core_borad_V2开发板,自带USB-TTL(CP2102),该开发板类似NodeMCU,可自动进入boot模式,下载程序极其方便。

本次测试没有使用在Ubuntu下下载代码,使用的是在Windows版串口下载程序“ESPFlashDownloadTool_v3.4.4.exe”

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第8张图片

设置完成后,点击“START”后开始下载,进入boot模式后,“Download Panel”将显示各设备的MAC地址。

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第9张图片

四、运行测试

ESP32默认日志通过串口输出,串口波特率设置为:115200

复位开发板后,日志输出串口可看到Hello_world已经正常运行。

深入浅出ESP32开发之二ESP-IDF下载、编译与运行_第10张图片

Demo程序还列出当前ESP32芯片相关信息:

1:当前demo运行于app cpu

2:当前ESP32芯片为双核

3:具有WIFI/BT/BEL功能

4:4MB外部FLASH

你可能感兴趣的:(WIFI)