본문 바로가기
펌웨어 개발자의 팁

TouchGFX Designer & CubeIDE 설정 가이드

by 주군연 2025. 9. 13.
반응형

1. CubeIDE에서 TouchGFX 활성화

📌 메뉴 경로: Middlewares → TouchGFX → Enable

  • Display Size: 프로젝트에 맞는 해상도 입력 (예: 320 × 240)
  • Color Depth: RGB565
  • Frame Buffer Strategy
    • RAM 충분할 때 → Single Buffer
    • RAM 부족할 때 → Partial Buffer (예: Height=40~80 라인 단위)
  • Frame Buffer Location:
    • STM32 내부 SRAM 또는 외부 SDRAM

👉 CubeIDE 상에서 이런 식으로 설정됩니다:


2. SPI + DMA 설정

📌 메뉴 경로: Peripherals → SPI1

  • Mode: Half-Duplex Master
  • NSS: Software
  • Frame Format: Motorola
  • Data Size: 8 Bits (안정성 ↑)
  • First Bit: MSB First
  • Baud Rate Prescaler: 2 → 32 Mbit/s (처음엔 8~16 Mbit/s로 테스트 권장)
  • CPOL=Low / CPHA=1Edge → SPI Mode 0

DMA는 다음과 같이 추가:

  • SPI1_TX → Memory to Peripheral, Priority High
  • Data Width: Byte

👉 CubeIDE SPI + DMA 탭은 다음처럼 보입니다:


3. GPIO 핀 매핑

📌 메뉴 경로: Pinout & Configuration → GPIO

  • SPI1_SCK → PB3
  • SPI1_MOSI → PB5
  • SPI1_MISO → PA6 (선택, 안 써도 됨)
  • CS → PC10 (소프트웨어 제어)
  • DC → PF13
  • RESET → PF14
  • BL(백라이트) → PWM 핀 or GPIO

👉 CubeIDE Pinout은 이런 식으로 표시됩니다:


4. TouchGFX Designer 화면

📌 CubeIDE → TouchGFX → Start TouchGFX Designer

  • 해상도: 320 × 240
  • Color Depth: RGB565
  • Designer에서 위젯(아이콘, 버튼, 텍스트 등)을 배치 → Generate Code 클릭
  • 생성된 코드는 CubeIDE 프로젝트에 자동 반영

👉 TouchGFX Designer 메인화면:


5. 최종 빌드 구조

  • CubeIDE에서 코드 생성 → Core/Src에 SPI/GPIO 초기화 코드 자동 생성
  • TouchGFX Designer에서 Generate Code → TouchGFX/ 경로에 UI 코드 자동 생성
  • 우리가 직접 수정할 부분:
    • ili9341_spi.c/h (LCD 전송 코드)
    • TouchGFXGeneratedHAL.cpp (flushFrameBuffer 구현부)

👉 요약:

  • CubeIDE에서 SPI/DMA + GPIO + TouchGFX 설정까지 완료 →
  • Designer에서 UI 디자인 → 코드 생성
  • flushFrameBuffer()에 사각형 전송 코드만 넣어주면 UI가 실제 LCD에 뜨는 구조!
반응형