1
前言說明
本章通過FRDM-MCXN947開發(fā)板與正點原子的TFTLCD進行實踐
1.2模塊介紹
硬件:
FRDM-MCXN947開發(fā)板:
該開發(fā)板具有豐富的接口詳細可參考NXP官方網(wǎng)站,從下圖板載資源中可看出TFTLCD可以通過flexIO進行驅(qū)動。
FTLCD為正點原子并口屏:
軟件:
下拉RT-Thread代碼
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命令來進行燒錄。命令如下:
有簡單方式可以在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鏈接過程中會報錯如下:
我首先思考的是電腦驅(qū)動不對,去官網(wǎng)下載了MCU-LINK_installer_3.133,在安裝過程會自動安裝電腦的驅(qū)動(當然事后發(fā)現(xiàn),這個電腦驅(qū)動過程其實不需要,會自動裝),仍然不起作用!在MCU-LINK_installer_3.133目錄下兩個腳本,可更新板載下載器固件為JLINK方式,需要配合板子上J21跳線帽來操作。
操作步驟:1.安裝跳線帽;2.斷電重啟;3.運行program_JLINK.c
md程序進行固件更新;4更新完成后,需要取掉跳線帽,然后進行斷電重啟,(板子上復(fù)位按鈕不行,必須斷電操作)。可以看到keil識別到JLINK:
燒錄過程中任然會有報錯:
經(jīng)過一番折騰之后,我將板載下載器固件更新回了CMSIS-DAP方式,采用了上述開發(fā)方法。
2
步驟說明
2.1 添加LCD驅(qū)動與代碼修改
在ports目錄下添加了LCD驅(qū)動和SConscript文件
添加完文件后,發(fā)現(xiàn)LCD驅(qū)動任然沒有被編譯,主要原因是ports上一級目錄中的SConscript文件,沒有采用遍歷所有目錄下的SConscript文件的寫法
方法一:添加遍歷SConscript的寫法
方法二:參考其他BSP有在根SConscript文件中,單獨讀取board/ports/SConscript文件
在pin_mux.c中缺少對flexIO并口的配置,添加并口,CS,RS,RD,WR,ReSet引腳的配置,代碼如下:
2.2 編譯運行程序
LCDTFT程序運行.mp4 (https://club.rt-thread.org/file_download/15c229bf648c2991)
2.3 lvgl使用
在menuconfig中啟用lvgl
在applicaions中添加了lvgl相關(guān)的配置和接口文件
在lv_conf.h中定義了一下幾個宏定義
在lv_port_disp.c中定義了顯示分辨率、顯示buffer、顯示更新的回調(diào)函數(shù),并在lv_port_disp_init函數(shù)里進行注冊
在回調(diào)函數(shù)里調(diào)用lcd驅(qū)動里的區(qū)域填充函數(shù)
2.4 lvgl驗證
跑一個benchmark看一看效果
sdf.mp4 (https://club.rt-thread.org/file_download/86b25c6fb1cde3d9)
lvgl跑出來的幀率為18
采用編譯優(yōu)化等級O1,導(dǎo)致LCD功能有問題,屏幕不顯示。于是LCD驅(qū)動部分代碼采用O0,其他代碼采用O1,修改編譯腳本rtconfig.py,腳本默認走的是debug分支,將其修改到release分支
當然這個修改會對整個工程產(chǎn)生影響,需要在LCD驅(qū)動部分編譯腳本中添加局部編譯參數(shù)
lvgl幀率提升至26
當然嘗試了雙buf和優(yōu)化等級O3,幀率沒有再提高
-
TFT
+關(guān)注
關(guān)注
10文章
381瀏覽量
110534 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
4744瀏覽量
95982 -
LVGL
+關(guān)注
關(guān)注
0文章
79瀏覽量
2729
發(fā)布評論請先 登錄
相關(guān)推薦
評論