TouchGFX的應(yīng)用框架如下圖所示:
1.STM32CubeMX配置
STM32CubeMX主要用來(lái)配置上面所示的應(yīng)用框架圖中的硬件抽象層和中間件層
RCC系統(tǒng)時(shí)鐘:高速外部時(shí)鐘(HSE)配置為外部晶振
由于要使用FreeRTOS操作系統(tǒng),因此建議將HAL庫(kù)的Timebase Source從SysTick改為其他定時(shí)器,選好定時(shí)器后,系統(tǒng)會(huì)自動(dòng)配置TIM,此處設(shè)置為T(mén)IM7
FMC設(shè)置:配置外部SDRAM來(lái)作為RGBLCD的顯存,根據(jù)自已的硬件進(jìn)行參數(shù)以及引腳配置
DMA2D設(shè)置:激活DMA2D,配置顏色模式為RGB565,并開(kāi)啟DMA2D中斷
LTDC參數(shù)設(shè)置:根據(jù)使用的屏幕參數(shù)配置LTDC參數(shù)
LTDC層設(shè)置:此處選擇使用1層,幀緩存地址設(shè)置為SDRAM的首地址0XC0000000
LTDC GPIO引腳設(shè)置:根據(jù)具體開(kāi)發(fā)板的引腳連接,配置GPIO,注意要講輸出速度設(shè)置為“Very High”;并開(kāi)啟LTDC中斷
?
時(shí)鐘樹(shù)配置:像素時(shí)鐘大小為1056*705*60/1024/1024=42M,像素時(shí)鐘最大值為42M,此處設(shè)置為33M(1056為總寬,705為總高)
背光引腳設(shè)置:本文開(kāi)發(fā)板使用PB5作為背光引腳,設(shè)置為推挽輸出
?
激活CRC:TouchGFX需要開(kāi)啟CRC功能
激活FreeRTOS系統(tǒng):heap大小設(shè)置為32768字節(jié),其余默認(rèn)配置;并添加一個(gè)TouchGFX任務(wù)
?
選擇Touchgfx組件包
TouchGFX參數(shù)設(shè)置:選擇雙緩存,RGB565,開(kāi)啟DMA2D加速
?
生成工程代碼:最小堆棧大小設(shè)置為0X800
STM32CubeMX生成工程后,先不用打開(kāi)Keil工程。若此時(shí)編譯Keil工程,會(huì)出現(xiàn)大量報(bào)錯(cuò)
2.TouchGFX Designer界面設(shè)計(jì)
Keil工程生成后,還需要執(zhí)行Touch Designer來(lái)設(shè)計(jì)UI部分,完善工程 生成工程后,在TouchGFX目錄下有個(gè)ApplicationTemplate.touchgfx.part,點(diǎn)擊即可打開(kāi)TouchGFX Designer
?
拖放一些控件后,點(diǎn)擊Generate Code生成代碼后,TouchGFX相關(guān)的代碼就會(huì)自動(dòng)添加進(jìn)工程中
3. MKD-ARM Keil添加代碼
添加SDRAM驅(qū)動(dòng)源文件和頭文件
在fmc.c文件MX_FMC_Init()函數(shù)中添加SDRAM初始化函數(shù),將外存芯片驅(qū)動(dòng)起來(lái)
?
在touchgfxhal.cpp文件中點(diǎn)亮屏幕背光
添加相應(yīng)任務(wù)中,添加TouchGFX處理函數(shù)
4. 下載測(cè)試
編譯無(wú)誤后,下載到開(kāi)發(fā)板中
如TouchGFX移植成功,開(kāi)發(fā)板屏幕會(huì)顯示TouchGFX Designer中設(shè)計(jì)好的界面
審核編輯:劉清
-
RGB
+關(guān)注
關(guān)注
4文章
800瀏覽量
58597 -
RCC
+關(guān)注
關(guān)注
0文章
93瀏覽量
26977 -
TouchGFX
+關(guān)注
關(guān)注
1文章
42瀏覽量
13254 -
STM32F429
+關(guān)注
關(guān)注
0文章
40瀏覽量
10740 -
stm32cubemx
+關(guān)注
關(guān)注
5文章
283瀏覽量
14871
原文標(biāo)題:使用STM32CubeMX移植TouchGFX
文章出處:【微信號(hào):嵌入式攻城獅,微信公眾號(hào):嵌入式攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論