반응형
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에 뜨는 구조!
반응형
'펌웨어 개발자의 팁' 카테고리의 다른 글
ILI9341V 드라이버 SPI LCD 및 GFX Designer 사용법 1탄 (34) | 2025.09.12 |
---|