TouchGFX___FrameBuffer ( Animation Storage ) 설정 방법

2021. 1. 29. 11:06TouchGFX/설정

 

1. 사용버전

  >. STM32CubeIDE Ver1.5.0

  >. TouchGFX Ver4.16.0

 

2. LTDC - Layer Setting

LTDC - Layer Settings

 

3. TouchGFX - Framebuffer

TouchGFX ( Graphics Application ) - Framebuffer 설정

 

Start Address : LTDC 에서 설정한 Frame Buffer Start Address

Start Address 2 : 480 * 272 * 2 ( RGB565 16Bit ) = 0x3FC00  ( RGB888 format 을 사용 하면 0x5FA00 )

 

 

3. 애니메이션 프레임버퍼 설정 ( animationStorage )

  위와 같이 설정해도 동작은 한다. 하지만 애니메이션 효과를 주기 위해서는 애니메이션 프레임버퍼를 할당해줘야 한다. 하지만 CubeIDE 에서는 아무리 찾아 봐도 설정? UI 가 없다??( TouchGFX UI 에 있을거 같기도 하다? 확인해보지 않음.. )

 

TouchGFXGeneratedHAL.cpp

위 그림에서 TouchGFXGeneratedHAL.cpp 선택 하여 파일 열기

 

 

  initialze() 함수 내용 중 setFrameBufferStartsetFrameBufferStartAddressessetFrameBufferStartAddresses(...) 함수 설정 값을 보면 위에서 설정 한 frmaeBuffer ( 0xC0000000 ), doubleBuffer ( 0xC003FC00 ) 값이 설정되어있는것을 볼수 있다. 여기서 마지막 파라메터는 애니메이션 프레임버퍼 이다.

 

아래 그림 처럼 설정 후 사용 하면 애니메이션이 정상적으로 동작한다.

 

0xC0074800 = doubleBuffer + 480 * 272 * 2 ( RGB565 16Bit ) 

 

 

 

 

* 아래는 settFrameBufferStartsetFrameBufferStartAddressessetFrameBufferStartAddresses(...) 함수 참고