玩转ESP32(1):运行Hello World

玩转ESP32(1):运行Hello World

ESP32芯片是乐鑫最新的WIFI+蓝牙低功耗物联网芯片,本教程主要基于官方github资源,目前网上教程不多,有兴趣的可以参考跟着小狂玩ESP32系列。本教程主要基于Ubuntu,Windows环境开发稍有不同,可参考乐鑫官方文档。教程所使用的esp32开发板,只需USB口连接电脑即可。
玩转ESP32(1):运行Hello World_第1张图片
例程主要基于esp32 SDK:esp-idf,后续程序也都基于IDF。

前期准备

安装依赖包

为了编译ESP-IDF,我们首先需要安装以下依赖包:

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

下载ESP32工具链

ESP32工具链是专用于编译esp32的GCC编译器,可以直接通过网站下载:
64位:

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

32位:

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

下载完成后,解压缩到某一目录,例如:

mkdir -p ~/esp
cd ~/esp
tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz

工具链会被提取到~/esp/xtensa-esp32-elf/路径下,然后将xtensa路径更新到~/.bash_profile文件中,增加如下指令:

export PATH=$PATH:$HOME/esp/xtensa-esp32-elf/bin

可以在命令行中输入xtensa然后按tab键查看是否成功添加。

从Github上获取ESP-IDF

可以直接通过gitclone的方式获取ESP-IDF:

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

一定要注意recursive选项,因为esp32的很多库是被封装成submodules的,所以一定要添加这个选项,并确保所有的submodules下载完成,如果下载submodules出现问题,还可以通过如下命令去重新下载:

cd ~/esp/esp-idf
git submodule update –init

此时,ESP-IDF会被下载到~/esp/esp-idf路径下。

运行Hello World

HelloWorld程序在esp-idf的examples/get-started目录下,首先将hello_world目录拷贝到制定目录,在这里,我们在esp目录中创建一个myapp目录用来存放我们的项目:

cd ~/esp
mkdir myapp
cp -r esp-idf/examples/get-started/hello_world myapp

进入myapp文件夹

cd ~/esp/esp-idf

设置我们的编译器

export IDF_PATH=~/esp/esp-idf

配置被烧写的串口:

make menuconfig

其中Serial flasher config是配置串口项,缺省串口号是/dev/ttyUSB0,可根据自己的串口号进行修改。

编译并烧写我们的程序:

make flash

make flash其实是make 和make flash两步合一,只是make的话会只编译而不烧写程序。
如果编译过程中出现could not open port /dev/ttyUSB0,就要在make menuconfig中更改自己的串口号。
烧写完成后,可以使用串口调试工具查看输出,这里我使用了cutecom来查看,正确的输出应该是10s重启一次,打印一下hello_world,如下图所示:

你可能感兴趣的:(esp32)