国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—LVGL应用开发案例

电子说

1.4w人已加入

描述

前  言

本文主要演示基于TLT113-EVM评估板的LVGL官方案例以及应用开发案例,适用开发环境如下。
 

Windows开发环境:Windows 7 64bit、Windows 10 64bit
 

虚拟机:VMware15.5.5

Linux开发环境:Ubuntu18.04.4 64bit

U-Boot:U-Boot-2018.07

Kernel:Linux-5.4.61、Linux-RT-5.4.61

LinuxSDK:T113_Tina5.0-V1.0(Linux)

本文默认基于NAND FLASH配置评估板进行测试,使用USB TO UART0作为调试串口,通过Linux系统启动卡(Micro SD方式)启动系统。

我司提供的文件系统默认已支持LVGL官方案例,案例源码位于LinuxSDK开发包的"platform/thirdparty/gui/lvgl-8/"目录下。

LVGL图 1

LVGL简介

概述

LVGL,全名"Littlev Graphics Library",是一个开源的图形库,主要用于在嵌入式系统上创建图形用户界面(GUI)。它是用C语言编写的,旨在高效和可定制,因此在各种微控制器平台和显示硬件上开发用户界面时备受欢迎。

特性

轻量级:LVGL旨在轻量且高效,适用于资源受限的嵌入式系统,这些系统具有有限的内存和处理能力。

高度可定制:LVGL允许开发人员根据项目要求定制GUI元素的外观和行为。

小部件库:它提供了各种预设计的图形小部件,如按钮、标签、滑块、列表等,以简化交互式用户界面的创建。

事件驱动:LVGL是事件驱动的,这意味着它会响应用户输入和其他事件以触发操作或状态更改。

硬件支持:LVGL支持各种显示和输入硬件,包括不同类型的显示器(TFT、OLED等)和输入设备(触摸屏、按钮等)。

积极的社区:LVGL有一个积极而支持性的社区,为其开发提供了资源并提供开发人员帮助。

跨平台:LVGL可以在各种微控制器平台上使用,适用于各种嵌入式系统。

官方案例演示

本次测试使用HDMI OUT显示,演示LVGL官方案例功能。请通过HDMI线将显示器与评估板HDMI OUT接口连接,并将鼠标与评估板USB1 HOST接口(CON22)连接。

评估板上电启动后,请执行如下命令进行环境配置。

Target# killall Launcher //关闭默认运行的Qt程序

Target# cat /proc/bus/input/devices

Target# ln -s /dev/input/event5 /dev/input/mouse0

LVGL图 2 LVGL图 3

执行如下命令查看程序参数说明。

Target# lv_examples

LVGL图 4

widgets

该案例主要演示如何使用内置的材料主题。执行如下命令,运行widgets案例。

Target# lv_examples 0

LVGL图 5 LVGL图 6 LVGL图 7 LVGL图 8

music

该案例为音乐播放器,音乐播放器演示在LVGL上可创建出类似智能手机般的用户界面。执行如下命令,运行music案例。

Target# lv_examples 1

LVGL图 9 LVGL图 10

benchmark

该案例主要是用于测量LVGL性能或比较不同设置。执行如下命令,运行benchmark案例。

Target# lv_examples 2

LVGL图 11 LVGL图 12

keypad encoder

该案例展示如何处理按钮、下拉列表、滑块、开关和文本输入等。执行如下命令,运行keypad encoder案例。

Target# lv_examples 3

LVGL图 13 LVGL图 14

stress

该案例主要是LVGL的压力测试,该案例包含大量的对象创建、删除、动画和样式使用等操作。执行如下命令,运行stress案例。

Target# lv_examples 4

LVGL图 15 LVGL图 16

lvgl_led_control案例

案例说明

案例功能:程序基于LVGL实现通过显示界面控制LED亮灭的功能。点击按钮可控制LED的亮灭,且界面Label显示LED的亮灭状态。

程序流程如下图所示。

LVGL图 17

案例相关资料位于产品资料“4-软件资料Demoplatform-demoslvgl-demos”目录下,具体说明如下:

LVGL表 1

案例测试

鼠标功能控制

评估板默认支持HDMI显示,本次测试以HDMI显示方式为例进行演示,如需替换为LVDS LCD、MIPI LCD、TFT LCD显示,请替换为对应的可执行程序。请通过HDMI线将显示屏与评估板HDMI OUT接口连接,并将鼠标与评估板USB1 HOST接口(CON22)连接。

将LVGL可执行程序拷贝至评估板文件系统任意目录下,在LVGL可执行程序所在路径下,执行如下命令关闭默认运行的Qt程序并链接鼠标事件。

备注:案例支持鼠标功能(不支持鼠标热拔插)。

Target# killall Launcher

Target# cat /proc/bus/input/devices

Target# ln -s /dev/input/event5 /dev/input/mouse0

LVGL图 18 LVGL图 19

备注:由于LVGL程序代码中设置的事件节点为"/dev/input/mouse0",而鼠标和触摸事件节点不能共同使用,因此使用鼠标和触摸功能需要分别将对应的节点链接至"/dev/input/mouse0"。

LVGL图 20

执行如下命令,可观察到HDMI显示屏显示LED控制界面,可通过鼠标点击界面控制LED亮灭。

Target# ./lvgl_led_control

LVGL图 21 LVGL图 22 LVGL图 23

触摸功能控制

评估板默认支持HDMI显示。如需切换为TFT LCD、LVDS LCD、MIPI LCD等支持触摸功能的显示方式,需替换支持对应显示方式的.fex文件。本次测试使用10.4英寸LVDS显示屏(群创G104XCE-L01)为例。

请将10.4英寸LVDS显示屏(群创G104XCE-L01)与评估板LVDS LCD(显示)、RES TS(触摸)、BACK LIGHT(背光)接口正确连接。

注意:请务必使用我司配套的10.4英寸LVDS显示屏,并按照如下方法进行硬件连接。若采用第三方配件,需仔细核对评估板接口、LVDS显示屏两者线序,否则可能烧毁LVDS显示屏。

LVGL表 2

注意:LVDS显示屏RES TS信号排线的金属触点需朝向触摸转接线的4个凹槽方向,请勿插反。

LVGL图 24

安装完成后,LVDS显示屏与评估板硬件连接如下图所示。

LVGL图 25

请将产品资料“4-软件资料Linux”目录下的“Boot_packageboot_package-AA_BBnandboot_package_lvds_lcd.fex”文件(支持LVDS显示)和“Kernelimagelinux-5.4-[版本号]-[Git系列号]nandboot_lvds_lcd.fex”文件拷贝至评估板文件系统"/root/"目录下,执行如下命令将其固化至Linux系统启动卡。

备注:若为eMMC配置评估板,请使用emmc目录下的boot_package_lvds_lcd.fex文件,且Linux系统启动卡对应设备节点为"/dev/mmcblk1",请注意区分。

Target# dd if=boot_package_lvds_lcd.fex of=/dev/mmcblk0 seek=32800

Target# dd if=boot_package_lvds_lcd.fex of=/dev/mmcblk0 seek=24576

Target# dd if=boot_lvds_lcd.fex of=/dev/mmcblk0p4

Target# sync

Target# reboot

LVGL图 26

请将LVGL程序拷贝至评估板文件系统任意目录下。在LVGL程序所在路径下,执行如下命令,可观察到LVDS显示屏显示LED控制界面,可通过触摸界面控制LED亮灭。

备注:本次测试以LVDS LCD显示方式为例进行演示,如需替换为MIPI LCD、TFT LCD显示,请替换为对应的可执行程序。

Target# cat /proc/bus/input/devices

Target# ln -s /dev/input/event1 /dev/input/mouse0

Target# ./lvgl_led_control_lvds_lcd

LVGL图 27 LVGL图 28 LVGL图 29 LVGL图 30

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分