一、开发环境:Ubuntu 16.04.7 LTS(下载VMware和Ubuntu系统镜像文件进行安装,若有linux环境可跳过此步骤)如下截图我本机安装的虚拟机
二、安装依赖库:
sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial ssh
sudo apt-get install libsdl2-dev
sudo apt-get install libsdl1.2-dev
三、下载lv_micropython源码:
git clone https://gitee.com/l_y_r/lv_micropython.git
下载后进入源码目录如下截图
四、进行unix端口编译,更新子模组(若不更新,代码下好后编译会发现很多报错,很多依赖库找不到)
cd lv_micropython/
git submodule init lib/berkeley-db-1.xx
git submodule init lib/axtls
git submodule init lib/lv_bindings
git submodule update
cd lv_micropython/lib/lv_bindings/
git submodule init lvgl
git submodule init pycparser
git submodule update
cd lv_micropython/lib/lv_bindings/driver/png/
git submodule init lodepng
git submodule update
(执行过程可能会失败,则一直执行至更新成功)
五、修改mpconfigvariant.h文件(支持help('modules')命令)
cd ports/unix/variants/standard目录下,执行vi mpconfigvariant.h命令,添加如下内容:
#define MICROPY_PY_BUILTINS_MEMORYVIEW_ITEMSIZE (1)
#define MICROPY_PY_BUILTINS_NEXT2 (1)
#define MICROPY_PY_BUILTINS_RANGE_BINOP (1)
#define MICROPY_PY_BUILTINS_HELP (1)
#define MICROPY_PY_BUILTINS_HELP_MODULES (1)
截图:
六、编译(先编译mpy-cross工具)
cd lv_micropython
make -C mpy-cross
(再编译nix端口的mpy)
cd lv_micropython
make -C ports/unix/
编译成功后会在ports/unix/目录下生成micropython文件
七、测试
1、执行命令查看micropython版本及模块信息
./ports/unix/micropython
如截图micropython版本v1.18及支持的模块信息
2、打开UI界面测试(可以使用micropython开发lvgl应用)
cd lib/lv_bindings/examples/
vi advanced_demo.py
添加如下代码:
if __name__ == '__main__':
import time
while True:
time.sleep(1)
添加完代码,执行如下命令:
/home/huaquan/lv_micropython/ports/unix/micopython advanced_demo.py
运行效果: