搭建 ESP32 开发环境 —— Hello World

本文详细介绍如何在Ubuntu系统上搭建ESP32的开发环境,包括安装必要的软件、设置工具链、下载SDK以及编译和烧录示例程序。

这里以 Ubuntu 为例,其它系统请参考中文文档:

【安装依赖包】

整个 ESP-IDF 环境需要用到很多软件,例如 git make``python等,因此我们需要先将这些软件预装好。

sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial

虽然需要用到这么多软件,但是只需要这样一条简单的命令,系统自动就会帮我们装好,多方便啊,这就是 Linux 对我的魅力之所在(PS:本人长期使用 Ubuntu 作为自己的工作、生活、娱乐的操作系统)。想一想,如果 windows 需要安装这么多软件,是不是烦都烦死了。

【安装工具链】

64 位操系统和 32 位操作系统所使用的工具链不相同,所以请根据你自己对系统选择对应的方法。

【64 位系统】

乐鑫是默认将工具链安装在 ~/esp/ 目录的,我们也将工具链安装到这里吧。

先创建并进入该目录:

mkdir -p ~/esp
cd ~/esp 

使用 wget 命令下载 64 位的工具链:

wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz

将工具链解压:

tar -xzf xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
### 强迫症,解压后把工具链的压缩包删掉 ###
rm xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz

解压后的工具链位于路径~/esp/xtensa-esp32-elf下面。该目录下面的bin目录就是我们用来编译 ESP-IDF 工程所需的可执行程序。如果要使系统直接能够这些程序,需要将这个bin文件夹路径添加到系统的环境变量PATH中去。这里直接使用echo命令将其添加到脚本文件~/.bashrc中(系统每次启动刚时都会执行这个脚本)。

echo "export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin" >> ~/.bashrc

第一次添加后需要对该脚本执行source ~/.bashrc操作,让该脚本立即生效。今后重启系统后不需要再执行该操作。

【32 位系统】

乐鑫是默认将工具链安装在 ~/esp/ 目录的,我们也将工具链安装到这里吧。

先创建并进入该目录:

mkdir -p ~/esp
cd ~/esp 

使用 wget 命令下载 32 位的工具链:

wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz

将工具链解压:

tar -xzf xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz
### 强迫症,解压后把工具链的压缩包删掉 ###
rm xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz

解压后的工具链位于路径~/esp/xtensa-esp32-elf下面。该目录下面的bin目录就是我们用来编译 ESP-IDF 工程所需的可执行程序。如果要使系统直接能够这些程序,需要将这个bin文件夹路径添加到系统的环境变量PATH中去。这里直接使用echo命令将其添加到脚本文件~/.bashrc中(系统每次启动刚时都会执行这个脚本)。

echo "export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin" >> ~/.bashrc

第一次添加后需要对该脚本执行source ~/.bashrc操作,让该脚本立即生效。今后重启系统后不需要再执行该操作。

【下载ESP-IDF(即SDK)】

ESP-IDF 的全称是 Espressif IoT Development Framework(乐鑫 IoT 开发框架),即我们通常所说的 SDK,它里面提供了丰富的可供我们调用的库和API。

我们直接使用 git 进行 clone:

cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git

注意 clone 后面的参数--recursive,它表示递归克隆该仓库的子仓库,这是一种在开源界非常流行的做法,可以方便地对多个仓库进行控制。如果你是‘老鸟’,在 clone 时没看到这个参数(说明你还只是半老鸟,^_^),也可以使用下面的命令来手动更新该仓库的子模块:

git submodule update --init

ESP-IDF 下载完成后,我们还需要导出环境变量IDF_PATH —— 我们今后在编译自己的工程代码时会使用这个变量来查找 ESP-IDF 所在路径。同样使用echo命令将其追加到脚本文件~/.bashrc的默认(完成后不要忘记执行source ~/.bashrc命令哦)。

echo "export IDF_PATH=~/esp/esp-idf" >> ~/.bashrc

另外,多花几分钟看看 ESP-IDF 目录下的各文件都是干嘛的吧

【编译 Hello world】

ESP-IDF 为我们提供了丰富的 demo 程序,位于路径examples下面。我们这里先试试经典款hello world。进入 hello world 所在目录,然后编译:

cd examples/get-started/hello_world/
make

如果是第一次执行make命令,系统会弹出一个图形配置界面,如下图所示。

这里写图片描述

我们可以通过键盘上的tab键在下面的菜单中进行跳转。当光标跳转到<Exit>菜单后,按下回车键,退出配置菜单,然后系统会自动编译 ESP-IDF 目录下的各个组件以及 hello world 目录下的源码。

编译完成后,我们可以在 hello wolrd 工程所在目录下生成一个 build 文件,用于存放编译过程中生成的临时文件以及最终可以直接烧写到开发板的.bin 文件。此外,系统还会直接在 hello world 工程所在目录生成一个配置文件 sdkconfig,它存放了我们在配置界面所配置的各种值(我们这里没有修改,所以是默认值)。

【烧写程序】

然后用 USB 将开发板与 PC 连接在一起,系统会识别到设备/dev/ttyUSB0

如果你用的是虚拟机,需要在虚拟机上面将该设备从 win 移动到虚拟机中。

我们先修改该设备的权限,然后烧写并监视串口输出:

sudo chmod 777 /det/ttyUSB0
make flash monitor

当然,你也可以根据自己的喜好使用选择串口工具,例如 minicom 等。

然后就看到系统启动消息了,大功告成!!!

ESP32-S3是一款功能强大的微控制器,支持双核处理器、Wi-Fi 和蓝牙等功能。为了开始开发基于ESP32-S3的应用程序,我们需要完成其开发环境搭建。以下是具体的步骤: ### 环境搭建流程 #### 1. 安装必要的工具链 首先需要安装用于编写和编译代码所需的工具链: - **下载并安装 ESP-IDF**:这是Espressif提供的官方框架,专门针对ESP系列芯片设计。 - 前往[ESP-IDF官网](https://docs.espressif.com/projects/esp-idf/en/latest/)获取最新版本,并按照指南设置好路径等信息。 #### 2. 配置开发环境变量 为了让系统能够识别到新安装的各种命令行工具,在操作系统内添加一些关键目录至 PATH 中是非常重要的一步: ```bash export IDF_PATH=~/esp/esp-idf # 根据实际存放位置修改此值 source $IDF_PATH/export.sh # 激活所有必需的功能模块 ``` #### 3. 编辑示例项目或创建自己的工程文件夹结构 从现有的模板起步会更加快速简便: ```bash cd ~/esp # 进入工作区根目录下新建子目录作为测试空间 git clone --recursive https://github.com/espressif/esp-idf.git esp-idf-template cp -r ./esp-idf-template hello_world_project # 将克隆下来的样例复制出来独立保存 ``` #### 4. 设置目标硬件型号及其他选项 进入所建立项目的主目录之后运行 `idf.py set-target` 来指定当前操作适用于哪款设备;对于本教程而言当然是选择 “esp32s3”啦! ```bash cd hello_world_project/ idf.py set-target esp32s3 ``` 然后通过菜单界面进一步自定义其他参数如分区表大小分配情况等等... ```bash idf.py menuconfig ``` 在此过程中可以调整串口号、波特率等相关细节直至满意为止。 #### 5. 构建固件&上传烧录进板卡存储单元 当一切准备就绪以后就可以正式生成最终成品了——即完整的二进制映像文件(.bin)形式。利用简单的几条指令即可轻松搞定全部过程包括下载阶段在内哦~ ```bash idf.py build # 执行构建任务生产出镜像数据包 idf.py flash monitor # 同步将成果传输上去并且打开监控窗口实时观察日志输出内容。 ``` 完成了上述环节后你应该已经成功地让一块全新的ESP32S3单片机运转起来了!接下来就是尽情发挥创意去探索无限可能的世界吧~ ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值