引言
STM32 自 2013 年推出第一款搭載 Chrom-ART 圖形加速和 LTDC 控制器的 STM32F429 MCU 開始,就持續(xù)在 GUI應(yīng)用上針對(duì) MCU 產(chǎn)品線和軟件方案對(duì)進(jìn)行平臺(tái)化的增強(qiáng)。
產(chǎn)品線方面:
- 增加了很多提升 GUI 硬件處理能力的外設(shè):比如 DMA2D 加速器、GFXMMU、Cache、JPEG、F(S)MC、OPI、SDMMC 等 GUI 應(yīng)用相關(guān)的外設(shè)。
- 陸續(xù)推出了 STM32L4R9、 STM32F746、STM32H750、STM32H747、STM32U5 等側(cè)重于 GUI 應(yīng)用的 MCU 系列.
軟件方案方面:
- ST 在 2018 年收購丹麥一家商業(yè)的圖形化軟件工具公司 TouchGFX,然后將 TouchGFX 方案與 CubeMX 進(jìn)行整合,使之成為 X-Cube-TouchGFX,并把它作為一個(gè)完整的軟硬件 GUI 開發(fā)工具,免費(fèi)提供給我們 STM32MCU 的用戶。
問題背景
根據(jù)我們的經(jīng)驗(yàn),在使用 STM32GUI 開發(fā)平臺(tái)做 GUI 開發(fā)過程中, 經(jīng)常會(huì)遇到一些問題, 如 LCD 無法顯示、顯示閃爍、花屏等問題。如果有一個(gè)比較方便易用的幀緩存分析工具,就可以很好地幫助 GUI 開發(fā)工程師快速定位問題.
我們?cè)谥胺窒斫o大家的《LAT1093 STM32GUI_使用 STLINK+stm32gui-pydfb 工具來實(shí)時(shí)查看圖形緩存的圖片_v1.0》中介紹了一種使用命令行來查看幀緩存的工具。如果對(duì)于命令行比較熟悉,可以基于命令行來讀取幀緩存.
考慮到更多工程師對(duì)于 python 環(huán)境不是特別熟悉,因此我們升級(jí)了一個(gè)界面基于 ST-LINK 的幀緩存分析工具 STM32GUI Framebuffer Analyer。目的是用于協(xié)助 GUI 開發(fā)工程師,分析幀緩存圖形數(shù)據(jù)在不同數(shù)據(jù)處理/顯示階段是否正確.
工具功能介紹
應(yīng)用案例
小結(jié)
通過以上應(yīng)用案例,可以看到,在基于 STM32GUI 軟硬件平臺(tái)開發(fā)過程中,當(dāng)遇到一些顯示不正常的場(chǎng)景時(shí),我們可以通過基于 ST-LINK 的幀緩存分析工具 STM32GUI_Framebuffer_Analyer 的輔助,對(duì)圖形像素?cái)?shù)據(jù)流動(dòng)過程進(jìn)行分析,通過分析幀緩存圖形數(shù)據(jù)在不同數(shù)據(jù)處理/顯示階段是否正確,來快速定位問題并解決問題。