1、环境搭建
1、官方开发环境搭建(必备)
官方开发环境搭建参照乐鑫官网的指南。
搭建完成后,会在电脑的开始菜单里出现一个ESP-IDF命令提示符 ESP-IDF Command Prompt(cmd.exe)
打开ESP-IDF命令提示符,自动添加环境后,将出现以下内容。其中,文件夹路径是我存放esp-idf的路径。
2、搭建VSCODE ESP-IDF插件
使用VSCODE扩展,ESP-IDF Explorer
安装,配置插件,编译链和组件可使用官方工具安装时使用的文件,指定到相应的文件夹下即可。
安装配置完成后,VSCODE的状态栏左侧会出现如下按钮,可选择编译build,下载flash或者监视monitor。
3、搭建VSCODE终端开发环境(推荐使用)
但是,VSCODE的插件在编译时会很慢,甚至会出现卡住在某个阶段无法向下的问题,所以我还是建议用官方的环境去编译。
可以在VSCODE的终端里配置环境路径,使用VSCODE自带的终端编译调试,可省去频繁切换窗口的麻烦。
直接上配置内容,直接粘贴到VSCODE的setting.json里就行了。
"idf.espIdfPathWin": "e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\esp-idf",
"idf.toolsPathWin": "e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif",
"idf.pythonBinPathWin": "e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\python_env\\idf4.1_py3.9_env\\Scripts\\python.exe",
"idf.customExtraPaths": "e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\python_env\\idf4.1_py3.9_env\\Scripts;C:\\Users\\Ha\\AppData\\Local\\Programs\\Python\\Python39;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\xtensa-esp32-elf\\esp-2020r2- 8.2.0\\xtensa-esp32-elf\\bin;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\xtensa-esp32s2-elf\\esp- 2020r2-8.2.0\\xtensa-esp32s2-elf\\bin;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\esp32ulp- elf\\2.28.51-esp-20191205\\esp32ulp-elf- binutils\\bin;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\esp32s2ulp-elf\\2.28.51-esp-20191205\\esp32s2ulp-elf-binutils\\bin;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\cmake\\3.13.4\\bin;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\openocd-esp32\\v0.10.0-esp32-20191114\\openocd-esp32\\bin;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\ninja\\1.9.0;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\idf-exe\\1.0.1;e:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\.espressif\\tools\\ccache\\3.7",
"idf.customExtraVars": "{\"OPENOCD_SCRIPTS\":\"e:\\\\Jimmy\\\\1_Work\\\\26_qLabsNano\\\\2_Code\\\\esp\\\\.espressif\\\\tools\\\\openocd-esp32\\\\v0.10.0-esp32-20191114/openocd-esp32/share/openocd/scripts\",\"IDF_CCACHE_ENABLE\":\"1\"}",
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
"terminal.integrated.shellArgs.windows": [
"E:\\Jimmy\\1_Work\\26_qLabsNano\\2_Code\\esp\\esp-idf\\export.bat"
],
在工程的目录下,右键,通过VSCODE打开文件夹,进入到VSCODE。如果环境配置没有问题,打开VSCODE后调出终端,将显示如下内容
配置环境里的 e:\Jimmy\1_Work\26_qLabsNano\2_Code\esp 是我本地的路径,需根据实际路径做修改,终端上显示的路径也是以实际的路径为准。
2、编译
1、以官方的工具为例
以官方的程序为例,使用cd指令切换到例程的目录下。
cd examples\get-started\hello_world
结果路径如下:
E:\Jimmy\1_Work\26_qLabsNano\2_Code\esp\esp-idf\examples\get-started\hello_world>
使用编译命令,开始编译工程
idf.py build
等待编译成功,如果是第一次编译(全部编译),时间巨长,耐心等待。一定要有耐心,耐心,耐心。
如果等到崩溃,可以试一下取消当前编译任务,然后清空编译,然后重新编译。
执行指令
Ctrl C //取消当前编译任务
idf.py clean //清除编译过程
或者,直接删掉工程下的 /build 文件夹。
如上图所示,便是编译完成了,将提示烧录至芯片。
2、以VSCODE插件为例
安装配置完成后,VSCODE的状态栏左侧会出现如下按钮,可选择编译build,下载flash或者监视monitor。
插件只有一个好处,就是免去敲击命令的过程,直接图形化操作。但是,编译很慢,真的很慢,很容易卡死,经常遇到编译一晚上没有任何动静的。
3、以VSCODE终端开发为例(建议使用)
因为开启终端就自动添加了环境,且切换到了当前的工作目录,所以,无需再切换目录,只需直接执行编译命令即可。命令与官方的命令窗口一致。
使用编译命令,开始编译工程
idf.py build
等待编译成功,如果是第一次编译(全部编译),时间较长,耐心等待。一定要有耐心,耐心,耐心。
如果等到崩溃,可以试一下取消当前编译任务,然后清空编译,然后重新编译。
执行指令
Ctrl C //取消当前编译任务
idf.py clean //清除编译过程
或者,直接删掉工程下的 /build 文件夹。
3、下载烧录与仿真
到上一步时,工程已经编译成功了,接下来便是将代码烧录至芯片里。
从设备管理器中找到当前连接的串口号,本例为COM19。
1、以官方工具为例
执行命令
idf.py -p COM19 flash
烧录完成,显示如上图所示。
执行命令
idf.py -p COM19 monitor
可监视系统运行情况,或者将系统中的print日志打印在命令窗口上。
如要停止系统监视,执行命令
Ctrl C
2、以VSCODE插件为例
图形化操作,点一下就行了,但是不建议使用。
3、以VSCODE终端开发为例(建议使用)
命令与过程与官方的命令窗口操作一致,参照3.1节。
至此,便可以开始开心的开发之旅了。
4、添加文件到工程
本文档以VSCODE作为编辑器,以下所有操作均在VSCODE中完成。
VSCODE是可以在软件内新建文件和新建文件夹的,所以新建的操作都可以在VSCODE中完成。
在新建的文件里编写完代码,要添加到工程去编译,就要涉及到2个文件,一个是CMakeLists.txt,一个是component.mk。
CMakeLists.txt | 用来添加源文件,具体到.c文件 |
---|---|
component.mk | 用来指定源文件路径和头文件路径 |
CMakeLists.txt文件内容及格式如下:
idf_component_register(SRCS "main.c"
"bsp/src/timer/timer.c"
INCLUDE_DIRS ".")
component.mk文件内容及格式如下:
COMPONENT_ADD_INCLUDEDIRS := test/
bsp/
bsp/application/
COMPONENT_SRCDIRS := .
COMPONENT_SRCDIRS += test/
bsp/
bsp/application/
添加完后,执行编译命令即可。