陈工-创龙科技 发表于 2025-7-29 11:08:46

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

前言本文主要演示基于TLT113-EVM评估板的LVGL官方案例以及应用开发案例,适用开发环境如下。
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware15.5.5Linux开发环境:Ubuntu18.04.4 64bitU-Boot:U-Boot-2018.07Kernel:Linux-5.4.61、Linux-RT-5.4.61LinuxSDK:T113_Tina5.0-V1.0(Linux)本文默认基于NAND FLASH配置评估板进行测试,使用USB TO UART0作为调试串口,通过Linux系统启动卡(Micro SD方式)启动系统。我司提供的文件系统默认已支持LVGL官方案例,案例源码位于LinuxSDK开发包的"platform/thirdparty/gui/lvgl-8/"目录下。
https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKkiAMT85AABuNue6Ks8112.png图 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/devicesTarget# ln -s /dev/input/event5 /dev/input/mouse0
https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKluAQN5HAACVnXoZlRM198.png图 2https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKluACT5fAADEWoA2dUM814.png图 3

执行如下命令查看程序参数说明。Target# lv_examples
https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKm-AHO-7AAAQs-Hi_4E877.png图 4
widgets该案例主要演示如何使用内置的材料主题。执行如下命令,运行widgets案例。Target# lv_examples 0
https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKoKAIxCHAAAa4yemxmg682.png图 5https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKoKAcfs2AAYKIDX9UkU723.png图 6https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKoK***9oIAAhZYVfBsNA631.png图 7https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKoKATCBkAAc24RZiVqI116.png图 8
music该案例为音乐播放器,音乐播放器演示在LVGL上可创建出类似智能手机般的用户界面。执行如下命令,运行music案例。Target# lv_examples 1
https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKrGAZk39AAAUDc7uhK0765.png图 9https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKrGAUMm4AAZaliT707Q114.png图 10

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

https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKtCANNjyAAATlnymHIw346.png图 11https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKtGAc1gUAAWJHGuQWiA140.png图 12

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

https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKumAD3ScAA***tZWfSo192.png图 13https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKumAZyL7AAZKUqKR9t0738.png图 14

stress该案例主要是LVGL的压力测试,该案例包含大量的对象创建、删除、动画和样式使用等操作。执行如下命令,运行stress案例。Target# lv_examples 4
https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKvqALUzpAAAUs5B5MJU252.png图 15https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKvqAbNHbAAWfFth7NoI587.png图 16


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

https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKwmAddc2AABBd5oNYnQ560.png图 17
案例相关资料位于产品资料“4-软件资料\Demo\platform-demos\lvgl-demos\”目录下,具体说明如下:https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKxKAeDuhAAAno9oZvpc795.png表 1
案例测试
鼠标功能控制评估板默认支持HDMI显示,本次测试以HDMI显示方式为例进行演示,如需替换为LVDS LCD、MIPI LCD、TFT LCD显示,请替换为对应的可执行程序。请通过HDMI线将显示屏与评估板HDMI OUT接口连接,并将鼠标与评估板USB1 HOST接口(CON22)连接。将LVGL可执行程序拷贝至评估板文件系统任意目录下,在LVGL可执行程序所在路径下,执行如下命令关闭默认运行的Qt程序并链接鼠标事件。备注:案例支持鼠标功能(不支持鼠标热拔插)。Target#killall LauncherTarget#cat /proc/bus/input/devicesTarget#ln -s /dev/input/event5 /dev/input/mouse0

https://file1.elecfans.com/web3/M00/26/C1/wKgZO2iIKx2AbJgjAACwdokEJ7A116.png图 18https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKx2ARSJcAACGFhU_drA979.png图 19

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

https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iIKy-Ac0IcAABL2zORn4g607.png图 20
执行如下命令,可观察到HDMI显示屏显示LED控制界面,可通过鼠标点击界面控制LED亮灭。Target#./lvgl_led_control

https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iIKzmAa1KzAAAJ-7uNgtI174.png图 21
https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIKzmAcLycAAvZIIJ6adM038.png图 22https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iIKzmAcPPGAAnEY011BTM162.png图 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显示屏。
https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiIK1CAO1FdAAB0Y9b2nNE033.png表 2
注意:LVDS显示屏RES TS信号排线的金属触点需朝向触摸转接线的4个凹槽方向,请勿插反。

https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iILDCAUBwsAADY-oNn7y8642.png图 24
安装完成后,LVDS显示屏与评估板硬件连接如下图所示。

https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iILDiAGewqAA1ZugkavNc136.png图 25
请将产品资料“4-软件资料\Linux\”目录下的“Boot_package\boot_package-AA_BB\nand\boot_package_lvds_lcd.fex”文件(支持LVDS显示)和“Kernel\image\linux-5.4-[版本号]-\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=32800Target# dd if=boot_package_lvds_lcd.fex of=/dev/mmcblk0 seek=24576Target# dd if=boot_lvds_lcd.fex of=/dev/mmcblk0p4Target# syncTarget# reboot
https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iILEOAdd9gAAAkVvGGrB***62.png图 26

请将LVGL程序拷贝至评估板文件系统任意目录下。在LVGL程序所在路径下,执行如下命令,可观察到LVDS显示屏显示LED控制界面,可通过触摸界面控制LED亮灭。备注:本次测试以LVDS LCD显示方式为例进行演示,如需替换为MIPI LCD、TFT LCD显示,请替换为对应的可执行程序。Target#cat /proc/bus/input/devicesTarget#ln -s /dev/input/event1 /dev/input/mouse0Target#./lvgl_led_control_lvds_lcd
https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iILE-AdF9uAABkW4YK9Cc930.png图 27https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiILE-ACTxjAAAOHfe_c-E555.png图 28https://file1.elecfans.com/web3/M00/26/B2/wKgZPGiILFCAJTnlAAW_vV4cjqM882.png图 29https://file1.elecfans.com/web3/M00/26/C2/wKgZO2iILE-APWhGAASGpy5rzgM175.png图 30



由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!
页: [1]
查看完整版本: 国产!全志T113-i 双核Cortex-A7@1.2GHz 工业开发板—LVGL应用开发案例