你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

基于STM32使用Framebuffer_Analyzer工具调试图像显示

[复制链接]
STMCU小助手 发布时间:2023-8-18 12:58
01引言

! x6 Z0 m6 _5 D2 x0 a; d
STM32自2013年推出第一款搭载Chrom-ART图形加速和LTDC控制器的STM32F429 MCU开始,就持续在GUI应用上针对MCU产品线和软件方案进行平台化的增强。
& ^* J1 G+ A/ B- J% B' P$ U! f
产品线方面:
4 F& {) \4 [  g2 k5 A/ ^5 ]
— 增加了很多提升GUI硬件处理能力的外设:比如DMA2D加速器、GFXMMU、Cache、JPEG、F(S)MC、OPI、SDMMC等GUI应用相关的外设。
% |" S$ |9 ^, C2 N3 w! Q
— 陆续推出了STM32L4R9、STM32F746、STM32H750、STM32H747、STM32U5等侧重于GUI应用的MCU系列。

8 Q3 J( |0 ]: z( N
软件方案方面:

. k+ o6 e5 z7 v8 i
— ST在2018年收购丹麦一家商业的图形化软件工具公司TouchGFX,然后将TouchGFX方案与CubeMX进行整合,使之成为X-Cube-TouchGFX,并把它作为一个完整的软硬件GUI开发工具,免费提供给我们STM32 MCU的用户。
$ f3 W5 F# r+ I) u- G6 ^) s  g; [
ST通过提供这一STM32CubeMX+X-Cube-TouchGFX平台化的方案,不但提供标准控件,同时也提供很多丰富的高级控件(容器/视频/图表)

, r: |1 [0 q: o. D& l) m
微信图片_20230818125818_5.png
; Q9 T% w4 t* {: l+ W. S
可以帮助工程师快速开发出界面美观、交互友好的嵌入式产品。
2 c. X0 {) R2 t' T% m
02问题背景

7 ]3 c! O2 p4 M2 {5 r5 f* B
根据我们的经验,在使用STM32GUI开发平台做GUI开发过程中,经常会遇到一些问题,如LCD无法显示、显示闪烁、花屏等问题。如果有一个比较方便易用的帧缓存分析工具,就可以很好地帮助GUI开发工程师快速定位问题。
" O4 _& Z' O4 d& j) k
我们在之前分享给大家的《LAT1093 STM32GUI_使用STLINK+stm32gui-pydfb工具来实时查看图形缓存的图片_v1.0》中介绍了一种使用命令行来查看帧缓存的工具。如果对于命令行比较熟悉,可以基于命令行来读取帧缓存。

9 T6 c- J3 G# E. j
考虑到更多工程师对于python环境不是特别熟悉,因此我们升级了一个界面基于ST-LINK的帧缓存分析工具STM32GUI Framebuffer Analyer。目的是用于协助GUI开发工程师,分析帧缓存图形数据在不同数据处理/显示阶段是否正确。

5 @1 \$ g9 H) ^
微信图片_20230818125818_4.png
; W" L/ U& G: J3 g  w! M/ d6 a1 F
03工具功能介绍

4 z! j/ c! N5 s& W, ^6 q- m
微信图片_20230818125818_3.png
1 H1 T4 Q6 k& Z$ e# H4 D
以上1-8区域为功能介绍,在实际使用中,可以通过这些选项对GUI显示系统做模块化分析。
2 O% H7 t- L/ r
微信图片_20230818125818_2.png
" K7 b) H2 U9 P  b
至此也是能较好的和客户解释了MCU底层的一些原理,并建议客户按照相应workaround的配置,去设定APB总线与OSPEEDR的关系,最终让问题得以解决。

9 ^) B( u$ u: h. Z- r* y+ U8 i
04应用案例

- l8 G, {$ |: T7 T# @6 Q
应用案例举例:

% B4 n5 @- i0 r) _& y  Z
客户反馈使用客户自己的硬件平台移植使用STM32CubeMX+X-Cube-TouchGFX移植好GUI开发平台后,发现屏幕不能正常显示,无法显示TouchGFX Designer的UI,客户平台如下:

- p1 }& h* \1 w! j. Z, m' u0 l* ]
硬件
STM32F746
SDRAM - 16BIT
LTDC 480x272 RGB565 60HZ
软件TouchGFX4.20

4 p3 ?/ z3 y8 w2 b" u" a1 H' o( \5 g. b
与客户沟通进行分析:
: c; a+ \4 D1 R9 @: b- Q
— 确认任务可以正常调度(正常)

+ |, P* h1 C$ E; `* b# ?/ u9 \* \
— 使用STM32GUI Framebuffer Analyer对读取帧缓存区内容进行判断
' d$ \0 Y2 a6 s) b) e8 P
     ○ 发现帧缓存内容和TouchGFX Designer设计相同
# Q! o7 g2 g8 c/ e1 V+ I
微信图片_20230818125818_1.png
" ?" W& J1 f/ g1 l- }6 f2 M+ T
— 可以判断TouchGFX任务正常工作

9 @( l0 s5 m' F
— 怀疑LTDC配置问题

: M& x% _/ f$ V+ a; c
     ○ 通过进一步调试LTDC配置发现LTDC时钟引脚没有按照原理图配置
, ]  J# V: ~& n9 J6 B' \  O
— 修改LTDC引脚配置后问题解决

$ f5 U" G( `+ c# x/ L( u
微信图片_20230818125818.png
* i" X7 O. k- e8 \9 K
05小结

; _/ W) r1 W: ~- `. A0 }
通过以上应用案例,可以看到,在基于STM32GUI软硬件平台开发过程中,当遇到一些显示不正常的场景时,我们可以通过基于ST-LINK的帧缓存分析工具STM32GUI_Framebuffer_Analyer的辅助,对图形像素数据流动过程进行分析,通过分析帧缓存图形数据在不同数据处理/显示阶段是否正确,来快速定位问题并解决问题。

+ X' S1 ?9 k& M; `: X6 w
转载自: STM32单片机
如有侵权请联系删除2 z" x4 h* _( ?7 b: r
) ^: a. O2 ]. J- O8 g
收藏 评论1 发布时间:2023-8-18 12:58

举报

1个回答
hexy@willas-arr 回答时间:2023-11-3 16:19:33

请问在哪能下载这个分析工具呢?

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版