前 言
本文主要演示基于TLT113-EVM評估板的LVGL官方案例以及應用開發案例,適用開發環境如下。
Windows開發環境:Windows 7 64bit、Windows 10 64bit
虛擬機:VMware15.5.5
Linux開發環境:Ubuntu18.04.464bit
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_examples0
圖 5
圖 6
圖 7
圖 8
music
該案例為音樂播放器,音樂播放器演示在LVGL上可創建出類似智能手機般的用戶界面。執行如下命令,運行music案例。
Target# lv_examples1
圖 9
圖 10
benchmark
該案例主要是用于測量LVGL性能或比較不同設置。執行如下命令,運行benchmark案例。
Target# lv_examples2
圖 11
圖 12
keypad encoder
該案例展示如何處理按鈕、下拉列表、滑塊、開關和文本輸入等。執行如下命令,運行keypad encoder案例。
Target# lv_examples3
圖 13
圖 14
stress
該案例主要是LVGL的壓力測試,該案例包含大量的對象創建、刪除、動畫和樣式使用等操作。執行如下命令,運行stress案例。
Target# lv_examples4
圖 15
圖 16
lvgl_led_control案例
案例說明
案例功能:程序基于LVGL實現通過顯示界面控制LED亮滅的功能。點擊按鈕可控制LED的亮滅,且界面Label顯示LED的亮滅狀態。
程序流程如下圖所示。
圖?17
案例相關資料位于產品資料“4-軟件資料Demoplatform-demoslvgl-demos”目錄下,具體說明如下:
表 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
圖 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顯示屏。
表 2
注意:LVDS顯示屏RES TS信號排線的金屬觸點需朝向觸摸轉接線的4個凹槽方向,請勿插反。
圖 24
安裝完成后,LVDS顯示屏與評估板硬件連接如下圖所示。
圖 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
圖 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
由于篇幅過長等原因,部分內容均不逐一展示,如需獲取完整版詳細資料,請關注創龍科技微信公眾號或官網,或者評論區留言,感謝您的支持!
審核編輯 黃宇
-
開發板
+關注
關注
26文章
6291瀏覽量
118135 -
LVGL
+關注
關注
2文章
124瀏覽量
4567
發布評論請先 登錄
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—Linux系統使用手冊(三)
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—Linux系統使用手冊(二)
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—ARM + DSP、RISC-V核間通信開發案例
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—RISC-V案例開發手冊(上)
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—DSP案例開發手冊
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—MQTT通信協議案例
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—Linux-RT應用開發案例
全國產!瑞芯微 RK3576 ARM 八核 2.2GHz 工業開發板—LVGL應用開發案例
國產!全志T113-i 雙核Cortex-A7@1.2GHz 工業開發板—LVGL應用開發案例
評論