嵌入式繪圖系統
“嵌入式繪圖系統”一詞有許多種含義。
首先,不同的人對“嵌入式系統”一詞有不同的理解。 對某些人來說,嵌入式系統意味著十分可靠的舊式8位元微控制器,無作業系統,實際上也無RAM、ROM或GPIO。 對其他人來說,它可能意味著功能強大的現代智慧手機。
其次,“繪圖系統”一詞有許多種解釋。 對某些人來說,它表示在喜歡的繪畫程式中繪製像素點。 對其他人來說,它表示遊戲機上運行的3D渲染軟體。
對TouchGFX而言,嵌入式系統表示STM32微控制器上的任意系統。 繪圖系統表示有使用者介面且運行頻率為60幀每秒的互動式應用。
四個主要組成部分
為了在此類平臺上實現繪圖應用,我們考慮四個直接相關的主要元件。 當然,嵌入式系統可能包含許多其他元件,但其他元件與圖形顯示的相關性較小。
簡而言之,TouchGFX使用MCU,通過對快閃記憶體中的各個部分進行組合,創建和更新RAM中的圖像。 組合圖像會被傳輸到顯示器。 系統會視需要盡可能多地重複此過程。
MCU
在這個過程中,MCU承擔了所有重要任務。 它讀取快閃記憶體中的圖像,並將它們寫入RAM。 在將半透明紅色文字融合到圖像上時,它計算得到的色彩並將其存儲到RAM。 它對圓的所有像素進行渲染並存儲到RAM。 它將圖像從RAM傳輸到顯示器。
STM32 MCU具有特定功能,如LTDC、Chrom-ART、Chrom-GRC等,為繪圖系統的實現提供協助。
Further reading
RAM
所得計算圖像(影像緩衝)存儲在RAM中。 在更新圖形時,MCU對RAM執行讀和寫操作。 在將所得圖像傳輸給顯示器時,再次執行讀操作。
在許多情況下,所得圖像被存儲在MCU內部的RAM中。 如果將所得圖像存儲在內部RAM中的方法不可行,可以添加外部RAM。
Further reading
Flash
所有靜態資料均存儲在快閃記憶體中。 圖像、字體和文字。 快閃記憶體由MCU讀取,其內容被寫入RAM或與RAM內容進行組合。
在大多數情況下,由於內部快閃記憶體很少能夠容納下所有圖形資產,因此設置中會增加外部快閃記憶體。 對於十分簡單的應用,有內部快閃記憶體即已足夠。
理想的做法是對快閃記憶體進行記憶體映射,以便從快閃記憶體直接讀取像素並寫入RAM。 或者,如果不對快閃記憶體進行記憶體映射,可將快閃記憶體內容傳輸到RAM,然後再從RAM讀取。
Further reading
顯示
顯示器將圖像實際顯示出來。
RAM中儲存計算後的圖像(影像緩衝)由MCU按固定時間間隔發送到顯示器。