使用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阅读 199,711评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,932评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,770评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,799评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,697评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,069评论 1 276
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,535评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,200评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,353评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,290评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,331评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,020评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,610评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,694评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,927评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,330评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,904评论 2 341

推荐阅读更多精彩内容