我們的免費圖形用戶界面TouchGFX現(xiàn)在正在對其引擎和設(shè)計器工具進行重要更新。TouchGFX 4.12 為公眾帶來了可緩存容器、部分幀緩沖區(qū)和我們的L8 圖形壓縮格式等功能,所有這些都將提高更多 STM32 微控制器的性能。隨著嵌入式系統(tǒng)繼續(xù)滲透主流市場,顯示器和ipso facto的出現(xiàn)圖形用戶界面可以極大地改善消費者的體驗。它解釋了為什么報告顯示越來越多的嵌入式系統(tǒng)工程師現(xiàn)在使用 GUI,以及為什么業(yè)界試圖將它們安裝在具有更嚴格計算吞吐量的 MCU 上。TouchGFX Designer 是我們的桌面工具,可幫助開發(fā)人員更快地利用 TouchGFX 引擎,減少編寫 C++ 代碼的需要,從而促進 MCU 的 GUI 開發(fā)。
TouchGFX 4.12 也具有很高的象征意義,因為它是我們自 2018 年獲得該解決方案以來的第一次重大升級,它成為我們STM32 生態(tài)系統(tǒng)不可或缺的一部分。我們的 MCU 背后的驅(qū)動理念之一是,無論工程師想要使用何種工具或解決方案,它們都能提供最佳性能和最廣泛的功能集。這就是為什么我們很高興也可以使用 Qt 等其他 GUI 解決方案,并且最近參加了一個研討會,幫助想要在我們的微控制器上使用著名工具包的開發(fā)人員。但是,我們很高興為 TouchGFX 帶來有意義的更新,我們將繼續(xù)致力于我們的解決方案,因為它為任何專業(yè)人士或愛好者提供了一個免費且強大的工具,目前智能手表制造商和家電制造商僅舉兩個例子,因此為所有 STM32 開發(fā)人員帶來行業(yè)巨頭。
CacheableContainers:重新思考如何渲染框架
CacheableContainer 是我們的 TouchGFX 團隊在向公眾提供之前開始為各種客戶開發(fā)的技術(shù)。顧名思義,它使用位圖緩存來顯著加速圖形性能,并通過大規(guī)模優(yōu)化性能來實現(xiàn)更高的幀速率以實現(xiàn)更平滑的過渡。下面的視頻顯示了在STM32F429I 探索套件上運行的演示。如果沒有 CacheableContainer 技術(shù),簡單的全屏 (240×320) 幻燈片動畫以每秒 9 幀的速度運行。啟用新的 TouchGFX 技術(shù)后,系統(tǒng)可達到每秒 60 幀,實現(xiàn)更平滑的過渡。 一些智能手表目前使用此功能來確保更無縫的用戶體驗,盡管其外形尺寸固有的重大硬件限制以及需要更長的電池壽命。當(dāng)嘗試為復(fù)雜的小部件(例如紋理映射器或靜態(tài)背景前顯示的小型動態(tài)元素)設(shè)置動畫時,它可以最大限度地提高性能。
在傳統(tǒng)系統(tǒng)中,動畫要求系統(tǒng)重繪每一幀,這會導(dǎo)致計算量大增。在屏幕 1 和屏幕 2 之間的動畫中,大約需要 20 幀,每幀重繪大約需要 100 毫秒。CacheableContainer 通過將第一幀和最后一幀以系統(tǒng)保存在 RAM 中的位圖形式存儲在單獨的容器中來繞過這個問題。系統(tǒng)不計算動畫,而是使用 DMA 從內(nèi)存中檢索兩個圖像,并通過一個簡單的 DynamicBitmap 方法將它們顯示在不同的位置。MCU 不再需要渲染每一幀,從而顯著優(yōu)化性能。開發(fā)者只需勾選Cacheable在 TouchGFX Designer 中,選擇要緩存的容器在內(nèi)存中的位置,并在需要時調(diào)用它們。使用這種技術(shù),渲染時間從 100 ms 下降到 5 ms。
部分幀緩沖區(qū):優(yōu)化如何存儲幀
部分幀緩沖是我們?yōu)榭蛻糸_發(fā)的另一項技術(shù),在見證了它的巨大成果后,現(xiàn)在正在向公眾推出。幀緩沖區(qū)是一個連續(xù)的內(nèi)存空間,用于存儲將出現(xiàn)在顯示器上的每個像素的表示。例如,用于智能手表顯示屏的標(biāo)準 24 位 390 x 390 圖像需要 3,650,400 位或 440 KB 的幀緩沖區(qū)(

),這幾乎是STM32L4+ 上可用 SRAM 的 70%,在智能手表和可穿戴設(shè)備上表現(xiàn)出色。如果應(yīng)用程序需要兩個或三個幀緩沖區(qū),這個數(shù)字可能會激增,從而使內(nèi)存需求增加一倍或三倍。除了容量限制之外,大型幀緩沖區(qū)需要更長的時間來獲取,因為更多的數(shù)據(jù)必須從內(nèi)存?zhèn)鬏數(shù)斤@示器,這會降低性能。
顧名思義,一個Partial Framebuffer只存儲了一部分framebuffer,它在內(nèi)存中的大小平均減少了10。開發(fā)者可以根據(jù)屏幕實際變化的部分來配置它的大小,然后存儲多個partial framebuffer 。 然后,TouchGFX 引擎將選擇合適的引擎并將其發(fā)送到顯示器。因此,系統(tǒng)不必獲取整個緩沖區(qū),而是使用小得多的文件,從而提高整體性能。 該技術(shù)最適用于短動畫,例如時鐘或隨時間推移而構(gòu)建的圖表。它還要求屏幕使用嵌入式控制器,因為它將直接從 MCU 的 RAM 接收部分幀緩沖區(qū),從而繞過 Flash 以進一步提高性能。該技術(shù)適用于并行/8080、DSI 和 SPI 顯示器。
L8 壓縮格式和 TouchGFX Designer:優(yōu)化資產(chǎn)和工作流程
圖形資源占用大量內(nèi)存空間,直到現(xiàn)在,開發(fā)人員唯一能做的就是降低細節(jié)級別以縮小文件大小。不幸的是,這也意味著提供一個不那么引人注目的圖形用戶界面。L8 是獨一無二的,因為它可以利用 STM32 微控制器中的 ChromART 加速器顯著壓縮圖像文件。 只要資源最多使用 256 種顏色,這在小型嵌入式設(shè)備上的背景、圖標(biāo)或按鈕通常是這種情況,開發(fā)人員只需在 TouchGFX Designer 中勾選一個框,就可以選擇使用 L8 格式壓縮資源。該系統(tǒng)生成的圖像最多可縮小 75%,并且解壓階段的計算效率很高,因為它使用 ChromART 引擎在表格中查找各種顏色并在不損失質(zhì)量的情況下解壓資產(chǎn)。
TouchGFX Designer 也有一些令人興奮的更新。除了使這些新功能更易于訪問之外,新工具還提供了新的小部件,例如模擬和數(shù)字時鐘或紋理映射器,這意味著開發(fā)人員可以通過簡單的拖放開始創(chuàng)建他們的映射程序。他們?nèi)匀恍枰斎胨麄兊?C++ 代碼,但這會使整個過程更加順暢。同樣,該工具還支持添加自定義觸發(fā)器和操作,以使工程師即使不具備深入研究源代碼所需的編程技能也能對其進行試驗和測試。最后,TouchGFX Designer 現(xiàn)在能夠以兩倍的速度生成和加載系統(tǒng),并且只在請求時執(zhí)行,而不是自動,這可能會減慢開發(fā)人員的工作流程。
審核編輯:郭婷
-
顯示器
+關(guān)注
關(guān)注
22文章
5072瀏覽量
141838 -
控制器
+關(guān)注
關(guān)注
114文章
17113瀏覽量
184314 -
觸發(fā)器
+關(guān)注
關(guān)注
14文章
2039瀏覽量
62145
發(fā)布評論請先 登錄
STM32WBA6無線微控制器 數(shù)據(jù)手冊和選型解讀

STM32H743ZIT6微控制器復(fù)位后引腳狀態(tài)是怎么樣的?
TouchGFX助力STM32打造高效GUI顯示方案

STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊
新唐科技推出專為高溫度環(huán)境設(shè)計的微控制器
SEGGER工具全面支持STM32N6微控制器開發(fā)
FPGA 與微控制器優(yōu)缺點比較
stm32與Arduino的比較
簡單認識意法半導(dǎo)體STM32C0系列微控制器
STM32WB0系列無線微控制器滿足低功耗藍牙應(yīng)用需求


評論