前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >M5Stack在ubuntu上进行开发编译

M5Stack在ubuntu上进行开发编译

作者头像
bigmagic
发布2020-03-17 14:36:45
8270
发布2020-03-17 14:36:45
举报
文章被收录于专栏:嵌入式iot嵌入式iot

说明

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

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

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

代码语言:javascript
复制
sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial

第二步:创建工作目录

首先创建工程目录

代码语言:javascript
复制
mkdir esp32

接着创建工程子目录

代码语言:javascript
复制
mkdir crossTools demos sources

目录说明

crossTools:交叉编译环境

demos:例程

sources:SDK源代码

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

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

代码语言:javascript
复制
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz

下载完成后解压即可。

代码语言:javascript
复制
tar -zxvf xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz

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

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

修改/etc/profile文件

代码语言:javascript
复制
sudo vim /etc/profile

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

例如:

代码语言:javascript
复制
export PATH=$PATH:/home/bigmagic/work/esp32/crossTools/xtensa-esp32-elf/bin

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

配置完成后source一下环境

代码语言:javascript
复制
source /etc/profile

检查一下是否成功

代码语言:javascript
复制
xtensa-esp32-elf-gcc -v

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

第五步:下载SDK代码

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

代码语言:javascript
复制
git clone --recursive https://github.com/espressif/esp-idf.git

同时设置环境变量

代码语言:javascript
复制
export IDF_PATH=/home/bigmagic/work/esp32/sources/esp-idf

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

最后更新一下环境

代码语言:javascript
复制
source /etc/profile

第六步:编译与配置

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

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

代码语言:javascript
复制
/XXX/esp32/sources/esp-idf/examples/get-started/hello_world

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

进入hello_world文件夹,直接make menuconfig

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

(1)交叉编译工具

(2)设置bootload的打印级别

(3)配置烧写模式

配置完成后即可编译固件

代码语言:javascript
复制
make all -j8

编译完成后可进行烧录

代码语言:javascript
复制
make flash

可能会提示如下的错误

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

将该权限提高即可烧写

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

代码语言:javascript
复制
0x1000 build/bootloader/bootloader.bin
0x10000 hello-world.bin
0x8000 partition_singleapp.bin

启动minicon即可看到

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

总结

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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 嵌入式IoT 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 第一步:安装必要的库文件
  • 第二步:创建工作目录
  • 第三步:交叉编译环境下载
  • 第四步:将编译环境添加至环境变量
  • 第五步:下载SDK代码
  • 第六步:编译与配置
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档