
micropython
文章平均质量分 86
星星-点灯
大道至简
展开
-
支持LVGL的micropython固件编译(一)
LVGL是一款嵌入式开发比较常用的开源GUI库,lvgl本身采用c以面向对象的方式开发,这种高级特性可以很好的适应高级语言,所以采用python开发也是不错的选择。现在我们就尝试下使用micropython开发lvgl应用。官方对micropython已经做了移植支持,采用pycparser工具将lvgl c源码进行封装出一个中间c文件做为mpy模组接口。lvgl官方github上已经做好了带有移植lvlg的micropython例子,我们直接下载下来编译即可使用。开发环境硬...原创 2021-06-30 20:29:45 · 11597 阅读 · 11 评论 -
CanMV K210工程源码架构
CanMV K210工程源码架构,CanMV 的目的是让 AIOT 编程更简单, 基于 Micropython 语法, 运行在Canan强大的嵌入式AI SOC系列上。目前它在K210上运行。原创 2023-03-15 17:16:08 · 3234 阅读 · 1 评论 -
详述micropython中py代码调用底层c代码流程
详述micropython调用c函数流程原创 2022-10-14 17:12:47 · 2170 阅读 · 1 评论 -
OpenMV IDE通信协议分析
OpenMV IDE通信协议分析原创 2022-06-20 17:58:35 · 1407 阅读 · 0 评论 -
micropython源码分析之c模组注册
micropython源码分析之c模组注册原创 2022-06-07 16:25:21 · 903 阅读 · 0 评论 -
micropython源码分析之qstr
前言最近在研究micropython的源码编译过程,简单记录下关于qstr部分内容。标识符与相应对象的联系Micropython中有很多标识符,例如lcd.py中出现的标识符有:import、lcd、init、print、“hello”。这些标识符最终都需要与某个对象或操作联系起来。那么这种联系是如何建立的呢?那就是通过QSTR。QSTR是uniQue STRing的简称,是一种字符串内存驻留方法。我们知道同一个标识符可能在源代码中出现多次,如果我们在每个出现的地方都要保留一份这个标识符的拷贝,就会原创 2022-05-12 10:41:44 · 2272 阅读 · 3 评论 -
micropython开发lvgl教程
前言为什么要使用micropython来开发lvgl而不是用c?当然在资源非常受限的芯片比如单片机上c开发会是很好的选择,或者对于某些不喜欢mpy解释器特性的也不适合。这些都不是本教程谈论的重点,我们先来看看使用micropython开发起来有何不同。我们先来看看lvgl官网关于这个的介绍:https://docs.lvgl.io/master/get-started/micropython.htmlhttps://blog.lvgl.io/2019-02-20/micropython-bindin原创 2022-01-24 16:06:16 · 11356 阅读 · 2 评论 -
esp32-TTGO使用mpy进行屏幕显示汉字
前言手上有一块吃灰已久的TTGO-esp32开发板,他长这样:于是想拿出来用micropython点个屏玩玩,屏幕驱动IC型号是st7789,giithub查找了一番,发现外国友人已经适配好了驱动,英文字符显示也有了,链接:https://github.com/russhughes/st7789_mpy.git,不过我们想要显示汉字那就得自己动手加上去了。这部分工作我已经适配好了,这里就不展开来讲了。下面详细说说如何显示汉字。汉字库的制作因为esp32存储太小我们自然不会把整个汉字库都放进去,最好原创 2021-12-12 18:21:15 · 3182 阅读 · 13 评论 -
编译esp32s2的micropython固件(二)开启psram与串口repl
通过上一章节 编译esp32s2的micropython固件(一)我们已经可以自己编译esp32s2的micropython固件了,现在就可以加些自己需要的改动了。开启psram增大内存为了能实现更大应用运行,有的人会买带有外部psram的esp32s2模组,具有2M或8M的外置ram以提供更大内存,当然对于玩mpy开发来说内存自然大些更好。言归正传,如何开启psram:打开文件 ports\esp32\boards\GENERIC_S2\mpconfigboard.cmake改成如下内容:set原创 2021-10-15 18:39:50 · 2807 阅读 · 3 评论 -
使用mpy的logging模组记录日志
目录1.前言2.安装使用3.log记录的一些配置3.1Formatter 格式化器1.前言为了记录程序运行过程中的信息,便想着找一个能记录日志文件的模组,在cPython中常用的日志记录模组是logging,但是mpy不一定有,便去mpy官方模组托管库(https://github.com/micropython/micropython-lib.git)查了下,发现已经有了,位于python-stdlib\logging目录中,但是查看源码以及例子发现功能很简单,没有文件记录功能。只好自己手动完善一下了原创 2021-09-08 17:32:04 · 404 阅读 · 0 评论 -
Unix 移植micropython串口使用
目录Unix 端口micropython串口使用1.安装串口模组2.编写代码测试3.增加串口波特率以及超时时间的优化3.1增加波特率3.2优化超时时间Unix 端口micropython串口使用unix端口上mpy作为串口测试工具还是很方便的,前两章我们已经移植好了arm板的linux系统上运行的mpy,没有看过的同学点击下面链接查看,现在来继续学习串口的使用。链接:支持LVGL的micropython固件编译(二)arm板移植1.安装串口模组在python中我们首先会想到安装pyserial,m原创 2021-07-29 14:49:25 · 887 阅读 · 0 评论 -
编译esp32s2的micropython固件(一)
开发环境软件:Ubuntu 18.04虚拟机硬件:esp32s2开发板ubuntu安装编译依赖环境:sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial如果已经安装过了,不会再次安装。另外1.15之后版本mpy依赖cmake,这个后面编译遇到问题再讲。1.下载源码创建工作目录:mkdir workcd work下载mpy源码:git clone https:/原创 2021-07-28 14:18:18 · 4968 阅读 · 2 评论 -
ESP32编译micropython固件
开发环境硬件:ESP32-WROOM-32 开发板软件:Ubuntu 18.04虚拟机1.安装交叉编译工具链所依赖的环境**sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial如果已经安装过了,不会再次安装。2.创建工作目录级设置编译链1.创建工作目录mkdir ~/esp32cd ~/esp322.在官网上下载最新的交叉编译链wgethttps://dl.espressif..原创 2020-09-28 15:41:44 · 2230 阅读 · 0 评论 -
支持LVGL的micropython固件编译(二)arm板移植
开发环境软件:Ubuntu 18.04虚拟机硬件:君正T31开发板,RV1109开发板,Hi3516DV300开发板关于lvgl版本micropython源码下载编译部分上一章已做过讲解,链接:支持LVGL的micropython固件编译(一)1.编译依赖库libffiunix版mpy的源码编译需要依赖libffi,实际上标准cpython在3.7版本之后也是依赖这个的,关于这个的交叉编译再此不在赘述,不会的可以自己去百度,或者查看我之前的一篇文章作为参照:给arm板编译移植pyth原创 2021-07-02 20:43:49 · 5300 阅读 · 4 评论