当前位置:首页 > 公众号精选 > 嵌入式IoT

说明

M5Stack开发板内部采用的是ESP32的芯片,所以如果要建立相应的开发环境,可以在ubuntu上搭建ESP32的开发环境。接下来,整理一下M5Stack如何在ubuntu上进行开发编译工作。

第一步:安装必要的库文件

对于esp32的开发,需要依赖一些库。

sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial 

第二步:创建工作目录

首先创建工程目录

mkdir esp32

接着创建工程子目录

mkdir crossTools demos sources

目录说明

crossTools:交叉编译环境

demos:例程

sources:SDK源代码

第三步:交叉编译环境下载

可以到官网上下载xtensa-esp32-elf-linux64-交叉编译环境,也可以用wget在控制台上进行下载。

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

下载完成后解压即可。

tar -zxvf xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz 

第四步:将编译环境添加至环境变量

这一步的作用是可进行全局编译

修改/etc/profile文件

sudo vim /etc/profile

末尾添加自己解压的交叉编译环境的目录

例如:

export PATH=$PATH:/home/bigmagic/work/esp32/crossTools/xtensa-esp32-elf/bin 

其中/home/bigmagic/work/esp32/是我自己电脑上的目录,可以根据自己实际需求修改

配置完成后source一下环境

source /etc/profile

检查一下是否成功

xtensa-esp32-elf-gcc -v

出来如下的画面,表示成功

第五步:下载SDK代码

由于采用的是乐鑫的工具链,所以需要下载SDK,首先下载esp-idf。

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

同时设置环境变量

export IDF_PATH=/home/bigmagic/work/esp32/sources/esp-idf

注意,这里也是需要自己的工作目录,需要进行相应的修改。

最后更新一下环境

source /etc/profile

第六步:编译与配置

有了上述的交叉编译工具,并且有了相应的SDK,那么就可以编译工程了

在demo目录下添加工程文件hello_world,具体的目录在下面的文件中

/XXX/esp32/sources/esp-idf/examples/get-started/hello_world

将该文件夹全部转移到demo目录下

进入hello_world文件夹,直接make menuconfig

需要配置的地方主要有三点

(1)交叉编译工具

(2)设置bootload的打印级别

(3)配置烧写模式

配置完成后即可编译固件

make all -j8

编译完成后可进行烧录

make flash

可能会提示如下的错误

这是因为/dev/ttyUSB0访问权限不够造成

将该权限提高即可烧写

分析串口的烧写过程,实际上是有三个部分

0x1000 build/bootloader/bootloader.bin
0x10000 hello-world.bin
0x8000 partition_singleapp.bin

启动minicon即可看到

此时,表示系统启动并验证成功。

总结

在ubuntu上使用ESP32的开发环境的好处是编译的很快,同时,烧写起来比较方便,但是编辑代码与下载调试不如windows。个人以为,在window上使用vscode+platform IO的开发编译环境更为方便。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
关闭