跳轉到主要內容

其他功能

如果專案設定中有任何可用的其他功能,就會出現「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 (硬體)的速度最快)。

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
See the Vector Fonts article for more information on how Vector Fonts work in TouchGFX.

8位元LTDC色彩查閱資料表

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