<ul id="gu0q4"></ul>
  • <strike id="gu0q4"><abbr id="gu0q4"></abbr></strike>
    <strike id="gu0q4"><menu id="gu0q4"></menu></strike>
    <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
    <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
    • <samp id="gu0q4"></samp>

      技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板移植LVGL8.2

      發(fā)布時(shí)間:2025-10-13 12:57:33
      RK3588 RK3588開發(fā)板 移植LVGL

      隨著嵌入式設(shè)備對(duì)圖形用戶界面(GUI)的需求不斷提升,選擇一款高效、輕量且易于移植的GUI框架已成為項(xiàng)目開發(fā)中的關(guān)鍵環(huán)節(jié)。LVGL與Qt作為嵌入式領(lǐng)域廣泛使用的兩種GUI解決方案,在架構(gòu)設(shè)計(jì)、資源占用及適用場(chǎng)景等方面存在明顯區(qū)別:

      ?
      ?

      LVGL是一款專為嵌入式及資源受限設(shè)備設(shè)計(jì)的輕量級(jí)開源圖形庫。其具備高度模塊化特性,內(nèi)存占用極低,支持多種顯示與輸入設(shè)備驅(qū)動(dòng),并可在無操作系統(tǒng)環(huán)境下運(yùn)行,尤其適合對(duì)性能、功耗和成本有嚴(yán)格要求的嵌入式應(yīng)用場(chǎng)景。

      ?

      Qt是一套功能豐富的跨平臺(tái)應(yīng)用開發(fā)框架,除GUI組件外,還提供網(wǎng)絡(luò)、數(shù)據(jù)庫、多媒體等完整功能模塊。盡管Qt for Embedded Linux功能全面,但其通常需要更多的系統(tǒng)資源,更適合硬件資源較為充裕的嵌入式平臺(tái),例如工業(yè)人機(jī)界面(HMI)、車載信息娛樂系統(tǒng)等。

      ?

      本文將以LVGL8.2版本的移植為例,旨在為開發(fā)者提供一套清晰實(shí)用的輕量化圖形界面移植指南,幫助用戶快速構(gòu)建流暢、美觀的嵌入式圖形應(yīng)用。

      ?

      一、源碼獲取來源

      git?clone?-b release/v8.2?https://github.com/lvgl/lv_port_linux_frame_buffer.gitgit?clone?-b release/v8.2?https://github.com/lvgl/lvgl.gitgit?clone?-b release/v8.2?https://github.com/lvgl/lv_drivers.git

      將lvgl和lv_drivers文件夾拷貝到lv_port_linux_frame_buffer文件夾下。

      ?

      二、相關(guān)文件修改

      注意:分辨率設(shè)置以板卡默認(rèn)適配的MIPI屏幕規(guī)格為準(zhǔn)進(jìn)行修改。

      ?

      2.1修改lv_port_linux_frame_buffer/lv_conf.h文件

      elf@ubuntu:~/work/lvgl8.2$?vi lv_port_linux_frame_buffer/lv_conf.h

      ?

      修改第15行, 使能該文件;

      ?

      修改第27行,修改顯示顏色位深;

      ?

      修改第49行,使能顯存分配;

      ?

      修改第672行,使能編譯demo;

      ?

      2.2 修改lv_port_linux_frame_buffer/lv_drv_conf.h文件

      elf@ubuntu:~/work/lvgl8.2$?vi lv_port_linux_frame_buffer/lv_drv_conf.h

      ?

      修改第11行,?使能該文件;

      ?

      修改第319行,使能fb顯示;

      ?

      修改第442行,使能觸摸板觸摸;

      ?

      修改第450行,綁定觸摸事件,可以通過evtest命令查看屏幕對(duì)應(yīng)的觸摸節(jié)點(diǎn),輸入evtest,輸入指定編號(hào),觸摸屏幕會(huì)有坐標(biāo)點(diǎn)顯示到調(diào)試串口;

      ?

      修改第453行,使能屏幕分辨率配置;

      ?

      修改第457行、459行,指定屏幕水平像素和垂直像素;

      ?

      2.3 修改lv_port_linux_frame_buffer/main.c文件

      elf@ubuntu:~/work/lvgl8.2$?vi lv_port_linux_frame_buffer/main.c

      ?

      修改第10行,指定顯存大?。?/span>

      ?

      修改第32行、33行,指定屏幕分辨率;

      ?

      2.4 修改lv_port_linux_frame_buffer/Makefile文件

      elf@ubuntu:~/work/lvgl8.2$?vi lv_port_linux_frame_buffer/Makefile

      ?

      修改第4行,指定交叉編譯器;

      ?

      修改第7行,用#號(hào)注釋掉后面內(nèi)容;

      ?

      三、源碼編譯

      在lv_port_linux_frame_buffer目錄下執(zhí)行make -j4編譯源碼;

      elf@ubuntu:~/work/lvgl8.2$?cd lv_port_linux_frame_buffer/elf@ubuntu:~/work/lvgl8.2/lv_port_linux_frame_buffer$?make -j4

      ?

      最后會(huì)在lv_port_linux_frame_buffer目錄下生成demo可執(zhí)行文件;

      elf@ubuntu:~/work/lvgl8.2/lv_port_linux_frame_buffer$?ls demo?demo

      ?

      四、測(cè)試

      使用u盤拷貝demo到開發(fā)板中;

      關(guān)閉掉Weston桌面;

      root@elf2-buildroot:~#?/etc/init.d/S49weston?stop

      ?

      運(yùn)行demo應(yīng)用;

      root@elf2-buildroot:~# ./demo

      ?

      顯示效果如下:

      其它推薦:

      推薦閱讀:

      /* 53客服*/ /* 百度統(tǒng)計(jì)*/ /* 百度站長(zhǎng)*/
      <ul id="gu0q4"></ul>
    • <strike id="gu0q4"><abbr id="gu0q4"></abbr></strike>
      <strike id="gu0q4"><menu id="gu0q4"></menu></strike>
      <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
      <samp id="gu0q4"><tfoot id="gu0q4"></tfoot></samp>
      • <samp id="gu0q4"></samp>