주요 내용으로 건너뛰기

Additional Features

프로젝트 구성에서 추가 기능을 사용할 수 있는 경우 Additional Features 그룹이 나타납니다.

TouchGFX Generator의 Additional Features 설정

External Data Reader

RGB565 Framebuffer Pixel Format의 경우 TouchGFX는 개발자가 메모리에서 버퍼의 추가 비용이 발생하는 캐싱 대신에 메모리 매핑되지 않은 직렬 플래시에서 직접 데이터를 읽을 수 있게 해주는 Data Reader 인터페이스를 지원합니다. 메모리 매핑되지 않은 플래시 칩에서 애플리케이션 애셋을 검색하기 위해 DataReader를 구현하는 방법에 대한 예제는 SerialFlash 문서를 참조하시기 바랍니다.

Data Reader 옵션은 일반적으로 추가 버퍼용 메모리가 충분하지 않은 저가 솔루션(예: STM32G0)에서 사용됩니다.

개발자는 다음 구성을 만들 수 있습니다.

  • External Data Reader: 이 기능을 활성화 또는 비활성화하십시오. 활성화하면 TouchGFX가 생성된 인터페이스를 통해 직접 애셋에 대한 데이터를 검색합니다. 비활성화된 경우에는 개발자가 대신에 메모리의 버퍼에 이미지를 캐싱해야 합니다.
  • External Data Reader: Memory base address: 외부 data raeder 메모리의 시작 주소를지정합니다.
  • External Data Reader: Memory size: 외부 data reader 메모리의 크기를 지정합니다.
  • External Data Reader: Line Buffer Size: 이미지 또는 텍스트를 프레임 버퍼에 블렌딩할 수 있도록 두 개의 버퍼를 생성합니다. ARGB8888 픽셀 형식에서 전체 크기 이미지를 지원할 수 있도록 1 화면 너비 4바이트*가 기본 값이 됩니다.
  • External Data Reader: Minimum DMA transfer size: DMA 전송을 시작하는 데 필요한 최소 바이트를 설정합니다. 더 적은 바이트가 요청되면 DMA가 사용되지 않습니다.

External Data Reader가 활성화된 상태에서 코드를 생성한 후에는 TouchGFX Generator에서 다음과 같은 추가 파일이 생성되어 비메모리 매핑 플래시에서 직접 애셋 검색을 지원합니다.

  • 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입니다.

DataReader를 사용하기 위해 TouchGFX HAL을 구성할 수 있도록 다음 파일이 수정됩니다.

  • TouchGFX/target/generated/TouchGFXConfiguration.cpp
  • TouchGFX/target/generated/TouchGFXGeneratedHAL.cpp
  • TouchGFX/target/generated/TouchGFXGeneratedHAL.hpp
Note
DataReader Additional Feature는 DMA2D 및 LTDC가 비활성화된 경우에만 사용할 수 있습니다.

벡터 렌더링

TouchGFX Generator에서 벡터 렌더링을 구성하려면 프레임 버퍼 픽셀 형식이 RGB565, RGB888 또는 ARGB8888이어야 합니다. 벡터 렌더링 기능과 관련해 개발자에게 세 가지 옵션이 제공됩니다.

  • Disabled - 애플리케이션에 대한 벡터 렌더링 지원을 비활성화합니다.
  • 소프트웨어 - 애플리케이션에 대한 소프트웨어 벡터 렌더링 지원을 활성화합니다.
  • 하드웨어 - 애플리케이션에 대한 하드웨어 벡터 렌더링 지원을 활성화합니다.

소프트웨어를 선택하는 경우 CPU가 벡터 렌더링 작업을 수행합니다. GPU2D(Neochrom)를 사용할 수 있는 MCU의 경우 GPU2D에서 벡터 렌더링을 수행하여 성능을 개선하는 하드웨어 옵션을 사용할 수 있습니다.

Caution
애플리케이션에서 TouchGFX Designer에서 나온 SVGImage 위젯을 사용하고 싶은 경우에는 TouchGFX Generator에서 Vector Rendering이 활성화 상태로 설정되었는지 확인하십시오. 그렇지 않으면 컴파일 중에 "no definition for touchgfx::VectorRenderer::getInstance()" 오류가 발생합니다.
Tip
장치에서 GPU2D(NeoChrom)를 사용할 수 있는 경우(예: STM32U599), 최적의 벡터 렌더링 성능을 위해 이를 활성화할 수 있습니다.
Further reading
TouchGFX에서 SVG가 렌더링되는 방식에 대한 자세한 정보는 SVG 문서를 참조하십시오.

벡터 글꼴 렌더링

TouchGFX Generator에서 벡터 글꼴 렌더링을 활성화하려면 벡터 렌더링(소프트웨어 또는 하드웨어)을 활성화해야 합니다. 개발자에게는 벡터 글꼴 렌더링과 관련하여 두 가지 옵션이 있습니다.

  • 비활성화 - 애플리케이션의 벡터 글꼴 렌더링 지원을 비활성화합니다.
  • 활성화 - 애플리케이션의 벡터 글꼴 렌더링 지원을 활성화합니다.

벡터 글꼴 그리기 성능은 벡터 렌더링 매개변수(예: 하드웨어가 가장 빠름) 옵션의 영향을 받습니다.

8비트 LTDC CLUT(Color Look Up Table)

LTDC가 L8 형식의 프레임 버퍼를 읽도록 구성되고 TouchGFX가 ABRG2222, ARGB222, BGRA2222 또는 RGBA2222로 렌더링되는 경우, TouchGFX Generator는 TouchGFXHAL::initialize() 동안 LTDC에 로드되는 CLUT를 제공합니다. LTDC 및 CLUT 사용에 대한 자세한 내용은 STM32 MCU 참조 매뉴얼을 참고하시기 바랍니다.