TouchGFX讓微控制器更美好,TouchGFX有哪些升級
TouchGFX屬于Draupner Graphics公司的GUI產(chǎn)品,以炫酷的界面著稱。目前,TouchGFX可以在微控制器上使用。為增進(jìn)大家對TouchGFX的認(rèn)識,本文將對微控制器以及TouchGFX的矢量優(yōu)化升級予以介紹。如果你對TouchGFX具有興趣,不妨和小編一起來繼續(xù)往下閱讀哦。
一、微控制器
簡而言之,微控制器(通常簡稱為MCU或MC)是指完全獨(dú)立于單個(gè)芯片的非常小的微型計(jì)算機(jī)。
如果需要使用更多的基本術(shù)語,您可以將微控制器定義成一臺非常簡化的計(jì)算機(jī),一遍又一遍地運(yùn)行單個(gè)基本程序。換句話說,微控制器可在單個(gè)設(shè)備中執(zhí)行由用戶/操作員預(yù)先編程的單個(gè)自動(dòng)化任務(wù),并重復(fù)執(zhí)行這一項(xiàng)任務(wù)(通常是在定時(shí)循環(huán)中執(zhí)行)。
這就是“嵌入式應(yīng)用程序”,它不是由完整的微處理器(也稱為CPU)處理的通用型應(yīng)用程序。
-正如本指南所述,微控制器包含微處理器等關(guān)鍵組件,但與大多數(shù)獨(dú)立MP相比,它是一種復(fù)雜程度更低的動(dòng)態(tài)CPU。
-這是因?yàn)槲⒖刂破鲉卧獌H限于執(zhí)行一項(xiàng)高度特定的工作,無需微處理器(個(gè)人計(jì)算機(jī)中的微處理器)提供全部功能。
為了實(shí)現(xiàn)這一點(diǎn),微控制器通常通過印制電路板(PCB)與其他類型的組件和電子電路配合使用。通過將兩種或更多基于PCB的設(shè)備組合在一起,可以使用微控制器控制、監(jiān)測并影響各類系統(tǒng)和組件行為。
而TouchGFX 便是與微控制器相關(guān)的工具,下面我們來看看TouchGFX 有哪些升級。
二、TouchGFX 矢量優(yōu)化升級
1、矢量的優(yōu)化
微控制器上的大多數(shù)靜態(tài)接口都使用位圖,它們需要的計(jì)算吞吐量非常小。相比之下,矢量圖像并不常見,因?yàn)樗鼈冃枰嗟乃懔?。UI開發(fā)的挑戰(zhàn)在于矢量對于動(dòng)畫至關(guān)重要。因此,由于每秒幀數(shù)較高,開發(fā)人員可能會(huì)選擇使用更多資源來實(shí)現(xiàn)更平滑流暢的動(dòng)畫。另一方式是,動(dòng)畫可以采用較低性能,降低畫面的流暢性來處理。TouchGFX 在處理矢量圖形時(shí)提供了顯著的優(yōu)化,在某些場景下效率提高了70%。得益于TouchGFX 不斷的版本優(yōu)化,開發(fā)人員可以在更小的MCU上提供更平滑的動(dòng)畫或使用更多的矢量元素;還將在較大的動(dòng)畫上獲得最大的性能提升。
新的優(yōu)化利用Chrom-ART在某些操作(如顏色填充)期間降低微控制器負(fù)載。ST還更新了TouchGFX計(jì)算形狀邊緣的算法。此外,功能更新涉及到框架對矢量圖形的處理,用戶也將從中受益。開發(fā)人員不僅能立即看到性能提升,還可以據(jù)此進(jìn)行規(guī)劃。有的開發(fā)者會(huì)選擇降低應(yīng)用程序的內(nèi)存需求,有的會(huì)在界面中添加新動(dòng)畫。團(tuán)隊(duì)協(xié)作開發(fā)時(shí),必須注意檢查他們的UI,因?yàn)槟承┰氐倪\(yùn)行速度可能比預(yù)期的快。
2、矢量字體
文本是大多數(shù)UI的重要組成部分,但卻最容易被忽視。比如,許多人甚至不清楚font和typeface之間的區(qū)別。Helvetica和Avenir經(jīng)常被稱作font,但實(shí)際上都屬于typeface。typeface是一種設(shè)計(jì)語言,用來塑造一系列字母、數(shù)字和圖標(biāo)的形態(tài)。font是typeface的子集,主要是限定文字的粗細(xì)或大小等屬性。因此,Helvetica是一種typeface,而12磅Helvetica則是一種font。同樣,12磅Helvetica Bold是另一種font。
這兩者的區(qū)別為什么重要呢?因?yàn)榍度胧较到y(tǒng)必須在編譯時(shí)為每種字體渲染新的位圖。PC需要使用輪廓字體(又稱矢量字體),輪廓字體包含如何繪制的說明,而嵌入式系統(tǒng)需要使用位圖。矢量字體需要很大的計(jì)算量,這對PC來說不是問題,但對微控制器來說,會(huì)造成UI運(yùn)行緩慢。相反,已經(jīng)完成渲染的位圖不涉及任何計(jì)算,但會(huì)占用更多存儲空間,因?yàn)橄到y(tǒng)必須對每種字體進(jìn)行單獨(dú)渲染。例如,三種Font(同一typeface所對應(yīng)的三種不同大?。┑奈粓D會(huì)占用將近800字節(jié)的內(nèi)存,而一個(gè)矢量文件所占用的內(nèi)存不到200字節(jié)。
TouchGFX Designer能夠在MCU上使用矢量字體的UI工具,為希望減少Flash占用空間的工程師帶來了福音。有了這一功能,某些應(yīng)用場景下,開發(fā)者只需使用MCU的內(nèi)部Flash,大幅降低了BOM成本。產(chǎn)品或公司標(biāo)識往往需要比字母文字系統(tǒng)用到更多的位圖,因此節(jié)省存儲空間的效果更加明顯,實(shí)際效果因具體應(yīng)用而異。此外,存儲器市場價(jià)格波動(dòng)頻繁,而我們這個(gè)新版本可以幫助開發(fā)人員減少對外部Flash的需求。
意法半導(dǎo)體旗下已有多款STM32 MCU在技術(shù)上支持矢量字體,STM32U5和最新推出的STM32H7R/S內(nèi)部集成了NeoChrom GPU,出色的加速矢量計(jì)算的能力讓矢量計(jì)算真正切實(shí)可行。例如,STM32F7渲染一個(gè)矢量字體可能需要花費(fèi)2.88 ms,而STM32U5F9僅需0.80 ms。同樣,最近針對TouchGFX先前版本的矢量優(yōu)化也能有效減輕負(fù)載。但并非每種UI都能從輪廓字體中受益,比如需要使用大量動(dòng)畫的系統(tǒng)。
矢量字體并不是節(jié)省存儲空間的唯一方法,ST的L8壓縮系統(tǒng)也可以縮小位圖。每個(gè)項(xiàng)目都有不同的Flash需求,每個(gè)UI也都有特殊的渲染需求。有些項(xiàng)目只能使用有限的外部Flash,有些項(xiàng)目傾向于使用內(nèi)部Flash,還有些項(xiàng)目僅需要縮短編程時(shí)間。但總的來說,越來越多的客戶都希望UI占用的Flash空間更少。因此,矢量字體為無法通過其他方式縮減占用空間的UI提供了一個(gè)解決方案。
以上便是此次帶來的TouchGFX相關(guān)內(nèi)容,通過本文,希望大家對TouchGFX已經(jīng)具備一定的了解。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!