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

    文章

    396

    瀏覽量

    112311
  • 開發板
    +關注

    關注

    25

    文章

    5589

    瀏覽量

    103127
  • LVGL
    +關注

    關注

    1

    文章

    102

    瀏覽量

    3581
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    如何優雅的在OpenMV上使用LVGL

    LVGL適配到OpenMV工程menuconfig配置LVGL配置在SDK中的openmv工程的基礎上進行修改,添加LVGLV8的packages包,使用scons
    的頭像 發表于 07-31 08:36 ?1748次閱讀
    如何優雅的在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 ?17次下載
    <b class='flag-5'>LVGL</b> 優化幀率技巧

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

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

    LVGL Simulation工程

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

    Hi3861移植LVGL教程

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

    如何在MDK中部署LVGL

    LVGL的剛剛完成了對LVGL8的維護更新,發布了v8.3.5版。相對master分支上正在開發的LVGL9,該版本是一個吐血推薦的穩定版本。
    的頭像 發表于 07-27 14:41 ?1719次閱讀
    如何在MDK中部署<b class='flag-5'>LVGL</b>
    主站蜘蛛池模板: 四虎永久免费最新在线 | 一级毛片无毒不卡直接观看 | 天堂在线影院 | 九九热在线视频观看这里只有精品 | 成人欧美一区二区三区黑人免费 | 天天看片中文字幕 | 婷婷影院在线综合免费视频 | 狠狠草视频 | 国内精品一级毛片免费看 | 人人干国产 | 久久精品大全 | 视频在线观看一区二区三区 | 亚洲 午夜在线一区 | 你懂的视频在线看 | 欧美性一区二区三区五区 | 欧美日韩国产成人精品 | 2020年亚洲天天爽天天噜 | 国产午夜小视频 | 乱人伦精品一区二区 | 色先锋av资源中文字幕 | 亚洲欧洲色天使日韩精品 | xxx86日本人 xxxxbbbb欧美 | 免费激情网址 | 日韩免费精品一级毛片 | 色综合色综合色综合 | 男人操女人免费 | 三级网址在线观看 | 欧美宗合网| 欧美午夜电影 | 亚洲免费观看在线视频 | 国产伦精品一区二区三区网站 | 久久狠狠色噜噜狠狠狠狠97 | 欧美视频在线观在线看 | 视频一区二区三区在线观看 | 亚洲精品aaa揭晓 | 男人的天堂在线精品视频 | 午夜视频一区二区 | 男女爱爱免费视频 | 色妞妞网 | 午夜视频在线观看国产www | 国产一级特黄aaa大片 |