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

前  言

本文主要演示基于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/"目录下。

图 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

图 2

图 3

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

Target# lv_examples

图 4

widgets

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

Target# lv_examples 0

图 5

图 6

图 7

图 8

music

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

Target# lv_examples 1

图 9

图 10

benchmark

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

Target# lv_examples 2

图 11

图 12

keypad encoder

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

Target# lv_examples 3

图 13

图 14

stress

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

Target# lv_examples 4

图 15

图 16

lvgl_led_control案例

案例说明

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

程序流程如下图所示。

图 17

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

 

案例测试

鼠标功能控制

评估板默认支持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

图 18

图 19

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

图 20

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

Target# ./lvgl_led_control

图 21

图 22

图 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显示屏。

 

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

图 24

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

图 25

请将产品资料“4-软件资料\Linux\”目录下的“Boot_package\boot_package-AA_BB\nand\boot_package_lvds_lcd.fex”文件(支持LVDS显示)和“Kernel\image\linux-5.4-[版本号]-[Git系列号]\nand\boot_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

图 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

图 27

图 28

图 29

图 30

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tronlong创龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值