lv_micropython for ESP32-C3

一、开发平台说明

硬件:立创·实战派ESP32-C3开发板。处理器ESP32-C3(内置400KB SRAM),无内置FLASH,2.0寸液晶(液晶驱动IC:ST7789,触屏驱动IC:FT6336),下载口UART0。

ESP32-C3 MicroPython固件:MicroPython - Python for microcontrollers,这是官方编译的,可以直接用。

开发工具:在windows系统上安装了VMware虚拟机,在VMware虚拟机中安装了ubuntu18系统。

二、编译ESP32-C3 + LVGL

        上一篇博客讲了如何下载及编译lv_micropython,编译ESP32-C3+LVGL还需要下载ESP-IDF,当前最新版是v5.2.0,但是MicroPython最大支持到**v4.4** ,所以下载esp-idf v4.4。lv_micropython/ports/esp32的README.md有相关说明,如下:

说明文档:micropython/ports/esp32/README.md at master · micropython/micropython · GitHub

1、下载ESP-IDF

 进入ubuntu系统,启动终端,cd到存放源码的目录。

克隆esp-idf v4.4:

git clone -b v4.4 https://github.com/espressif/esp-idf.git

更新其子模块: 

$ cd esp-idf
$ git submodule update --init --recursive
2、编译固件

安装编译工具、配置环境变量 :

$ ./install.sh all

会在$HOME路径下创建.espressif文件夹存放工具,这个过程大约需要十分钟。install.sh只需要执行一次。执行成功会出现如下提示:

如果提示permit相关的问题,则在指令前加上sudo;如果提示pip相关的问题,请看“遇到问题章节”问题1。

导入编译相关的环境变量:

$ source export.sh

 设置IDF_TARGET:

export IDF_TARGET=esp32c3

设置目标芯片为esp32c3。 

每次打开命令窗口都需要执行一次 source export.sh。执行成功会出现如下提示:

从esp-idf目录离开,进入lv_micropython目录:

$ cd ..
$ cd lv_micropython

我把esp-idf和lv_micropython下载到同一个路径的。

编译mpy-cross: 

make -C mpy-cross

如果之前编译过mpy-cross,就不用再编译了。 

编译 esp-idf和lv_micropython:

$ make -C ports/esp32 submodules
$ make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16" BOARD=GENERIC_C3

如果提示更高版本的cmake,请看“遇到问题章节”问题2。 

三、遇到问题

问题1

执行sudo ./install.sh all命令时,出现以下错误提示:

意思是没有找到pip,但是通过pip -V指令能查询已安装pip。

在网上一番搜索后,有网友之前也遇到了这个问题,并提供了解决办法。如下所述:

解决方法:

进入~/.espressif/python_env/idf5.2_py3.8_env/lib/python3.8/site-packages目录,下载pip,安装pip:

$ cd ~/.espressif/python_env/idf5.2_py3.8_env/lib/python3.8/site-packages
$ sudo curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
$ sudo ~/.espressif/python_env/idf5.2_py3.8_env/bin/python3 get-pip.py 

然后再次执行sudo ./install.sh all就可以了。

问题2

执行make -C ports/esp32 LV_CFLAGS="-DLV_COLOR_DEPTH=16" BOARD=GENERIC_C3命令时,出现以下错误提示:

解决方法:

进入~/Downloads,下载当前最新的cmake-3.29.2.tar.gz:

$ cd cd ~/Downloads/
$ wget https://cmake.org/files/LatestRelease/cmake-3.29.2.tar.gz

解压到当前目录:

$ tar -xvzf cmake-3.29.2.tar.gz

解压之后此路径下会有一个cmake-3.29.2文件夹。

进入到cmake目录:

$ cd cmake-3.29.2/

配置:

$ chmod 777 ./configure
./configure

编译:

make

安装:

sudo make install

 执行过程如下:

将cmake安装到/usr/local/bin目录下。

将cmake链接到cmake3.29:

$ sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force

 查询cmake版本:

$ cmake --version
cmake version 3.29.2

至此,cmake已升级到3.29.2。

问题3

编译 esp-idf和lv_micropython时,出现以下错误提示:

esp-idf与mycropython版本不匹配。

解决方案:

将esp-idf版本切换到v4.4:

$ cd esp-idf
$ git checkout v4.4
$ git submodule update --init --recursive

 删除~/.espressif:

rm -rf $HOME/.espressif

重新安装工具:

$ ./install.sh all

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/813105.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络的起源与发展历程

文章目录 前言时代背景ARPANET 的诞生TCP/IP 协议簇与 Internet 的诞生HTTP 协议与 Web 世界结语 前言 在当今数字化时代,计算机网络已经成为我们生活中不可或缺的一部分。无论是在家庭、学校、还是工作场所,我们都能感受到网络的巨大影响。随着互联网的…

c++ 中文转拼音的封装, char 类型 不支持 中文 已解决

在日常业务中&#xff0c;需要进行中文转拼音的检索。已便实现对应的 模糊搜索。 使用方法 std::string res "我是中国人";char* result new char[res.length() 1];for (int i 0; i < res.length(); i){result[i] res[i];}result[res.length()] \0;std::str…

【C++第三阶段】vector容器

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 构造函数赋值操作容量和大小插入和删除数据存取互换容器预留空间 构造函数 vector函数是常用数据结构&#xff0c;见于刷题网站。 它是单端数组&#xff0c;与普通数组区别在于可以…

【Linux】基础IO----理解缓冲区

> 作者&#xff1a;დ旧言~ > 座右铭&#xff1a;松树千年终是朽&#xff0c;槿花一日自为荣。 > 目标&#xff1a;理解缓冲区 > 毒鸡汤&#xff1a;有些事情&#xff0c;总是不明白&#xff0c;所以我不会坚持。早安! > 专栏选自&#xff1a;Linux初阶 > 望…

Aritest+python+Jenkins解放双手iOS/Android自动化

ARITest、Python 和 Jenkins 可以结合在一起创建一个自动化测试解决方案&#xff0c;实现持续集成和持续测试的目标。以下是三者如何协同工作的基本概念&#xff1a; 1. **ARITest**&#xff1a; ARITest 是一款功能全面的自动化测试工具&#xff0c;提供 UI 自动化、接口自…

php中session相关知识(目前了解部分)

#记录学习知识 一.ini_set() 在PHP中&#xff0c;ini_set() 函数用于在脚本运行时设置指定的配置选项的值。这些配置选项可以是PHP的核心设置&#xff0c;例如文件上传的最大大小、脚本的最大执行时间、错误报告级别等。使用 ini_set() 可以临时改变PHP.ini文件中的设置&am…

独立服务器,数据安全保障:WorkPlus即时通讯为企业信息安全把关

随着手机普及率的不断增加&#xff0c;即时通讯已经成为了企业内部沟通的重要方式。WorkPlus作为一家领先的企业级即时通讯服务商&#xff0c;提供了全方位的即时通讯解决方案&#xff0c;助力企业实现沟通无障碍、协作高效率的目标。 WorkPlus提供了多样化的即时通讯功能&…

轻松解锁销售利润!使用淘宝商品关键词搜索API接口

随着电商行业的快速发展&#xff0c;如何提高销售利润成为了卖家们的关注焦点。淘宝商品关键词搜索API接口提供了一种高效的方式来帮助卖家们找到最适合的商品关键词&#xff0c;提高商品曝光率和销售量。联讯数据将全面介绍淘宝商品关键词搜索API接口的用途、优势以及如何使用…

蓝桥杯模拟赛题——魔法失灵了——toRefs()

目标 找到 index.html 中 TODO 部分&#xff0c;正确修复代码使 data 对象恢复响应式特性&#xff0c;即点击页面上的 - 与 按钮可以改变 value 的值。正确实现后效果如下&#xff1a; 题解 value是reactive 利用toRefs; toRefs() 函数可以将 reactive() 创建出来的响应式对象…

数据结构之单链表的相关知识点及应用

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构 目录 链表的概念及结构 链表与顺序表的区别与优劣势 链表的分类 单链表的实现 单链表中增加节点 单链表中尾插数据 打印单链…

《零基础入行IT:步步为营的转型攻略与实践策略》

在信息化社会&#xff0c;IT行业以其强劲的发展势头、广阔的就业前景和丰厚的薪酬待遇&#xff0c;吸引了无数希望转行或初入职场人士的目光。然而&#xff0c;对于毫无相关背景知识的人来说&#xff0c;如何成功叩开IT行业的大门&#xff0c;似乎是一项颇具挑战性的任务。本文…

SSH和交换机端口安全概述

交换机的安全是一个很重要的问题&#xff0c;因为它可能会遭受到一些恶意的攻击&#xff0c;例如MAC泛洪攻击、DHCP欺骗和耗竭攻击、中间人攻击、CDP 攻击和Telnet DoS 攻击等&#xff0c;为了防止交换机被攻击者探测或者控制&#xff0c;必须采取相应的措施来确保交换机的安全…

visual studio 2017开发QT框架程序

1. 配置开发环境 首先创建项目 进入到项目后&#xff0c;右键点击项目点击属性&#xff0c;配置如下&#xff1a;

【bash自动补全原理】

1 bash自动补全原理 1&#xff09;自动补全依赖于bash的内置命令complete、compgen、和/etc/bash_completioin.d路径下的自动补全脚本。补齐功能可以通过脚本指定命令参数如何补齐。默认补全脚本在/etc/bash_completion.d目录下。 2&#xff09;一般系统中会安装bash-complet…

所谓成长,从走出舒适区,做有挑战的事开始。

哈喽,你好啊,我是雷工! 史蒂夫乔布斯曾说过:“只有走出舒适区,才能发现更好地自己。” 01 度娘的掉队危机 曾经遇事不决问百度,百度,阿里巴巴,腾讯作为国内三家顶级的互联网公司被大家称为BAT三巨头。 后来百度的存在感越来越低,遇到问题也不仅仅去百度,而是会去抖…

Window11的CUDA 和CUDNN的安装

确定自己电脑的英伟达驱动版本 打开英伟达的控制面板:确定自己的版本,安装的CUDA和CUDNN不能超过这个版本 下载CUDA (我个人安装的是CUDA12)CUDA12的下载网址 下载网址 下载到安装包之后,直接点击就可以完成安装: 完成之后会有个文件夹:

linux上使用redis-cli登录以及操作redis

1、找到redis-cli 2、输入redis-cli回车 3、登录redis 输入auth密码 4、登录成功

2024年第十七届“认证杯”数学中国数学建模网络挑战赛C题思路

C题 云中的海盐 巴黎气候协定提出的目标是:在 2100 年前,把全球平均气温相对于工业革命以前的气温升幅控制在不超过2摄氏度的水平,并为1.5摄氏度而努力。但事实上,许多之前的研究已经指出,全球的碳排放以及气温升温的前景都无法达到这一预期标准。而且传统的减排措施的实…

stm32 之SPI通信协议

本文为大家介绍 SPI 通信协议的基础知识。 文章目录 前言一、SPI协议的概念二、SPI总线架构三、SPI通讯时序1. 起始&#xff0c;停止 信号2.CPOL&#xff08;时钟极性&#xff09;/CPHA&#xff08;时钟相位&#xff09; 四&#xff0c; I2C 总线 和SPI 总线比较相同点&#xf…

Elastic 线下 Meetup 将于 2024 年 4 月 27 号在重庆举办

2024 Elastic Meetup 重庆站活动&#xff0c;由 Elastic、新智锦绣联合举办&#xff0c;现诚邀广大技术爱好者及开发者参加。 活动时间 2024年4月27日 13:30-18:00 活动地点 中国重庆 沙坪坝区学城大道62-1号研发楼一期b3栋1楼(瑞幸咖啡旁&#xff09; 活动流程 14:00-14:50…