跳轉到主要內容

其他功能

如果專案設定中有任何可用的其他功能,就會出現「Additional Features」(其他功能)群組。

TouchGFX Generator其他功能設定

外部資料讀取器

對於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
只有在同時停用DMA2D與LTDC的情況之下才可使用資料讀取器其他功能。

向量渲染

為了能在TouchGFX Generator設定向量渲染,影像緩衝區像素格式必須為RGB565、RGB888或ARGB8888。 就向量渲染功能而言,開發人員有以下三種選項:

  • Disabled (停用):停用對應用程式的向量渲染支援。
  • Software (軟體):啟用對應用程式的向量渲染支援。
  • Hardware (硬體):啟用對應用程式的硬體向量渲染支援。

如果選擇Software (軟體),就會由CPU執行向量渲染。 如果是可使用GPU2D (Neochrom)的MCU,就可使用Hardware (硬體)選項,在GPU2D執行向量作業以提升效能。

Caution
如果您要在應用程式中使用TouchGFX Generator的SVGImage小工具,請在TouchGFX Generator檢查是否將Vector Rendering (向量渲染)功能設定為啟用。 否則在編譯期間將會出現「no definition for touchgfx::VectorRenderer::getInstance()」的錯誤。
Tip
如果您的裝置可使用GPU2D (NeoChrom)(例如STM32U599),就可將其啟用以達到最佳的向量渲染效能。
Further reading
如需更多資訊瞭解SVG在TouchGFX中如何渲染,請參閱SVG一文。

向量字型渲染

為了能在TouchGFX Generator啟用向量字型渲染,必須啟用Vector Rendering (向量渲染) (選擇software (軟體)或hardware (硬體))。 就向量字型渲染功能而言,開發人員有以下兩種選項:

  • Disabled (停用):停用對應用程式的向量字型渲染支援。
  • Enabled (啟用):啟用對應用程式的向量字型渲染支援。

繪製向量字型的效能會受到Vector Rendering (向量渲染)參數的選項影響(亦即hardware (硬體)的速度最快)。

若向量字型渲染已啟用,使用者可在其應用程式針對字體排印選擇向量格式類型。 否則,僅有點陣圖格式類型可供選擇。

Further reading
如需深入了解向量字型如何在TouchGFX中運作,請參閱向量字型一文。

8位元LTDC色彩查閱資料表

若LTDC設定以L8格式讀取影像緩衝區,且TouchGFX於ABRG2222ARGB222BGRA2222RGBA2222進行渲染,TouchGFX Generator將提供CLUT,並於TouchGFXHAL::initialize()期間載入至LTDC之中。 有關LTDC和CLUT的用法,詳見STM32 MCU參考手冊。