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

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

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

基于framebuffer的lvgl的移植使用

Linux大陸 ? 來(lái)源:Linux大陸 ? 2023-06-12 11:50 ? 次閱讀

準(zhǔn)備工作

一種方式是像LVGL | lvgl最新版本在STM32上的移植使用

這篇文章的方式一樣,從頭一步一步來(lái)搭建基于framebuffer的工程,自己編寫(xiě)Makefile文件。需要下載

lvgl

lv_drivers

lv_examples

這些可以在lvgl官方GitHub找到。

然后建立一個(gè)工程,把需要用到的文件復(fù)制到工程里,編寫(xiě)Makefile文件即可。

除此之外,lvgl官方倉(cāng)庫(kù)也有提供基于Linux frame buffer的移植工程:lv_port_linux_frame_buffer,我們直接下載下來(lái)修改一些代碼適配我們的板子就可以。

lvgl快速實(shí)踐

文章篇幅有限,我們就不一步一步演示移植步驟了。我們直接下載lv_port_linux_frame_buffer拿過(guò)來(lái)進(jìn)行修改即可,就可以快速跑起來(lái)。

我們可以使用git clone --recurse-submodules命令下載,也可以直接下載。

我們選擇直接下載,下載得到的lv_port_linux_frame_buffer內(nèi)容為:

22e25610-08d3-11ee-962d-dac502259ad0.png

此時(shí),lvgl、lv_examples、lv_drivers這三個(gè)文件夾內(nèi)的內(nèi)容是空的,我們需要下載相關(guān)資源放進(jìn)去。比如:

230556c4-08d3-11ee-962d-dac502259ad0.png

接下來(lái)可以修改工程了,需要修改的地方也很簡(jiǎn)單,但前提是我們的設(shè)備已經(jīng)有顯示驅(qū)動(dòng)與觸摸屏驅(qū)動(dòng)。

1、修改編譯器

首先需要修改Makefile,因?yàn)槲覀冃枰诎遄由吓埽孕枰褂媒徊婢幾g器:

2323ad68-08d3-11ee-962d-dac502259ad0.png

2、修改分辨率

修改lv_conf.h文件里的LV_HOR_RES_MAX、LV_VER_RES_MAX宏為實(shí)際屏幕大小,如:

23441f58-08d3-11ee-962d-dac502259ad0.png

3、使能fb設(shè)備

修改lv_drv_conf.h文件里的USE_FBDEV宏來(lái)使能Linux frame buffer device (/dev/fbx),如:

23589a46-08d3-11ee-962d-dac502259ad0.png

4、使能輸入設(shè)備

修改lv_drv_conf.h文件里的USE_EVDEV宏來(lái)使能輸入事件設(shè)備,如:

237b70e8-08d3-11ee-962d-dac502259ad0.png

其中,你的板子的輸入事件可能不是event1,根據(jù)實(shí)際進(jìn)行修改??梢允褂胏at命令來(lái)測(cè)試一下你板子的觸摸屏輸入對(duì)應(yīng)的是哪一個(gè)event,如:

2399ceee-08d3-11ee-962d-dac502259ad0.png

此時(shí),觸摸一下屏幕,則終端會(huì)有信息(亂碼信息)輸出,則說(shuō)明當(dāng)前板子的觸摸輸入對(duì)應(yīng)的就是這個(gè)event。

5、添加輸入初始化

在main.c初始化并注冊(cè)一個(gè)輸入設(shè)備,如:

23bc8e0c-08d3-11ee-962d-dac502259ad0.png

23e34970-08d3-11ee-962d-dac502259ad0.png

6、添加lvgl心跳

在main.c添加lv_tick_inc函數(shù)的調(diào)用,如:

240510d2-08d3-11ee-962d-dac502259ad0.png

然后就可以跑跑一些實(shí)例demo了,有些demo需要使能lv_conf.h文件里的一些配置,否則編譯會(huì)報(bào)錯(cuò),根據(jù)編譯報(bào)錯(cuò)信息修改相關(guān)配置項(xiàng)即可。

編譯成功之后,會(huì)在lv_port_linux_frame_buffer工程主目錄生成一個(gè)名為demo的可執(zhí)行文件。

傳到板子里運(yùn)行:

24189a9e-08d3-11ee-962d-dac502259ad0.png





審核編輯:劉清

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

    關(guān)注

    41

    文章

    3551

    瀏覽量

    129106
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    590

    瀏覽量

    27317
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    638

    瀏覽量

    39482
  • LVGL
    +關(guān)注

    關(guān)注

    1

    文章

    79

    瀏覽量

    2887

原文標(biāo)題:LittlevGL + Framebuffer的適配例子分享!

文章出處:【微信號(hào):Linux大陸,微信公眾號(hào):Linux大陸】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    LVGL工具使用

    文章所有資料以及代碼下載途徑LVGL工具使用:主要介紹下模擬器的使用/電腦組態(tài)軟件(我通常把電腦拖控件軟件叫做組態(tài)軟件)LVGL概念概述:主要對(duì)LVGL的對(duì)象/事件/風(fēng)格/輸入設(shè)備/顯示等概念做介紹
    發(fā)表于 12-15 07:17

    在嵌入式linux上如何去運(yùn)行LVGL

    GitHub - lvgl/lv_port_linux_frame_buffer: LVGL configured to work with a standard Linux framebuffer
    發(fā)表于 12-15 07:58

    lvgl移植的相關(guān)資料下載

    lvgl移植下載鏈接[lvglgithub官方](lvgl/lvgl: Powerful and easy-to-use embedded GUI library with many
    發(fā)表于 01-11 06:45

    LVGL移植教程相關(guān)資料分享

    的開(kāi)發(fā)版用分辨率240*320屏幕移植LVGL,如果只有Gauge這種界面局部刷新的控件效果差強(qiáng)人意,但只要全
    發(fā)表于 03-02 07:09

    【賽昉科技昉·星光RISC-V單板計(jì)算機(jī)試用體驗(yàn)】測(cè)評(píng)視頻第一篇之基于framebuffer的HDMI顯示輸出測(cè)試

    本文介紹使用framebuffer進(jìn)行hdmi的顯示輸出測(cè)試。為后續(xù)的圖形界面的移植(比如LVGL)做好準(zhǔn)備。前提是已經(jīng)了解應(yīng)用程序的開(kāi)發(fā)流程,見(jiàn)https://bbs.elecfans.com/jishu_2286643_1_
    發(fā)表于 06-14 22:26

    N32G457快速移植LVGL圖形庫(kù)的方法

    1、N32G457快速移植LVGL圖形庫(kù)  由于 lvgl 軟件包過(guò)大,超過(guò)壓縮后整個(gè)工程超過(guò) 20M,所以沒(méi)有上傳,需要自行 pkgs —update 一下,下載 lvgl 軟件包,
    發(fā)表于 11-04 15:52

    LVGL系列(二)之二 LVGL常見(jiàn)問(wèn)題解答 整理自官方文檔

    為什么要學(xué)習(xí)LVGLLVGL系列(二)之二 LVGL常見(jiàn)問(wèn)題解答 整理自官方文檔二、LVGL系列(二)LVGL仿真環(huán)境的搭建(WIN下) 2.1如何在仿真環(huán)境下運(yùn)行自己的代碼三、LVG
    發(fā)表于 11-24 13:36 ?12次下載
    <b class='flag-5'>LVGL</b>系列(二)之二 <b class='flag-5'>LVGL</b>常見(jiàn)問(wèn)題解答 整理自官方文檔

    STM32F4芯片移植_LVGL7.11_UCOS移植代碼工程

    STM32F4芯片移植_LVGL7.11_UCOS移植代碼工程
    發(fā)表于 12-09 17:45 ?24次下載

    W806單片機(jī)移植LVGL庫(kù)例程源碼下載

    W806單片機(jī)移植LVGL庫(kù)例程源碼下載。
    發(fā)表于 05-11 15:11 ?15次下載

    【開(kāi)鴻智谷NiobeU4開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】lvgl移植及實(shí)現(xiàn)ADC按鍵狀態(tài)顯示

    智谷NiobeU4開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】移植LVGL ?本文參考成功移植,實(shí)現(xiàn)按鍵按下sw4顯示SW4 Pressed松開(kāi)顯示SW4 Release,整理踩坑經(jīng)驗(yàn)分享如下。 1.移植準(zhǔn)備
    的頭像 發(fā)表于 10-14 11:27 ?1242次閱讀
    【開(kāi)鴻智谷NiobeU4開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】<b class='flag-5'>lvgl</b><b class='flag-5'>移植</b>及實(shí)現(xiàn)ADC按鍵狀態(tài)顯示

    【開(kāi)鴻智谷NiobeU4開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】移植LVGL

    ,使用的控制器是ST7735,SPI接口,16位。前兩篇已經(jīng)進(jìn)行了屏幕的顯示測(cè)試,具備了移植GUI的條件,本篇我們移植LVGL。 參考 https://lvgl.io/ 準(zhǔn)備代碼 cd
    的頭像 發(fā)表于 10-14 15:23 ?1107次閱讀
    【開(kāi)鴻智谷NiobeU4開(kāi)發(fā)板免費(fèi)試用體驗(yàn)】<b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>

    【賽昉科技昉·星光RISC-V單板計(jì)算機(jī)試用體驗(yàn)】測(cè)評(píng)視頻第一篇之基于framebuffer的HDMI顯示輸出測(cè)試

    hdmi 的顯示輸出測(cè)試。為后續(xù)的圖形界面的移植 ( 比如 LVGL) 做好準(zhǔn)備。 ? 前提是已經(jīng)了解應(yīng)用程序的開(kāi)發(fā)流程 , 見(jiàn) https://bbs.elecfans.com/jishu_2286643_1_1.html ?
    的頭像 發(fā)表于 11-15 11:26 ?484次閱讀
    【賽昉科技昉·星光RISC-V單板計(jì)算機(jī)試用體驗(yàn)】測(cè)評(píng)視頻第一篇之基于<b class='flag-5'>framebuffer</b>的HDMI顯示輸出測(cè)試

    AN042基于GD32F450I的LVGL移植

    AN042 基于GD32F450I的LVGL移植
    發(fā)表于 02-27 18:28 ?4次下載
    AN042基于GD32F450I的<b class='flag-5'>LVGL</b><b class='flag-5'>移植</b>

    Hi3861移植LVGL教程

    給 Hi3861 適配了硬件 spi ,master 模式下最高 spi 速率可以達(dá)到 40M,用來(lái)驅(qū)動(dòng) oled 屏幕。適配過(guò)程遇到了一個(gè)芯片bug,困擾了很久,clk 管腳驅(qū)動(dòng)能力差,需要外接一個(gè)上拉電阻才能正常運(yùn)行。適配完成移植 lvgl 8,分享適配的過(guò)程。
    的頭像 發(fā)表于 05-18 09:23 ?2115次閱讀
    Hi3861<b class='flag-5'>移植</b><b class='flag-5'>LVGL</b>教程

    SWM32SRET6——LVGL移植

    SWM32SRET6——LVGL移植
    的頭像 發(fā)表于 10-26 17:33 ?1120次閱讀
    SWM32SRET6——<b class='flag-5'>LVGL</b><b class='flag-5'>移植</b>