在线观看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

    文章

    386

    瀏覽量

    111306
  • 開發板
    +關注

    關注

    25

    文章

    5121

    瀏覽量

    98201
  • LVGL
    +關注

    關注

    1

    文章

    91

    瀏覽量

    3083
收藏 人收藏

    評論

    相關推薦

    如何優雅的在OpenMV上使用LVGL

    LVGL適配到OpenMV工程menuconfig配置LVGL配置在SDK中的openmv工程的基礎上進行修改,添加LVGLV8的packages包,使用scons
    的頭像 發表于 07-31 08:36 ?1200次閱讀
    如何優雅的在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 ?3w次閱讀
    全面解讀目前<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 ?32次下載
    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 ?1210次閱讀
    【開鴻智谷NiobeU4開發板免費試用體驗】移植<b class='flag-5'>LVGL</b>

    LVGL Simulation工程

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

    Hi3861移植LVGL教程

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

    如何在MDK中部署LVGL

    LVGL的剛剛完成了對LVGL8的維護更新,發布了v8.3.5版。相對master分支上正在開發的LVGL9,該版本是一個吐血推薦的穩定版本。
    的頭像 發表于 07-27 14:41 ?1393次閱讀
    如何在MDK中部署<b class='flag-5'>LVGL</b>
    主站蜘蛛池模板: 欧美一区二区精品 | 欧美片欧美日韩国产综合片 | 婷婷开心激情网 | 男女爱爱免费 | 人人干人人模 | 亚洲国产成人精品青青草原100 | 伦理一区二区三区 | 成年人午夜影院 | 亚洲1卡二卡3卡四卡不卡 | 亚洲色图吧 | 精品美女在线观看 | a在线免费| 色天天综合久久久久综合片 | 国产在线精品香蕉综合网一区 | 中文字幕一区二区三区在线不卡 | 久热国产精品 | 国内一级特黄女人精品片 | 亚洲1234区乱码| 日韩三| 欧美特黄特色aaa大片免费看 | 午夜在线免费观看 | 窝窝午夜看片免费视频 | 亚色国产 | 韩漫免费网站无遮挡羞羞漫画 | aa视频免费 | 日韩视频高清 | 91大神精品长腿在线观看网站 | 九九福利 | 丁香婷婷社区 | 亚洲 欧美 自拍 另类 | 色色网视频 | www.婷婷.com| 欧美亚洲视频一区 | 中文字幕网资源站永久资源 | 精品女同同性视频很黄很色 | 又污又黄的网站 | 人人看人人添人人爽 | 美女视频网站免费播放视 | 国产女同 | 久久久免费观看 | 亚洲午夜一区二区三区 |