ESP32 SDK开发入门

1、环境搭建

1、官方开发环境搭建(必备)

官方开发环境搭建参照乐鑫官网的指南。

ESP32开发环境官方搭建指南

搭建完成后,会在电脑的开始菜单里出现一个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/                    

添加完后,执行编译命令即可。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值