在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

TFT適配LVGL實踐分享

RT-Thread官方賬號 ? 2024-09-04 08:06 ? 次閱讀

1

前言說明

本章通過FRDM-MCXN947開發板與正點原子的TFTLCD進行實踐

1.2模塊介紹

硬件:

FRDM-MCXN947開發板:

該開發板具有豐富的接口詳細可參考NXP官方網站,從下圖板載資源中可看出TFTLCD可以通過flexIO進行驅動。

7b0ab22a-6a51-11ef-bb4b-92fbcf53809c.png7b0f8d68-6a51-11ef-bb4b-92fbcf53809c.png

FTLCD為正點原子并口屏:

7b26b240-6a51-11ef-bb4b-92fbcf53809c.png

軟件:

下拉RT-Thread代碼

7b3367ec-6a51-11ef-bb4b-92fbcf53809c.png

1.3 軟件開發

編譯配置工具:env 從 RT-Thread 官網下載 Env工具https://www.rt-thread.org/download.html

代碼編輯器:vscode

下載器:使用LinkServer.exe命令下載,來自于下載Linkserver 1.4.85 installer for Windows (nxp官網)

本人在vscode中編輯代碼,通過env工具來配置和編譯,在windows的PowerShell中使用LinkServer.exe命令來進行燒錄。命令如下:

7b37dcaa-6a51-11ef-bb4b-92fbcf53809c.png7b3c1e82-6a51-11ef-bb4b-92fbcf53809c.png

有簡單方式可以在vscode中配置tasks.json,在vscode中實現編輯、編譯和燒錄一站式操作,參見大佬文章:使用VSCode 搭建 RT-Thread 關于 NXP mcxn947 開發環境(二),(https://club.rt-thread.org/ask/article/e46d421071211221.html)本人比較懶,從里面搬了燒錄命令來使用了。

為啥不使用keil進行開發?

主要原因是開發板一到手,下載的最新版并安裝了MCXN947_DFP的keil就鏈接不上板子,CMSIS-DAP鏈接過程中會報錯如下:

7b4e4b20-6a51-11ef-bb4b-92fbcf53809c.png

我首先思考的是電腦驅動不對,去官網下載了MCU-LINK_installer_3.133,在安裝過程會自動安裝電腦的驅動(當然事后發現,這個電腦驅動過程其實不需要,會自動裝),仍然不起作用!在MCU-LINK_installer_3.133目錄下兩個腳本,可更新板載下載器固件為JLINK方式,需要配合板子上J21跳線帽來操作。

7b590d26-6a51-11ef-bb4b-92fbcf53809c.png

操作步驟:1.安裝跳線帽;2.斷電重啟;3.運行program_JLINK.c

7b602a16-6a51-11ef-bb4b-92fbcf53809c.png

md程序進行固件更新;4更新完成后,需要取掉跳線帽,然后進行斷電重啟,(板子上復位按鈕不行,必須斷電操作)。可以看到keil識別到JLINK:

燒錄過程中任然會有報錯:

7b6ffb30-6a51-11ef-bb4b-92fbcf53809c.png

經過一番折騰之后,我將板載下載器固件更新回了CMSIS-DAP方式,采用了上述開發方法。

2

步驟說明

2.1 添加LCD驅動與代碼修改

在ports目錄下添加了LCD驅動和SConscript文件

7bb16c00-6a51-11ef-bb4b-92fbcf53809c.png

添加完文件后,發現LCD驅動任然沒有被編譯,主要原因是ports上一級目錄中的SConscript文件,沒有采用遍歷所有目錄下的SConscript文件的寫法

方法一:添加遍歷SConscript的寫法

7bc67fe6-6a51-11ef-bb4b-92fbcf53809c.png

方法二:參考其他BSP有在根SConscript文件中,單獨讀取board/ports/SConscript文件

7bcdc6a2-6a51-11ef-bb4b-92fbcf53809c.png

pin_mux.c中缺少對flexIO并口的配置,添加并口,CS,RS,RD,WR,ReSet引腳的配置,代碼如下:

7bdab1f0-6a51-11ef-bb4b-92fbcf53809c.png7be69ace-6a51-11ef-bb4b-92fbcf53809c.png7bf22114-6a51-11ef-bb4b-92fbcf53809c.png7c0181d6-6a51-11ef-bb4b-92fbcf53809c.png

2.2 編譯運行程序

LCDTFT程序運行.mp4 https://club.rt-thread.org/file_download/15c229bf648c2991

7c0f3c04-6a51-11ef-bb4b-92fbcf53809c.gif

2.3 lvgl使用

在menuconfig中啟用lvgl

7c3fd79c-6a51-11ef-bb4b-92fbcf53809c.png

在applicaions中添加了lvgl相關的配置和接口文件

7c43e454-6a51-11ef-bb4b-92fbcf53809c.png

在lv_conf.h中定義了一下幾個宏定義

7c4d0cd2-6a51-11ef-bb4b-92fbcf53809c.png

在lv_port_disp.c中定義了顯示分辨率、顯示buffer、顯示更新的回調函數,并在lv_port_disp_init函數里進行注冊

7c5b4d7e-6a51-11ef-bb4b-92fbcf53809c.png

在回調函數里調用lcd驅動里的區域填充函數

7c62e872-6a51-11ef-bb4b-92fbcf53809c.png

2.4 lvgl驗證

跑一個benchmark看一看效果

sdf.mp4 https://club.rt-thread.org/file_download/86b25c6fb1cde3d9


lvgl跑出來的幀率為18

7c6ae0b8-6a51-11ef-bb4b-92fbcf53809c.png

采用編譯優化等級O1,導致LCD功能有問題,屏幕不顯示。于是LCD驅動部分代碼采用O0,其他代碼采用O1,修改編譯腳本rtconfig.py,腳本默認走的是debug分支,將其修改到release分支

7c7b2eb4-6a51-11ef-bb4b-92fbcf53809c.png

當然這個修改會對整個工程產生影響,需要在LCD驅動部分編譯腳本中添加局部編譯參數

7c86dd54-6a51-11ef-bb4b-92fbcf53809c.png

lvgl幀率提升至26

7c8e8dc4-6a51-11ef-bb4b-92fbcf53809c.png

當然嘗試了雙buf和優化等級O3,幀率沒有再提高

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • TFT
    TFT
    +關注

    關注

    10

    文章

    387

    瀏覽量

    112008
  • 開發板
    +關注

    關注

    25

    文章

    5389

    瀏覽量

    100979
  • LVGL
    +關注

    關注

    1

    文章

    97

    瀏覽量

    3473
收藏 人收藏

    評論

    相關推薦

    如何優雅的在OpenMV上使用LVGL

    LVGL適配到OpenMV工程menuconfig配置LVGL配置在SDK中的openmv工程的基礎上進行修改,添加LVGLV8的packages包,使用scons
    的頭像 發表于 07-31 08:36 ?1590次閱讀
    如何優雅的在OpenMV上使用<b class='flag-5'>LVGL</b>

    如何在esp8266 Node MCU的硬件上部署LVGL

    前言本文,介紹如何在esp8266 Node MCU的硬件上部署LVGL項目。使用的屏幕使用型號是ST7735 TFT 128x128屏幕。(一)arduinoIDE esp8266環境配置自行
    發表于 12-08 07:15

    開源輕量級顯示框架LVGL簡介

    #01 LVGL是什么LVGL的作者是來自匈牙利的Gabor Kiss-Vamosikisvegabor,LVGL用C語言編寫,以實現最大的兼容性(與C ++兼容),模擬器可在沒有嵌入式硬件的PC上
    發表于 03-14 09:28

    開源輕量級顯示框架LVGL簡介

    #01 LVGL是什么LVGL的作者是來自匈牙利的Gabor Kiss-Vamosikisvegabor,LVGL用C語言編寫,以實現最大的兼容性(與C ++兼容),模擬器可在沒有嵌入式硬件的PC上
    發表于 03-31 18:49

    【FireBeetle 2 ESP32-S3開發板體驗】基于GDI接口的高清IPS屏的LVGL使用(方法通用所有支持接口的屏)

    使用如下的Arduino擴展庫: 使用上述的 TFT_eSPI 本身已經可以驅動通常的SPI顯示屏,是一款較為常用的顯示屏支持庫。而LVGL是基于TFT_eSPI,來提供運行支持的。 需要注意的是,不要
    發表于 08-05 13:50

    使用全志R128將LVGL運行在SPI TFT GUI上

    LVGL 與 SPI TFT GUI 本次使用的是 Dshan_Display Module,如下圖: 引腳配置如下: R128 Devkit TFT 模塊 PA12 CS PA13 SCK
    發表于 10-23 13:56

    全面解讀目前LVGL的應用小知識

    概述 本文介紹目前LVGL的應用小知識,希望對采用MCU設計UI界面的用戶有所啟發,開發出界面更友好的消費品或者工業產品,造福大眾。 01. LVGL系統架構 LVGL系統框架 應用程序創建GUI
    的頭像 發表于 06-04 12:01 ?3.1w次閱讀
    全面解讀目前<b class='flag-5'>LVGL</b>的應用小知識

    LuatOS之LVGL字體篇

    前言之前展示過Luatos在win32上運行LVGL的效果,今天帶來LVGL的字體篇介紹LVGL字體支持很全,支持 UTF-8 編碼的 Unicode 字符,分內部字體和外部字體,字體制作工具也很多
    發表于 11-23 17:51 ?13次下載
    LuatOS之<b class='flag-5'>LVGL</b>字體篇

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

    “本文大部分內容來自LVGL官方文檔,手翻版,如有錯誤歡迎指正。”系列文章目錄一、LVGL系列(一)一文了解LVGL的學習路線輕松了解LVGL的全部二、
    發表于 11-24 13:36 ?12次下載
    <b class='flag-5'>LVGL</b>系列(二)之二 <b class='flag-5'>LVGL</b>常見問題解答 整理自官方文檔

    esp8266 NodeMcu硬件環境下使用lvgl

    前言本文,介紹如何在esp8266 Node MCU的硬件上部署LVGL項目。使用的屏幕使用型號是ST7735 TFT 128x128屏幕。(一)arduinoIDE esp8266環境配置自行
    發表于 11-25 19:06 ?33次下載
    esp8266 NodeMcu硬件環境下使用<b class='flag-5'>lvgl</b>

    LVGL 優化幀率技巧

    目錄標題前文LVGL幀率限制代碼優化等級前文LVGL——PC模擬器仿真模擬+VS2017f429 discovery開發版 LVGL移植(帶操作系統)首先就個人用過的幾個芯片而言,可能還是要F4系列
    發表于 12-07 13:21 ?16次下載
    <b class='flag-5'>LVGL</b> 優化幀率技巧

    【開鴻智谷NiobeU4開發板免費試用體驗】移植LVGL

    本文來源電子發燒友社區,作者:李先生, 帖子地址: https://bbs.elecfans.com/jishu_2307453_1_1.html 前言 本開發板帶一個135x130的TFT屏幕
    的頭像 發表于 10-14 15:23 ?1339次閱讀
    【開鴻智谷NiobeU4開發板免費試用體驗】移植<b class='flag-5'>LVGL</b>

    LVGL Simulation工程

    最近在玩一個開源項目,用到ESP32,玩著玩著感覺開源項目的UI太枯燥了,于是了解到了LVGL,網上很多關于ESP32跑LVGL的現有工程
    的頭像 發表于 05-11 09:12 ?1346次閱讀
    <b class='flag-5'>LVGL</b> Simulation工程

    Hi3861移植LVGL教程

    給 Hi3861 適配了硬件 spi ,master 模式下最高 spi 速率可以達到 40M,用來驅動 oled 屏幕。適配過程遇到了一個芯片bug,困擾了很久,clk 管腳驅動能力差,需要外接一個上拉電阻才能正常運行。適配
    的頭像 發表于 05-18 09:23 ?2664次閱讀
    Hi3861移植<b class='flag-5'>LVGL</b>教程

    如何在MDK中部署LVGL

    LVGL的剛剛完成了對LVGL8的維護更新,發布了v8.3.5版。相對master分支上正在開發的LVGL9,該版本是一個吐血推薦的穩定版本。
    的頭像 發表于 07-27 14:41 ?1608次閱讀
    如何在MDK中部署<b class='flag-5'>LVGL</b>
    主站蜘蛛池模板: 狠狠亚洲狠狠欧洲2019 | 午夜视频色| 免费国产黄网站在线观看视频 | 色黄视频 | 78m-78模成视频在线 | 欧美夜夜 | 久久精品国产99国产精品免费看 | 欧美日韩一区二区三区视频在线观看 | 成年人黄色片视频 | 亚洲宅男天堂a在线 | 国产精品久久久久久久久免费观看 | 色天使久久 | 久久亚洲视频 | 18欧美乱大交 | 上一篇26p国模 | 美女又爽又黄视频 | 九九热精品国产 | 性夜影院爽黄e爽在线观看 羞羞色院91精品网站 | 色之综合天天综合色天天棕色 | 劳拉淫欲护士bd字幕 | 4hc44四虎www视频 | 日本不卡免费新一区二区三区 | 中文字幕二区三区 | 影院午夜 | 好吊788gaoco| 天堂在线观看视频 | 免费公开视频人人人人人人人 | 国产免费资源 | 国产香港三级理论在线 | 国产拍拍拍免费视频网站 | 日本在线黄色 | 手机免费看大片 | 午夜无遮挡怕怕怕免费视频 | 成年美女 | 韩国在线视频 | 四虎永久在线精品2022 | 四虎影视永久在线 yin56xyz | 奇米影视7777久久精品 | 在线h网站 | 97夜夜澡人人爽人人喊一欧美 | 国内精品久久久久久久久野战 |