1、安装准备
根据编译ESP-IDF所需要的软件安装相关的软件包,ubuntu系统下根据如下指令安装,从指令中我们可以看到需要安装的有git,python3等等软件
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
2、获取ESP-IDF
在自己的文件目录下创建文件夹esp32用于存放SDK,命令行进入到该文件夹
cd /home/study/wifi/esp/esp32
2.1、官方给出获取esp-idf的方法(不建议)
git clone -b v4.3.1 --recursive https://github.com/espressif/esp-idf.git
经过测试,以上的方法获取代码的速度非常非常的慢,而且最后还提示了失败,无奈只能另找其他的方法
2.2、从国内码云获取esp-idf的方法
下载gitee工具
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
下载SDK(仅克隆 esp-idf,不包含子模块)
git clone https://gitee.com/EspressifSystems/esp-idf.git
到此,该目录下有两个文件夹了
进入工具目录,执行命令更新子模块
cd esp-gitee-tools
./submodule-update.sh ../esp-idf
下载成功之后,可以删除esp-gitee-tools文件夹,只留下esp-idf即可
rm -rf esp-gitee-tools
3、设置编译代码所用到的工具
需要用的的工具比如有编译器、调试器、Python 包等。
命令行进入esp-idf目录下后,执行以下命令
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh
执行以上脚本,等待脚本执行完成,无报错,工具下载设置完成
4、设置环境变量
执行命令 vim ~/.bashrc
在文件最后添加
alias get_esp32='. /home/study/wifi/esp/esp32/esp-idf/export.sh'
保存退出,执行命令 source ~/.bashrc 使环境变量生效
5、配置工程
5.1、进入hello_world例程目录
cd /home/study/wifi/esp/esp32/esp-idf/examples/get-started/hello_world
5.2、执行命令 get_esp32
5.3、设置当前使用的芯片,这里使用esp32
idf.py set-target esp32
不同型号芯片对应的设置方法
】
5.4、使用菜单配置各项参数
idf.py menuconfig
您可以通过此菜单设置项目的具体变量,包括 Wi-Fi 网络名称、密码和处理器速度等.
6、编译工程
进入hello_world例程目录
cd /home/study/wifi/esp/esp32/esp-idf/examples/get-started/hello_world
执行命令 get_esp32
执行命令 idf.py build 开始编译程序,等待编译结果
运行该命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件。
7、烧录到设备
请使用以下命令,将刚刚生成的二进制文件 (bootloader.bin, partition-table.bin 和 hello_world.bin) 烧录至您的 ESP32 开发板:
idf.py -p PORT [-b BAUD] flash
请将 PORT 替换为 ESP32 开发板的串口名称
您还可以将 BAUD 替换为您希望的烧录波特率。默认波特率为 460800
烧录成功之后您可以使用 idf.py -p PORT monitor 命令,监视 “hello_world” 工程的运行情况。注意,不要忘记将 PORT 替换为您的串口名称
您可以在启动日志和诊断日志之后,看到打印的 “Hello world!” 了。
...
Hello world!
Restarting in 10 seconds...
This is esp32 chip with 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB external flash
Minimum free heap size: 298968 bytes
Restarting in 9 seconds...
Restarting in 8 seconds...
Restarting in 7 seconds...
您可使用快捷键 Ctrl+],退出 IDF 监视器