其他功能
如果專案設定中有任何可用的其他功能,就會出現「Additional Features」(其他功能)群組。
外部資料讀取器
對於RGB565影像緩衝區像素格式,TouchGFX支援Data Reader (資料讀取器)介面,讓開發人員能夠直接從非記憶體映射的串列快閃記憶體讀取資料,無需進行快取,而代價就是在記憶體增加額外的緩衝區。 如需相關範例瞭解如何實作資料讀取器,以便由非記憶體映射的Flash晶片中擷取應用程式資產,請參見串列快閃記憶體一文。
Data Reader (資料讀取器)選項通常適用於低成本解決方案,例如STM32G0這類沒有足夠記憶體用於額外緩衝區的解決方案。
開發人員可進行以下設定:
- External Data Reader (外部資料讀取器):啟用或停用功能。 如果啟用,TouchGFX會直接透過所產生的介面擷取資產資料。 如果停用,則開發人員需要將圖像快取到記憶體緩衝區中。
- External Data Reader: Memory base address (外部資料讀取器:記憶體基底位址):指定外部資料讀取器記憶體的起始位址。
- External Data Reader: Memory size (外部資料讀取器:記憶體大小):指定外部資料讀取器記憶體的大小。
- External Data Reader: Line Buffer Size (外部資料讀取器:行緩衝區大小):建立兩個緩衝區以便將圖像或文字混合到影像緩衝區當中。 預設值為:一個螢幕寬度* 4位元組,以支援ARGB8888像素格式的全尺寸圖像。
- External Data Reader: Minimum DMA transfer size (外部資料讀取器:最小DMA傳輸量):設定啟動DMA傳輸所需的最小位元組。 如果請求的傳輸量少於最小位元組便不會用到DMA。
在啟用外部資料讀取器的情況下產生程式碼之後,TouchGFX Generator會建立如下的額外檔案,以支援直接從非記憶體映射Flash中擷取資產。
TouchGFX/target/generated/TouchGFXGeneratedDataReader.cpp
TouchGFX/target/generated/TouchGFXGeneratedDataReader.hpp
TouchGFX/target/TouchGFXDataReader.cpp
TouchGFX/target/TouchGFXDataReader.hpp
像往常一樣,對TouchGFX Generator產生的AL架構而言,TouchGFXGeneratedDataReader
為唯讀,使用者應在TouchGFXDataReader
類別中進行修改。 TouchGFXGeneratedDataReader
屬於touchgfx::FlashDataReader
類別。
TouchGFX Generator會修改以下檔案以設定TouchGFX HAL,以使用DataReader
。
TouchGFX/target/generated/TouchGFXConfiguration.cpp
TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
Note
向量渲染
為了能在TouchGFX Generator設定向量渲染,影像緩衝區像素格式必須為RGB565、RGB888或ARGB8888。 就向量渲染功能而言,開發人員有以下三種選項:
- Disabled (停用):停用對應用程式的向量渲染支援。
- Software (軟體):啟用對應用程式的向量渲染支援。
- Hardware (硬體):啟用對應用程式的硬體向量渲染支援。
如果選擇Software (軟體),就會由CPU執行向量渲染。 如果是可使用GPU2D (Neochrom)的MCU,就可使用Hardware (硬體)選項,在GPU2D執行向量作業以提升效能。
Caution
Tip
Further reading
向量字型渲染
為了能在TouchGFX Generator啟用向量字型渲染,必須啟用Vector Rendering (向量渲染) (選擇software (軟體)或hardware (硬體))。 就向量字型渲染功能而言,開發人員有以下兩種選項:
- Disabled (停用):停用對應用程式的向量字型渲染支援。
- Enabled (啟用):啟用對應用程式的向量字型渲染支援。
繪製向量字型的效能會受到Vector Rendering (向量渲染)參數的選項影響(亦即hardware (硬體)的速度最快)。
If Vector Font Rendering is enabled, users can choose the Vector format type for typographies in their applications. Otherwise, only the Bitmap format type is selectable.
Further reading
8位元LTDC色彩查閱資料表
若LTDC設定以L8格式讀取影像緩衝區,且TouchGFX於ABRG2222、ARGB222、BGRA2222或RGBA2222進行渲染,TouchGFX Generator將提供CLUT,並於TouchGFXHAL::initialize()
期間載入至LTDC之中。 有關LTDC和CLUT的用法,詳見STM32 MCU參考手冊。