M5Stack在ubuntu上进行开发编译

亡梦爱人 提交于 2020-12-19 07:03:44

说明

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的开发编译环境更为方便。


本文分享自微信公众号 - 嵌入式IoT(Embeded_IoT)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!