乐鑫开发框架esp-idf介绍
ESP-IDF (Espressif IoT Development Framework)是乐鑫ESP32开发的一套框架,乐鑫所研发的软件开发环境 ESP-IDF 能够帮助用户快速开发物联网 (IoT) 应用,满足用户对于 Wi-Fi、蓝牙、低功耗等性能的需求。框架里面包含很多例程,是入门和进阶ESP32的优秀参考。
乐鑫编译工具链介绍
开发一款芯片的应用程序需要有一套能够编译自己写的应用程序的工具链,类似STM32单片机开发使用keil,keil内部已经集成包好了编译链,不用设置即可使用,写好应用程序,点击编译按钮即可生成可下载到STM32单片机的文件。乐鑫的ESP32不同,他没有类似keil这样的IDE工具,但是官方提供了编译工具链,用户可以使用任何编辑工具(我门使用的是Visual Studio Code),写好应用程序,使用官方提供的编译工具链进行交叉编译,生成可以运行在ESP32上的文件。
Visual Studio Code介绍
Visual Studio Code是微软公司开发的一个编辑工具,有以下特点:
- 轻量级
轻量级的意思是指开发工具占用的空间要小,,以及使用其强大的代码提示功能。
- 跨平台
Windows/Mac/Linux全支持。
搭建环境步骤
如何下载
- 代码编辑工具Visual Studio Code
Visual Studio Code大家可以在微软的官网上根据自身的开发平台下载,下载地址如下所示: Visual Studio Code下载地址
- 开发框架esp-idf
乐鑫的esp-idf包均放在Github上 (尽可能地选择release版本,不要选择尝鲜版本),具体下载地址如下所示: esp32 esp-idf开发包下载地址
- 编译工具链
Visual Studio Code毕竟只是一个轻量级的代码编辑工具,本身是不自带编译工具链的,而且乐鑫ESP32芯片使用的又不是主流的ARM内核,所以还是要使用乐鑫官方指供的工具链才行,具体的下载如下所示: ESP32编译工具链下载地址
如何安装使用
下载完Visual Studio Code和ESP32工具链,那么如何搭建起来开发ESP32呢?其实很简单, ESP32工具链其实已经完成了大部分的设置了,只需要解压就可以直接使用,具体的使用步骤如下所示:
- 安装Visual Studio Code全程Next到底。
- 在自己选择适当的路径下解压ESP32编译工具链 (不要有中文路径,路径尽可能地短) 。
- 在自己选择适当的路径下解压esp-idf开发包 (不要有中文路径,路径尽可能地短)。
- 设置esp-idf开发包的路径:在 esp32_toolchain.sh 增加esp-idf开发包的根目录路径 (export IDF_PATH="D:/ESP32/esp-idf-v3.0") ,路径因不同解压路径不同而不同。 .sh文件,右击用记事本打开。
- 打开Visual Studio Code并将编译工具链的shell嵌入至Visual Studio Code的集成 终端 ,设置的参数 (其中shell的路径因不同解压路径不同而不同),如下所示:
"terminal.integrated.shell.windows": "D:ProjectESP32toolchainesp32_win32_msys2_environment_and_toolchain-20180110msys32msys2_shell.cmd",
"terminal.integrated.shellArgs.windows": ["-defterm", "-mingw32", "-no-start", "-here"]
上面方法找不到可以这样- 使用Visual Studio Code打开esp-idf开发包中的工程示例文件,打开之后,然后同时下Ctrl+`就可以打开嵌入了shell的终端,此时就可以开发您的第一个esp32应用了。
- 接上开发板,使用官方编译链,make menuconfig命令设置工程,需要设置串口下载的串口号(不同人串口号不同)。也可以在Visual Studio Code中make menuconfig设置,不过Visual Studio Code中显示乱码,有解决办法。
- 打开、编译官方hello_world工程
- 经过上面几个步骤,完成ESP32环境搭建工作,美中不足是VScode的make menuconfig乱码和Windows编译速度慢,有解决办法。
更多make指令
终端中输入make help,查看ESP32编译链中的所有make指令。
搭建环境总结
- Windows缺点是编译ESP32工程速度慢(>2分钟),优点是熟悉,软件多。
- Linux和MAC缺点就是开发不习惯,优点是速度快5-10倍,自己考量。
- 我选择Windows,因为编译的时候我要看份报纸喝杯茶,软件多,方便些教程。
- 另外附上优化Windows下编译ESP32的速度的教程,可以折腾下,本人未测。