前 言
本文主要演示基于TLT113-EVM評估板的LVGL官方案例以及應(yīng)用開發(fā)案例,適用開發(fā)環(huán)境如下。
Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit
虛擬機(jī):VMware15.5.5
Linux開發(fā)環(huán)境: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)
本文默認(rèn)基于NAND FLASH配置評估板進(jìn)行測試,使用USB TO UART0作為調(diào)試串口,通過Linux系統(tǒng)啟動(dòng)卡(Micro SD方式)啟動(dòng)系統(tǒng)。
我司提供的文件系統(tǒng)默認(rèn)已支持LVGL官方案例,案例源碼位于LinuxSDK開發(fā)包的"platform/thirdparty/gui/lvgl-8/"目錄下。
圖 1
LVGL簡介
概述
LVGL,全名"Littlev Graphics Library",是一個(gè)開源的圖形庫,主要用于在嵌入式系統(tǒng)上創(chuàng)建圖形用戶界面(GUI)。它是用C語言編寫的,旨在高效和可定制,因此在各種微控制器平臺(tái)和顯示硬件上開發(fā)用戶界面時(shí)備受歡迎。
特性
輕量級:LVGL旨在輕量且高效,適用于資源受限的嵌入式系統(tǒng),這些系統(tǒng)具有有限的內(nèi)存和處理能力。
高度可定制:LVGL允許開發(fā)人員根據(jù)項(xiàng)目要求定制GUI元素的外觀和行為。
小部件庫:它提供了各種預(yù)設(shè)計(jì)的圖形小部件,如按鈕、標(biāo)簽、滑塊、列表等,以簡化交互式用戶界面的創(chuàng)建。
事件驅(qū)動(dòng):LVGL是事件驅(qū)動(dòng)的,這意味著它會(huì)響應(yīng)用戶輸入和其他事件以觸發(fā)操作或狀態(tài)更改。
硬件支持:LVGL支持各種顯示和輸入硬件,包括不同類型的顯示器(TFT、OLED等)和輸入設(shè)備(觸摸屏、按鈕等)。
積極的社區(qū):LVGL有一個(gè)積極而支持性的社區(qū),為其開發(fā)提供了資源并提供開發(fā)人員幫助。
跨平臺(tái):LVGL可以在各種微控制器平臺(tái)上使用,適用于各種嵌入式系統(tǒng)。
官方案例演示
本次測試使用HDMI OUT顯示,演示LVGL官方案例功能。請通過HDMI線將顯示器與評估板HDMI OUT接口連接,并將鼠標(biāo)與評估板USB1 HOST接口(CON22)連接。
評估板上電啟動(dòng)后,請執(zhí)行如下命令進(jìn)行環(huán)境配置。
Target# killall Launcher //關(guān)閉默認(rèn)運(yùn)行的Qt程序
Target# cat /proc/bus/input/devices
Target# ln -s /dev/input/event5/dev/input/mouse0
圖 2
圖 3
執(zhí)行如下命令查看程序參數(shù)說明。
Target# lv_examples
圖 4
widgets
該案例主要演示如何使用內(nèi)置的材料主題。執(zhí)行如下命令,運(yùn)行widgets案例。
Target# lv_examples0
圖 5
圖 6
圖 7
圖 8
music
該案例為音樂播放器,音樂播放器演示在LVGL上可創(chuàng)建出類似智能手機(jī)般的用戶界面。執(zhí)行如下命令,運(yùn)行music案例。
Target# lv_examples1
圖 9
圖 10
benchmark
該案例主要是用于測量LVGL性能或比較不同設(shè)置。執(zhí)行如下命令,運(yùn)行benchmark案例。
Target# lv_examples2
圖 11
圖 12
keypad encoder
該案例展示如何處理按鈕、下拉列表、滑塊、開關(guān)和文本輸入等。執(zhí)行如下命令,運(yùn)行keypad encoder案例。
Target# lv_examples3
圖 13
圖 14
stress
該案例主要是LVGL的壓力測試,該案例包含大量的對象創(chuàng)建、刪除、動(dòng)畫和樣式使用等操作。執(zhí)行如下命令,運(yùn)行stress案例。
Target# lv_examples4
圖 15
圖 16
lvgl_led_control案例
案例說明
案例功能:程序基于LVGL實(shí)現(xiàn)通過顯示界面控制LED亮滅的功能。點(diǎn)擊按鈕可控制LED的亮滅,且界面Label顯示LED的亮滅狀態(tài)。
程序流程如下圖所示。
圖?17
案例相關(guān)資料位于產(chǎn)品資料“4-軟件資料Demoplatform-demoslvgl-demos”目錄下,具體說明如下:
表 1
案例測試
鼠標(biāo)功能控制
評估板默認(rèn)支持HDMI顯示,本次測試以HDMI顯示方式為例進(jìn)行演示,如需替換為LVDS LCD、MIPI LCD、TFT LCD顯示,請?zhí)鎿Q為對應(yīng)的可執(zhí)行程序。請通過HDMI線將顯示屏與評估板HDMI OUT接口連接,并將鼠標(biāo)與評估板USB1 HOST接口(CON22)連接。
將LVGL可執(zhí)行程序拷貝至評估板文件系統(tǒng)任意目錄下,在LVGL可執(zhí)行程序所在路徑下,執(zhí)行如下命令關(guān)閉默認(rèn)運(yùn)行的Qt程序并鏈接鼠標(biāo)事件。
備注:案例支持鼠標(biāo)功能(不支持鼠標(biāo)熱拔插)。
Target# killall Launcher
Target# cat /proc/bus/input/devices
Target# ln -s /dev/input/event5/dev/input/mouse0
圖 18
圖 19
備注:由于LVGL程序代碼中設(shè)置的事件節(jié)點(diǎn)為"/dev/input/mouse0",而鼠標(biāo)和觸摸事件節(jié)點(diǎn)不能共同使用,因此使用鼠標(biāo)和觸摸功能需要分別將對應(yīng)的節(jié)點(diǎn)鏈接至"/dev/input/mouse0"。
圖 20
執(zhí)行如下命令,可觀察到HDMI顯示屏顯示LED控制界面,可通過鼠標(biāo)點(diǎn)擊界面控制LED亮滅。
Target# ./lvgl_led_control
圖 21
圖 22
圖 23
觸摸功能控制
評估板默認(rèn)支持HDMI顯示。如需切換為TFT LCD、LVDS LCD、MIPI LCD等支持觸摸功能的顯示方式,需替換支持對應(yīng)顯示方式的.fex文件。本次測試使用10.4英寸LVDS顯示屏(群創(chuàng)G104XCE-L01)為例。
請將10.4英寸LVDS顯示屏(群創(chuàng)G104XCE-L01)與評估板LVDS LCD(顯示)、RES TS(觸摸)、BACK LIGHT(背光)接口正確連接。
注意:請務(wù)必使用我司配套的10.4英寸LVDS顯示屏,并按照如下方法進(jìn)行硬件連接。若采用第三方配件,需仔細(xì)核對評估板接口、LVDS顯示屏兩者線序,否則可能燒毀LVDS顯示屏。
表 2
注意:LVDS顯示屏RES TS信號排線的金屬觸點(diǎn)需朝向觸摸轉(zhuǎn)接線的4個(gè)凹槽方向,請勿插反。
圖 24
安裝完成后,LVDS顯示屏與評估板硬件連接如下圖所示。
圖 25
請將產(chǎn)品資料“4-軟件資料Linux”目錄下的“Boot_packageboot_package-AA_BBnandboot_package_lvds_lcd.fex”文件(支持LVDS顯示)和“Kernelimagelinux-5.4-[版本號]-[Git系列號]nandboot_lvds_lcd.fex”文件拷貝至評估板文件系統(tǒng)"/root/"目錄下,執(zhí)行如下命令將其固化至Linux系統(tǒng)啟動(dòng)卡。
備注:若為eMMC配置評估板,請使用emmc目錄下的boot_package_lvds_lcd.fex文件,且Linux系統(tǒng)啟動(dòng)卡對應(yīng)設(shè)備節(jié)點(diǎn)為"/dev/mmcblk1",請注意區(qū)分。
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程序拷貝至評估板文件系統(tǒng)任意目錄下。在LVGL程序所在路徑下,執(zhí)行如下命令,可觀察到LVDS顯示屏顯示LED控制界面,可通過觸摸界面控制LED亮滅。
備注:本次測試以LVDS LCD顯示方式為例進(jìn)行演示,如需替換為MIPI LCD、TFT LCD顯示,請?zhí)鎿Q為對應(yīng)的可執(zhí)行程序。
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
由于篇幅過長等原因,部分內(nèi)容均不逐一展示,如需獲取完整版詳細(xì)資料,請關(guān)注創(chuàng)龍科技微信公眾號或官網(wǎng),或者評論區(qū)留言,感謝您的支持!
審核編輯 黃宇
-
開發(fā)板
+關(guān)注
關(guān)注
26文章
6358瀏覽量
119612 -
LVGL
+關(guān)注
關(guān)注
3文章
127瀏覽量
4645
發(fā)布評論請先 登錄
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—雙屏異顯方案演示
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux系統(tǒng)使用手冊(三)
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux系統(tǒng)使用手冊(二)
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—視頻開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—ARM + FPGA通信案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—ARM + DSP、RISC-V核間通信開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—RISC-V案例開發(fā)手冊(上)
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—DSP案例開發(fā)手冊
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—物聯(lián)網(wǎng)模塊開發(fā)案例(上)
【創(chuàng)龍TLT113-MiniEVM開發(fā)板試用體驗(yàn)】開箱評測
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—GDB程序調(diào)試方法說明
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—IgH EtherCAT主站開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—MQTT通信協(xié)議案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—Linux-RT應(yīng)用開發(fā)案例
全國產(chǎn)!瑞芯微 RK3576 ARM 八核 2.2GHz 工業(yè)開發(fā)板—LVGL應(yīng)用開發(fā)案例
國產(chǎn)!全志T113-i 雙核Cortex-A7@1.2GHz 工業(yè)開發(fā)板—LVGL應(yīng)用開發(fā)案例
評論