精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

TFT適配LVGL實踐分享

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

1

前言說明

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

1.2模塊介紹

硬件

FRDM-MCXN947開發(fā)板:

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

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 軟件開發(fā)

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

代碼編輯器:vscode

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

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

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

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

為啥不使用keil進行開發(fā)?

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

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

我首先思考的是電腦驅(qū)動不對,去官網(wǎng)下載了MCU-LINK_installer_3.133,在安裝過程會自動安裝電腦的驅(qū)動(當然事后發(fā)現(xiàn),這個電腦驅(qū)動過程其實不需要,會自動裝),仍然不起作用!在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更新完成后,需要取掉跳線帽,然后進行斷電重啟,(板子上復(fù)位按鈕不行,必須斷電操作)。可以看到keil識別到JLINK:

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

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

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

2

步驟說明

2.1 添加LCD驅(qū)動與代碼修改

在ports目錄下添加了LCD驅(qū)動和SConscript文件

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

添加完文件后,發(fā)現(xiàn)LCD驅(qū)動任然沒有被編譯,主要原因是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相關(guān)的配置和接口文件

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

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

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

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

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

在回調(diào)函數(shù)里調(diào)用lcd驅(qū)動里的區(qū)域填充函數(shù)

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

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

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

當然這個修改會對整個工程產(chǎn)生影響,需要在LCD驅(qū)動部分編譯腳本中添加局部編譯參數(shù)

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

lvgl幀率提升至26

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

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

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

    關(guān)注

    10

    文章

    381

    瀏覽量

    110534
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4744

    瀏覽量

    95982
  • LVGL
    +關(guān)注

    關(guān)注

    0

    文章

    79

    瀏覽量

    2729
收藏 人收藏

    評論

    相關(guān)推薦

    如何優(yōu)雅的在OpenMV上使用LVGL

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

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

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

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

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

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

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

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

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

    全面解讀目前LVGL的應(yīng)用小知識

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

    LuatOS之LVGL字體篇

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

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

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

    esp8266 NodeMcu硬件環(huán)境下使用lvgl

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

    LVGL 優(yōu)化幀率技巧

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

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

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

    LVGL Simulation工程

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

    Hi3861移植LVGL教程

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

    【RISC-V &amp;amp; LVGL】現(xiàn)象級爆紅的開源顯示框架——LVGL究竟蘊藏怎樣的魔力

    #01LVGL簡介實用自行車碼表具有科技感的獎杯實現(xiàn)這些DIY作品的背后,都有同樣一個功能強大的GUI——LVGL。LVGL的作者是來自匈牙利的GaborKiss-Vamosikisvegabor
    的頭像 發(fā)表于 03-15 09:50 ?2981次閱讀
    【RISC-V &amp;amp; <b class='flag-5'>LVGL</b>】現(xiàn)象級爆紅的開源顯示框架——<b class='flag-5'>LVGL</b>究竟蘊藏怎樣的魔力

    如何在MDK中部署LVGL

    LVGL的剛剛完成了對LVGL8的維護更新,發(fā)布了v8.3.5版。相對master分支上正在開發(fā)的LVGL9,該版本是一個吐血推薦的穩(wěn)定版本。
    的頭像 發(fā)表于 07-27 14:41 ?1093次閱讀
    如何在MDK中部署<b class='flag-5'>LVGL</b>