使用STM32CubeMX創建TouchGFX應用程序(二)

(說明:利用 TouchGFX Designer 生成的 ioc 文件對TouchGFX項目進行配置的方法,請見《使用STM32CubeMX創建TouchGFX應用程序(一)》


本文將講述如何在STM32CubeMX中配置TouchGFX,目標板為STM32F769I-DISCO,今天是2019年5月27日,當前用到的幾個軟件的版本是:

STM32CubeMX,V5.1.0版本。

TouchGFX Designer,V4.1.0版本。

這里強調軟件版本,是因為目前的版本在配置操作過程中,并不能如在ST中文論壇等處所看到的配置指導文件所述的那樣能成功完成配置,下文將描述出現的問題,以及解決辦法----這真不是個好辦法,只是個權宜之計(這也是自前文發布后、此文遲遲不出的原因,這一個月為了搞定這個板子的配置吃盡了苦頭),希望官方后續版本能有所改善。(并不是說軟件有bug,我不能確定,也許是本人水平有限)

好,言歸正傳,在CUBE中配置TouchGFX,關鍵步驟是LCD屏驅動部分的配置(本文不涉及觸屏,添加觸屏驅動將在下一節中介紹。跟本文要講的相比,觸屏真的是小菜一碟、非常簡單)。同時,畢竟CUBE跟 TouchGFX Designer 是兩個獨立的軟件,現在要把他們揉到一起來用,還是稍顯別扭(還沒到無縫的程度):需要先啟動CUBE,進行配置,然后第一次生成code,但不要進入IAR(或KEIL之類)的IDE,而是在CUBE中啟動TouchGFX Designer(而且,必須、只能啟動一次;否則,嗯,那就杯具了,說來話長、這里不展開了)、設計屏幕界面,然后需要再回到CUBE中,第二次生成code,然后,就可以進入IAR編譯、下載了。有點復雜?下面用圖文詳述。

為了簡化?STM32F769I-DISCO 板子的配置,我們利用 CUBE 把769板子的所有默認驅動都先自動配上:


圖一

點擊上圖 Start Project 后,彈出詢問窗:


圖二

選擇 Yes ,用默認驅動初始化769板子。

1. 保留默認配置RCC,? ?IWDG、WWDG未使用、關閉(按默認配置保留也沒關系,下同),LSE是否配置均可:


圖三-1

2. 保留默認配置SYS,注意時基的 TIM6 的配置(TouchGFX要求的):


圖三-2

3. Timers, 配置TIM7(理論上可以選擇除已經占用的TIM6之外的任何timer,這里我們使用TIM7)、關閉其他timer:


圖三-3

4, FMC (保留默認配置):


圖三-4

QUADSPI可配可不配,這里保留了系統默認的配置。

5. LTDC,重頭戲來了,769板子要求的參數如下:

圖四


圖五


圖六

請注意圖五、圖六中幾處出現 400 的地方,769的屏是800x480的,但這幾處確實要填入400、而不是800!(誰知道原因?請留言告訴我^_^)

6. DSIHOST,屏接口的第二部分:

圖七


圖八


圖九

7. DMA2D,圖像硬件加速器,保留默認配置:


圖十

8. CRC,用于計算,保留默認配置:


圖十一

9. FREERTOS, 保留默認配置。

10. 最后一項:GRAPHICS:


圖十二


圖十三

注意圖十三中的“顯示器物理尺寸”的寬度,顯示是“400”,這是有問題的,見后。


圖十四

(注意:圖十四中,Execute 按鈕是灰色的,這是因為CUBE還沒有“首次生成”代碼、此時不允許啟動TouchGFX。見圖二十二)

11. 然后,還需要修改時鐘:


圖十五


至此,第一階段的配置任務完成,選擇CUBE配置文件保存目錄和文件名:

圖十六

點擊 GENERATE CODE,生成代碼。彈出詢問窗:


圖十七

這個跟GFX的模擬器參數配置有關,這里不必管它,選擇 Yes ,出現進度條:


圖十八

代碼生成完畢,系統提示“是否打開工程”?


圖十九

這里先不打開工程,點擊 Close。此時,如果打開生成代碼的目錄,可以看到:


圖二十

CUBE生成了目錄 TouchGFX,但其中只有一個子目錄:


圖二十一

TouchGFX需要的其他文件就不是CUBE能搞定的了,需要TouchGFX Designer來生成。返回CUBE,再次進入 GRAPHICS 條目,點擊 Execute 按鈕(此時 Execute 按鈕已變為可用了)、啟動 TouchGFX Designer :


圖二十二


稍等片刻后,TouchGFX Designer啟動了。添加一個簡單的背景色----一個800x480的Box控件(這種背景色使用代碼實現,占用存儲空間小,可以駐留在MCU片內flash中,利于后面的IAR燒寫):


圖二十三

再加入一段文字、一個按鈕:


圖二十四

點擊上圖右上角的 Generate Code ,等待一會兒:


圖二十五

代碼生成后,再來看看文件目錄:


圖二十六

多了不少東東。

然后,關閉?TouchGFX Designer ,回到CUBE,再次用CUBE生成代碼(直接點擊圖十六中的?GENERATE CODE)。代碼生成完畢后,詢問:


圖二十七

這次,選擇 Open Project ,啟動IAR。然后修改文件 HW_Init.c,改為橫屏模式。:


圖二十八

編譯、燒寫,769板子上跑起來是這個樣子滴:


圖二十九

崩潰了吧!費盡九牛二虎之力,得到的不是正確的顯示呀!!!

不過,圖像很穩定,只是重復顯示了文字和按鈕,應該是屏初始化出現了一些非致命的錯誤。然后,。。。,仔細檢查配置過程吧。

。。。經過了數天的檢查,查不出配置參數有誤啊。

之后,似乎突然開了天眼,按下圖使用文本編輯器修改了CUBE配置文件(后綴為 .ioc? 的那個):


圖三十 ioc 原文件

在 ioc 文件中修改、添加:


圖三十一

然后保存 ioc 文件,雙擊這個 ioc 文件、打開CUBE,應該能看到屏的寬度參數改為 800 了,這正是769板子上屏的正確寬度:


圖三十二

在CUBE中重新生成代碼,在IAR中改為橫屏顯示:


圖三十三

編譯、燒寫:


圖三十四

終于看到了正確的圖像!!

(圖三十一中的 ioc 文件修改是怎么想到的?研究一下前文《使用STM32CubeMX創建TouchGFX應用程序(一)》中的方法生成的 ioc 文件,能找到一些線索)

雖然圖像顯示正確了,然而實現過程著實費勁,解決問題的辦法貌似有點旁門左道的意味,僅供大家參考吧。下一篇將介紹《使用STM32CubeMX創建TouchGFX應用程序(三)-- 從零配置》。


補記:

昨天把CubeMX升級到了目前最新版本:


圖三十五

重復上面配置過程,仍然得到圖二十九的非正常圖像,仍然需要修改.ioc 文件。2019年6月18日。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,835評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,676評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,730評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,118評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,873評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,266評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,330評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,482評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,036評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,846評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,025評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,575評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,279評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,684評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,953評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,751評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,016評論 2 375

推薦閱讀更多精彩內容