0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

LVGL案例分享--手把手教你移植到T113-i國產(chǎn)工業(yè)開發(fā)板

Rice嵌入式開發(fā)技術(shù)分享 ? 來源:Rice嵌入式 ? 作者:Rice嵌入式 ? 2023-11-08 08:38 ? 次閱讀

市面上有許多嵌入式GUI庫可供選擇,包括開源GUI庫和閉源GUI庫,開源GUI庫:LVGL,EmWin等;閉源GUI庫:TouchGFX,柿餅GUI等。

本次開發(fā)教程的測試板卡來自創(chuàng)龍科技的TLT113-EVM國產(chǎn)工業(yè)評估板,基于全志科技T113-i雙核ARM Cortex-A7 + 玄鐵C906 RISC-V + HiFi4 DSP異構(gòu)多核處理器設(shè)計,ARM Cortex-A7處理器單元主頻高達(dá)1.2GHz。

評估板由核心板和評估底板組成,核心板CPU、ROM、RAM電源、晶振等所有元器件均采用國產(chǎn)工業(yè)級方案,國產(chǎn)化率100%。同時,評估底板大部分元器件亦采用國產(chǎn)工業(yè)級方案。核心板經(jīng)過專業(yè)的PCB Layout和高低溫測試驗(yàn)證,穩(wěn)定可靠,可滿足各種工業(yè)應(yīng)用環(huán)境。

2f43f97e-7dcf-11ee-b3e3-92fbcf53809c.jpg

T113-i國產(chǎn)工業(yè)評估板硬件資源圖解

此外,T113-i國產(chǎn)工業(yè)開發(fā)板的接口資源豐富,能夠支持引出雙路網(wǎng)口、雙路CAN、雙路USB、雙路RS485、RS232通信接口,同時引出LVDS LCD、TFT LCD、MIPI LCD、HDMI OUT、CVBS IN/OUT、LINE IN、MIC IN、H/P OUT等音視頻多媒體接口,板載WIFI、4G(選配)模塊,支持1080P@60fps JPEG/MJPEG視頻硬件編碼,支持4K@30fps H.265、4K@24fps H.264視頻硬件解碼,方便用戶快速進(jìn)行產(chǎn)品方案評估與技術(shù)預(yù)研。

獲取詳細(xì)的T113-i規(guī)格書等資料

可長按二維碼識別下載

2f7aaf6e-7dcf-11ee-b3e3-92fbcf53809c.png

本篇文章主要描述如何將LVGL8.1移植到創(chuàng)龍科技的T113-i開發(fā)板上。

LVGL

  1. LVGL,全名“Littlev Graphics Library”,是一個開源的圖形庫,主要用于在嵌入式系統(tǒng)上創(chuàng)建圖形用戶界面(GUI)。它是用C語言編寫的,旨在高效和可定制,因此在各種微控制器平臺和顯示硬件上開發(fā)用戶界面時備受歡迎。

  2. LVGL的特性

  • 輕量級:LVGL旨在輕量且高效,適用于資源受限的嵌入式系統(tǒng),這些系統(tǒng)具有有限的內(nèi)存和處理能力。
  • 高度可定制:LVGL允許開發(fā)人員根據(jù)項目要求定制GUI元素的外觀和行為。
  • 小部件庫:它提供了各種預(yù)設(shè)計的圖形小部件,如按鈕、標(biāo)簽、滑塊、列表等,以簡化交互式用戶界面的創(chuàng)建。
  • 事件驅(qū)動:LVGL是事件驅(qū)動的,這意味著它會響應(yīng)用戶輸入和其他事件以觸發(fā)操作或狀態(tài)更改。
  • 硬件支持:LVGL支持各種顯示和輸入硬件,包括不同類型的顯示器(TFT、OLED等)和輸入設(shè)備(觸摸屏、按鈕等)。
  • 積極的社區(qū):LVGL有一個積極而支持性的社區(qū),為其開發(fā)提供了資源并提供開發(fā)人員幫助。
  • 跨平臺:LVGL可以在各種微控制器平臺上使用,適用于各種嵌入式系統(tǒng)。
  1. LVGL的開源鏈接:https://github.com/lvgl
2f971352-7dcf-11ee-b3e3-92fbcf53809c.jpg

LVGL移植

下載源碼倉庫

  1. lvgl代碼下載鏈接:https://github.com/lvgl/lvgl/archive/refs/tags/v8.1.0.tar.gz
  2. lv_demos代碼下載鏈接:https://github.com/lvgl/lv_demos/archive/refs/tags/v8.1.0.tar.gz
  3. lv_drivers代碼卸載鏈接:https://github.com/lvgl/lv_drivers/archive/refs/tags/v8.1.0.tar.gz
  4. lv_port_linux_frame_buffer代碼卸載鏈接:https://github.com/lvgl/lv_port_linux_frame_buffer.git,通過git clone下載,然后切換到v8.2分支

將所有代碼寫在下來之后,代碼目錄如下:

2fbc3cae-7dcf-11ee-b3e3-92fbcf53809c.jpg

源碼文件移植

  1. 創(chuàng)建目錄:lvgl,用于存放我們工程源碼
  2. 將lvgl源碼復(fù)制進(jìn)lvgl目錄下
  3. 將lv_drivers源碼復(fù)制進(jìn)lvgl目錄下
  4. 將lv_demos源碼復(fù)制進(jìn)lvgl目錄下
  5. 從lvgl中復(fù)制lv_conf_template.h到lvgl,并重命名為lv_conf.h
  6. 從lv_drivers中復(fù)制lv_drv_conf_template.h到lvgl,并重命名為lv_drv_conf.h
  7. 從lv_demo中復(fù)制lv_demo_conf_template.h到lvgl,并重命名為lv_demo_conf.h
  8. 從lv_port_linux_frame_buffer中復(fù)制main.c和Makefile到lvgl下

將文件移植完之后,代碼目錄如下:

2fe09112-7dcf-11ee-b3e3-92fbcf53809c.jpg

修改配置文件

  • 修改lv_conf.h,此文件為lvgl的配置文件
  1. 使能lv_conf.h頭文件,將#if 0修改為#if 1
2ff82b24-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 根據(jù)驅(qū)動(可在設(shè)備樹中查看)選擇像素點(diǎn)對應(yīng)像素格式的大小,否則顯示可能亂碼
3012e9b4-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 修改顯存大小
30323e18-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 設(shè)置Tick定時器配置函數(shù)
3038578a-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 查看log,使能LV_USE_LOG,設(shè)置打印的log等級并選擇打印Log的接口
305d15d4-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 測試的樣例中用到不同字號的字體,需要使能用到的字體
308d66e4-7dcf-11ee-b3e3-92fbcf53809c.jpg
  • 修改lv_drv_conf.h,此文件為驅(qū)動配置文件
  1. 使能修改lv_drv_conf.h頭文件,將#if 0修改為#if 1
30b359b2-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 使能LCD顯示:使能USE_FBDEV,路徑設(shè)置成/dev/fb0,根據(jù)板子LCD的實(shí)際情況設(shè)置
30cc19d4-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 使能鼠標(biāo)或者觸摸屏
30e6e6ce-7dcf-11ee-b3e3-92fbcf53809c.jpg
  • 修改lv_demo_conf.h,此文件為測試用例配置文件
  1. 使能修改lv_demo_conf.h頭文件,將#if 0修改為#if 1
3104e976-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 使能LV_USE_DEMO_WIDGETS測試用例
31124954-7dcf-11ee-b3e3-92fbcf53809c.jpg
  • 修改main.c文件,此文件為lvgl程序的主程序
  1. 修改lvgl的demos頭文件
313808b0-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 修改lvgl顯示的分比率,我是采用HDMI屏幕,分辨率為:1920 * 1080
315b9e6a-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 修改鼠標(biāo)的配置,我的鼠標(biāo)的設(shè)備節(jié)點(diǎn)為:/dev/input/event5

317c56f0-7dcf-11ee-b3e3-92fbcf53809c.png

  • 修改Makefile文件,此文件為構(gòu)建工程腳本
  1. 修改構(gòu)建工具鏈路徑,需要選擇T113-i的交叉工具鏈,工具鏈路徑為:xxx/T113-i_v1.0/out/gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/bin/arm-linux-gnueabi-gcc
319c52e8-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 由于工具鏈不支持編譯選項-Wshift-negative-value,直接傷處對應(yīng)編譯選項。
31b7b556-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 因?yàn)闆]有鼠標(biāo)的圖標(biāo)文件,所以把鼠標(biāo)圖標(biāo)的配置注釋掉
31e119a0-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 增加測試樣例的編譯,包含其構(gòu)建腳本
31ed8cda-7dcf-11ee-b3e3-92fbcf53809c.jpg

LVGL編譯驗(yàn)證

  1. 編譯,在lvgl工程目錄下進(jìn)行構(gòu)建,執(zhí)行make命令
3209fee2-7dcf-11ee-b3e3-92fbcf53809c.jpg3239938c-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 編譯完之后,會在當(dāng)前目錄下生成demo可執(zhí)行文件
32624a48-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 驗(yàn)證,我們將可執(zhí)行文件demo拷貝到板子上
327c3142-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 在板子運(yùn)行LVGL實(shí)例
32909a4c-7dcf-11ee-b3e3-92fbcf53809c.jpg
  1. 運(yùn)行結(jié)果:

32aed5a2-7dcf-11ee-b3e3-92fbcf53809c.png

32c067ea-7dcf-11ee-b3e3-92fbcf53809c.png

33050f1c-7dcf-11ee-b3e3-92fbcf53809c.png

總結(jié)

  • lvgl在Linux上的移植是比較簡單快捷的;只需要修改幾個配置文件,即可在目標(biāo)上運(yùn)行,對我們部署UI非常方便。
  • lvgl在T113-i上運(yùn)行整體效果還可以,流暢度整體滿意,適合做一些項目的落地。
  • lvgl的是跨平臺的,所以寫一個應(yīng)用可以多端部署,避免了重復(fù)開發(fā)的過程。
33316f3a-7dcf-11ee-b3e3-92fbcf53809c.jpg

關(guān)于創(chuàng)龍科技

創(chuàng)龍科技(Tronlong)始創(chuàng)于2013年,是國內(nèi)領(lǐng)先的嵌入式產(chǎn)品平臺提供商,業(yè)務(wù)主要涵蓋工業(yè)核心板、工業(yè)評估板、工業(yè)單板機(jī)、項目服務(wù),總部位于廣州科學(xué)城,下設(shè)獨(dú)立運(yùn)營的教儀事業(yè)部,在北京、天津、上海、南京、深圳、西安、成都等地設(shè)有業(yè)務(wù)及技術(shù)服務(wù)中心。

創(chuàng)龍科技10多年來一直專注于ARM、FPGA、DSP異構(gòu)多核技術(shù)開發(fā),堅持“國產(chǎn) + 進(jìn)口”雙引擎產(chǎn)品戰(zhàn)略,是全志、瑞芯微金牌合作伙伴,以及TI、NXP、Xilinx、紫光同創(chuàng)中國官方合作伙伴,為實(shí)時系統(tǒng)、現(xiàn)場總線、物聯(lián)網(wǎng)、人工智能等技術(shù)提供應(yīng)用平臺,產(chǎn)品廣泛應(yīng)用于工業(yè)自動化、能源電力、儀器儀表、醫(yī)療、通信、安防等行業(yè)。

334bb2fa-7dcf-11ee-b3e3-92fbcf53809c.jpg3362b522-7dcf-11ee-b3e3-92fbcf53809c.jpg ? ?3397215e-7dcf-11ee-b3e3-92fbcf53809c.png ?


審核編輯 黃宇


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4896

    瀏覽量

    97058
  • LVGL
    +關(guān)注

    關(guān)注

    1

    文章

    79

    瀏覽量

    2887
  • 全志T113
    +關(guān)注

    關(guān)注

    0

    文章

    45

    瀏覽量

    203
收藏 人收藏

    評論

    相關(guān)推薦

    如何在低成本ARM平臺部署LVGL免費(fèi)圖形庫,基于全志T113-i

    T113-i)的LVGL案例,適用開發(fā)環(huán)境如下。 Windows開發(fā)環(huán)境:Windows 7 64bit、Windows 10 64bit 虛擬機(jī):VMware15.5.5 Linux
    發(fā)表于 10-29 09:55

    哇!0.8秒啟動!Linux快速啟動方案分享,全志T113-i國產(chǎn)平臺!

    存儲空間、LCD/LVDS/MIPI三種顯示、原生千兆網(wǎng)/雙CAN,是單片機(jī)升級的優(yōu)選平臺。同時,創(chuàng)龍科技T113-i工業(yè)核心已實(shí)現(xiàn)國產(chǎn)化率100%,并提供“賽寶實(shí)驗(yàn)室”
    發(fā)表于 08-22 11:54

    T113-i最新發(fā)布Tina5.0系統(tǒng)!支持3大新特性!

    創(chuàng)龍科技全志T113-i雙核Cortex-A7@1.2GHz全國產(chǎn)工業(yè)核心(含稅79元)一經(jīng)面世,就以超高性價比受到全行業(yè)關(guān)注。而創(chuàng)龍科技再次為T
    的頭像 發(fā)表于 05-14 08:05 ?522次閱讀
    <b class='flag-5'>T113-i</b>最新發(fā)布Tina5.0系統(tǒng)!支持3大新特性!

    G2D圖像處理硬件調(diào)用和測試-基于米爾-全志T113-i開發(fā)板

    本篇測評由電子工程世界的優(yōu)秀測評者“jf_99374259”提供。本文將介紹基于米爾電子MYD-YT113i開發(fā)板的G2D圖像處理硬件調(diào)用和測試。MYC-YT113i核心
    的頭像 發(fā)表于 04-12 08:01 ?576次閱讀
    G2D圖像處理硬件調(diào)用和測試-基于米爾-全志<b class='flag-5'>T113-i</b><b class='flag-5'>開發(fā)板</b>

    米爾-全志T113-i開發(fā)板與modbus設(shè)備的連接和操作

    本文主要介紹通過米爾-全志T113-i開發(fā)板實(shí)現(xiàn)與modbus設(shè)備的連接和操作。
    的頭像 發(fā)表于 03-21 19:42 ?832次閱讀
    米爾-全志<b class='flag-5'>T113-i</b><b class='flag-5'>開發(fā)板</b>與modbus設(shè)備的連接和操作

    【米爾-全志T113-i開發(fā)板試用】米爾-全志T113-i開發(fā)板與modbus設(shè)備的連接和操作

    。 四、結(jié)論 1、米爾-全志T113-i開發(fā)板提供了豐富的接口和穩(wěn)定的操作系統(tǒng)環(huán)境,很適合工業(yè)控制軟件程序開發(fā); 2、依托l(wèi)ibmodbus這個modbus協(xié)議庫,對于linux應(yīng)用下
    發(fā)表于 03-21 19:39

    移植libmodbus庫米爾-全志T113-i開發(fā)板

    測試開發(fā)板工業(yè)領(lǐng)域的應(yīng)用,modbus作為工業(yè)領(lǐng)域的一個重要協(xié)議,那好就移植libmodbus庫。
    的頭像 發(fā)表于 03-05 22:37 ?2162次閱讀
    <b class='flag-5'>移植</b>libmodbus庫<b class='flag-5'>到</b>米爾-全志<b class='flag-5'>T113-i</b><b class='flag-5'>開發(fā)板</b>

    【米爾-全志T113-i開發(fā)板試用】移植libmodbus庫米爾-全志T113-i開發(fā)板

    申請米爾-全志T113-i開發(fā)板試用的很大一個原因是想測試開發(fā)板工業(yè)領(lǐng)域的應(yīng)用,modbus作為工業(yè)領(lǐng)域的一個重要協(xié)議,那好就
    發(fā)表于 03-05 22:31

    【米爾-全志T113-i開發(fā)板試用】上電+配編譯器+編譯+運(yùn)行ruapu測試工具全流程視頻

    MYC-YT113i核心開發(fā)板 真正的國產(chǎn)核心,100%國產(chǎn)物料認(rèn)證
    發(fā)表于 02-25 22:49

    飛凌嵌入式T113-i開發(fā)板的調(diào)屏方法

    對于飛凌嵌入式T113-i開發(fā)板的調(diào)屏問題,需要按照以下步驟進(jìn)行操作
    的頭像 發(fā)表于 01-29 16:25 ?867次閱讀

    飛凌OK113i-C全志T113-i開發(fā)板rtl8723du WIFI功能測試及藍(lán)牙驅(qū)動移植

    飛凌 OK113i-C 全志T113-i開發(fā)板板載一個RTL8723du wifi/藍(lán)牙二合一模塊,板子出廠已經(jīng)移植好了WIFI驅(qū)動但是藍(lán)牙驅(qū)動沒有,所以這篇文章我們主要做藍(lán)牙驅(qū)動的
    的頭像 發(fā)表于 12-11 13:52 ?2215次閱讀

    Qt應(yīng)用開發(fā)--國產(chǎn)工業(yè)開發(fā)板全志T113-i的部署教程

    工業(yè)開發(fā)板,它提供了Qt的運(yùn)行環(huán)境,可以讓我們快速的部署工業(yè)領(lǐng)域的用戶交互界面,控制系統(tǒng)等。 接下來我們來聊聊如何在創(chuàng)龍科技T113-i工業(yè)
    發(fā)表于 11-30 14:25

    全志T113i國產(chǎn)核心上市

    產(chǎn)品更加堅固耐用,且開發(fā)板引出了盡可能多的處理器核心資源,是工業(yè)、電力、交通等關(guān)鍵領(lǐng)域?qū)崿F(xiàn)國產(chǎn)化降本的優(yōu)質(zhì)之選! 01 超高性價比 工規(guī)處理器 不同于全志科技同期推出的T113-S3,
    發(fā)表于 11-20 16:32

    LVGL案例分享--手把手教你移植T113-i國產(chǎn)工業(yè)開發(fā)板

    龍科技的T113-i開發(fā)板上。 LVGL LVGL,全名“Littlev Graphics Library”,是一個開源的圖形庫,主要用于在嵌入式系統(tǒng)上創(chuàng)建圖形用戶界面(GUI)。它
    發(fā)表于 11-17 09:55

    如何把LVGL移植T113-i國產(chǎn)工業(yè)開發(fā)板

    本次開發(fā)教程的測試板卡來自創(chuàng)龍科技的TLT113-EVM國產(chǎn)工業(yè)評估,基于全志科技T113-i
    發(fā)表于 11-14 17:28 ?775次閱讀
    如何把<b class='flag-5'>LVGL</b><b class='flag-5'>移植</b><b class='flag-5'>到</b><b class='flag-5'>T113-i</b><b class='flag-5'>國產(chǎn)</b><b class='flag-5'>工業(yè)</b><b class='flag-5'>開發(fā)板</b>