?開發板簡介
創龍科技 TL3576-EVM 是一款基于瑞芯微 RK3576J/RK3576高性能處理器設計的4核ARM Cortex-A72 +4核 ARM Cortex-A53 + ARM Cortex-M0 國產工業評估板,Cortex-A72 核心主頻高達 2.2GHz,Cortex-A53 核心主頻高達 2.0GHz。評估板由核心板和評估底板組成,核心板 CPU、ROM、RAM、電源、晶振、連接器等所有元器件均采用國產工業級方案,國產化率100%。同時,評估底板大部分元器件亦采用國產工業級方案,國產化率約為 99%(按元器件數量占比,數據僅供參考)。核心板經過專業的PCBLayout 和高低溫測試驗證,質量穩定可靠,可滿足各種工業應用環境要求。
評估板硬件資源圖解1
評估板硬件資源圖解2
?
前 言
本文主要基于評估板演示LVGL應用開發案例,適用開發環境如下。
Windows開發環境:Windows 7 64bit、Windows 10 64bit
Linux開發環境:VMware16.2.5、Ubuntu22.04.5 64bit
U-Boot:U-Boot-2017.09
Kernel:Linux-6.1.115
LinuxSDK:LinuxSDK-[版本號](基于rk3576_linux6.1_release_v1.1.0)
LVGL的版本:9.1
本文默認使用USB TO UART0作為調試串口,使用Linux系統啟動卡(即SD啟動卡,Micro SD方式)啟動系統。
我司提供的文件系統默認已支持LVGL官方案例,案例源碼介紹如下。
圖 1
圖 2
LVGL簡介
概述
LVGL(Light and Versatile Graphics Library,輕巧而多功能的圖形庫),是一個免費開源嵌入式圖形庫,主要用于在嵌入式系統上創建圖形用戶界面(GUI)。它是用C語言編寫的,旨在高效和可定制,因此在各種微控制器平臺和顯示硬件上開發用戶界面時備受歡迎。
特性
輕量級:LVGL旨在輕量且高效,適用于資源受限的嵌入式系統,這些系統具有有限的內存和處理能力。
高度可定制:LVGL允許開發人員根據項目要求定制GUI元素的外觀和行為。
小部件庫:它提供了各種預設計的圖形小部件,如按鈕、標簽、滑塊、列表等,以簡化交互式用戶界面的創建。
事件驅動:LVGL是事件驅動的,這意味著它會響應用戶輸入和其他事件以觸發操作或狀態更改。
硬件支持:LVGL支持各種顯示和輸入硬件,包括不同類型的顯示器(TFT、OLED等)和輸入設備(觸摸屏、按鈕等)。
積極的社區:LVGL有一個積極而支持性的社區,為其開發提供了資源并提供開發人員幫助。
跨平臺:LVGL可以在各種微控制器平臺上使用,適用于各種嵌入式系統。
更多詳情請查看:LVGL — Light and Versatile Embedded Graphics Library、LVGL Forum - Q&A about LVGL。
LVGL案例演示
案例說明
案例功能:程序基于LVGL實現通過button控件控制LED燈亮滅以及label控件顯示LED燈的亮滅狀態。
程序原理:
基于LVGL框架。
通過創建按鈕,設置點擊事件,調用回調函數,控制LED1、LED2的亮滅。
使用label來顯示顏色及文本表示LED1、LED2的亮滅狀態。
程序流程如下圖所示。
圖?3
案例相關資料位于產品資料“4-軟件資料Demoplatform-demoslvgl-demos”目錄下,具體說明如下:
案例測試
本案例使用HDMI顯示屏進行演示,請使用HDMI線將HDMI顯示屏與評估板HDMI OUT接口連接,同時將鼠標與評估板USB2.0 HOST(USB2)雙層任一接口連接。
輸入設備配置
通過設置LV_INPUT_EVENT_ID環境變量可以指定程序使用哪種輸入設備,輸入設備可為鼠標或觸摸屏。
評估板上電啟動后,請執行如下命令查看輸入事件。
Target# evtest
圖 4
根據打印信息可知,"/dev/input/event11"為鼠標事件。
請執行如下命令,設置LV_INPUT_EVENT環境變量,指定程序的輸入設備,本次命令以指定觸摸事件為例。
Target# export LV_INPUT_EVENT_ID=11
備注:LV_INPUT_EVENT_ID=11表示設置輸入事件路徑為"/dev/input/event11"。
圖 5
顯示設備配置
通過設置LV_INPUT_EVENT_ID環境變量可以指定程序使用何種顯示設備。
評估板上電啟動后,請執行如下命令查看顯示設備的CONNECTOR_ID。
Target# modetest
圖 6
根據打印信息可知,HDMI對應的CONNECTOR_ID為180。執行如下命令,設置LV_INPUT_EVENT環境變量指定程序的顯示設備,本次命令以指定HDMI顯示為例。
Target# export LV_DRM_CONNECTOR_ID=180
備注:LV_DRM_CONNECTOR_ID=180:表示設置CONNECTOR_ID為180。
圖 7
完成輸入設備、顯示設備的配置后,請將案例bin目錄下的可執行程序拷貝至評估板文件系統任意目錄下,在可執行程序所在路徑下,執行如下命令,運行程序。可觀察到HDMI顯示屏顯示LED控制界面,可通過鼠標點擊界面控制LED亮滅。
Target# LV_DRM_CONNECTOR_ID=180 LV_INPUT_EVENT_ID=11 ./lvgl_led_control
圖 8
圖 9
圖 10
案例編譯
將案例src源碼目錄拷貝至Ubuntu工作目錄下,進入源碼目錄,執行如下命令,修改CMakeLists.txt文件,確保"SDK_PATH"為LinuxSDK安裝路徑,用戶請根據實際情況修改。如下圖所示。
Host# vimCMakeLists.txt
圖 11
修改內容如下:
set(SDK_PATH /home/tronlong/RK3576/rk3576_linux6.1_release)
圖 12
執行如下命令,加載編譯環境。
Host# source /home/tronlong/RK3576/rk3576_linux6.1_release/buildroot/output/rockchip_rk3576/host/environment-setup
圖 13
執行如下命令,創建編譯目錄并編譯,編譯完成將會在同一個目錄下生成可執行程序。
Host# mkdir build
Host# cd build
Host# cmake ..
Host# make
圖 14
由于篇幅過長等原因,部分內容均不逐一展示,如需獲取完整版詳細資料,請關注創龍科技微信公眾號或官網,或者評論區留言,感謝您的支持!
審核編輯 黃宇
-
嵌入式
+關注
關注
5144文章
19584瀏覽量
315942 -
開發板
+關注
關注
25文章
5602瀏覽量
103312 -
rk3576
+關注
關注
1文章
162瀏覽量
630
發布評論請先 登錄
評論