Panduan Pengembangan TouchGFX

Daftar Isi

TouchGFX Designer Overview

Pada artikel sebelumnya, kami telah menjelaskan cara menginstal perangkat lunak TouchGFX. Kali ini, kami akan menjelaskan cara menggunakan STM32CubeMX untuk mengintegrasikan TouchGFX ke papan pengembangan STM32 F429IGT6 dan mengendalikan layar RGB.

Bagaimana Cara Memindahkan Proyek TouchGFX Menggunakan STM32CubeMX?

Dalam tutorial ini, tujuan kita adalah memporting proyek TouchGFX ke papan pengembangan STM32.

Peralatan yang Diperlukan

  • Perangkat Keras
  1. Papan inti/papan pengembangan berbasis MCU STM32: STM32F429IGT6;
  2. Layar dengan antarmuka RGB, resolusi yang disarankan: 800*480;
  3. ST-Link atau debugger yang kompatibel;
  • Perangkat Lunak
  1. ARM Keil uVision5 (versi yang digunakan dalam artikel ini: V5.38.0.0);
  2. STM32 CubeMX (versi yang digunakan dalam artikel ini: 6.9.2);
  3. Paket perangkat lunak TouchGFX Generator (versi yang digunakan dalam artikel ini: V4.22.1).

Konfigurasi STM32CubeMX

STM32CubeMX terutama digunakan untuk mengonfigurasi lapisan abstraksi perangkat keras dan lapisan middleware dalam diagram kerangka kerja aplikasi TouchGFX.

Mulai Proyek Baru:

Start a New Project from MCU STM32F429IGT6
Start a New Project from MCU STM32F429IGT6

Jam sistem RCC: Jam eksternal berkecepatan tinggi (HSE) yang dikonfigurasi sebagai osilator kristal eksternal.

RCC Mode and Configuration_Setting HSE as CrystalCeramic Resonator
RCC Mode and Configuration_Setting HSE as CrystalCeramic Resonator

Karena kita perlu menggunakan sistem operasi FreeRTOS, disarankan untuk mengubah sumber Timebase pada pustaka HAL dari SysTick ke timer lain. Setelah memilih timer, sistem akan secara otomatis mengonfigurasi TIM, yang dalam hal ini disetel ke TIM7.

SYS Mode and Configuration_Setting Timebase Source as TIM7
SYS Mode and Configuration_Setting Timebase Source as TIM7

Pengaturan FMC: Konfigurasikan SDRAM eksternal sebagai memori video RGBLCD, dan sesuaikan parameter serta pin sesuai dengan perangkat keras yang Anda gunakan.

FMC Mode and Configuration_Use SDRAM
FMC Mode and Configuration_Use SDRAM
FMC Mode and Configuration Configure the SDRAM parameters
FMC Mode and Configuration_Configure the SDRAM parameters

Pengaturan DMA2D: Aktifkan DMA2D, atur mode warna ke RGB565, dan aktifkan interupsi DMA2D.

Activate DMA2D Mode and Configure Color Mode as RGB565
Activate DMA2D Mode and Configure Color Mode as RGB565
DMA2D Mode and Configuration_NVIC Settings_Enabled Interrupt
DMA2D Mode and Configuration_NVIC Settings_Enabled Interrupt

Pengaturan parameter LTDC: Konfigurasikan parameter LTDC sesuai dengan parameter layar yang digunakan.

LTDC Mode and Configuration_Parameter Settings
LTDC Mode and Configuration_Parameter Settings

Pengaturan lapisan LTDC: Pilih untuk menggunakan lapisan 1 di sini, dan atur alamat buffer bingkai ke alamat pertama SDRAM 0XC0000000.

LTDC Mode and Configuration_Layer Settings
LTDC Mode and Configuration_Layer Settings

Pengaturan pin GPIO LTDC: Konfigurasikan GPIO sesuai dengan koneksi pin pada papan pengembangan yang bersangkutan. Perhatikan bahwa kecepatan output harus diatur ke "Sangat Tinggi"; dan interupsi LTDC harus diaktifkan.

LTDC Mode and Configuration_GPIO Settings
LTDC Mode and Configuration_GPIO Settings
LTDC Mode and Configuration NVIC Settings Enabled Interrupt
LTDC Mode and Configuration_NVIC Settings_Enabled Interrupt

Konfigurasi pohon clock: Ukuran clock piksel adalah 1056*705*60/1024/1024=42M, nilai clock piksel maksimum adalah 42M, di sini nilainya diatur menjadi 33M (1056 adalah lebar total, 705 adalah tinggi total).

Clock Configuration_Input frequency_HSE
Clock Configuration_Input frequency_HSE

Pengaturan pin lampu latar: Papan pengembangan yang dibahas dalam artikel ini menggunakan PB5 sebagai pin lampu latar dan disetel ke mode keluaran push-pull.

GPIO Mode and Configuration_Configure PB5 as Backlight Pin
GPIO Mode and Configuration_Configure PB5 as Backlight Pin

Aktifkan CRC: TouchGFX perlu mengaktifkan fungsi CRC.

Activate CRC Mode
Activate CRC Mode

Aktifkan sistem FreeRTOS: atur ukuran heap menjadi 32768 byte dan biarkan pengaturan lainnya tetap pada konfigurasi default; lalu tambahkan tugas TouchGFX.

FREERTOS Mode and Configuration_Config parameters
FREERTOS Mode and Configuration_Config parameters
FREERTOS Mode and Configuration_Add Tasks and Queues
FREERTOS Mode and Configuration_Add Tasks and Queues

Pilih paket komponen Touchgfx.

Software Packs_Select Components
Software Packs_Select Components
Software Packs Component Selector TouchGFX Generator
Software Packs Component Selector_TouchGFX Generator

Pengaturan parameter TouchGFX: pilih double buffering, RGB565, dan aktifkan akselerasi DMA2D.

TouchGFX Generator_Configure the parameters
TouchGFX Generator_Configure the parameters

Manajer Proyek: menentukan nama proyek, lokasi proyek, dan penghubung. (Ukuran tumpukan minimum ditetapkan sebesar 0x800.)

Project Manager_Setting Project Name, Location, Linker
Project Manager_Setting Project Name, Location, Linker

Buat kode proyek: Setelah STM32CubeMX menghasilkan proyek, jangan buka proyek Keil. (Jika Anda mengkompilasi proyek Keil pada tahap ini, akan muncul banyak kesalahan.)

Generate Project Code_TouchGFX FreeRTOS
Generate Project Code_TouchGFX FreeRTOS

TouchGFX Designer

Setelah proyek Keil dibuat, kode berhasil dihasilkan di:

E:/STM32 Project/STM32F429/TouchGFX FreeRTOS

STM32 Project_Open the Application Template.touchgfx
STM32 Project_Open the Application Template.touchgfx

Kita temukan jalur ini. Di dalam direktori TouchGFX terdapat berkas ApplicationTemplate.touchgfx.part. Klik untuk membuka TouchGFX Designer guna mendesain antarmuka pengguna.

TouchGFX Designer Generate Code
TouchGFX Designer Generate Code

Setelah menyeret dan meletakkan beberapa kontrol serta mengklik "Generate Code" untuk menghasilkan kode, kode yang terkait dengan TouchGFX akan secara otomatis ditambahkan ke proyek.

MKD-ARM Keil Compile

Tambahkan berkas sumber dan berkas header driver SDRAM.

Keil Project_TouchGFX_Edit sdram.c
Keil Project_TouchGFX_Edit sdram.c

Tambahkan fungsi inisialisasi SDRAM ke dalam fungsi MX_FMC_Init() pada berkas fmc.c untuk mengendalikan chip memori eksternal.

Keil Project_TouchGFX_Edit fmc.c
Keil Project_TouchGFX_Edit fmc.c

Aktifkan lampu latar layar pada berkas touchgfxhal.cpp.

Keil Project_Edit TouchGFXHAL.cpp
Keil Project_Edit TouchGFXHAL.cpp

Tambahkan tugas yang sesuai dan tambahkan fungsi pemrosesan TouchGFX.

Keil Project_Edit freertos.c
Keil Project_Edit freertos.c

Unduh dan Coba

Setelah proses kompilasi berhasil, unduh ke papan pengembangan.

Download the project code to the STM32F429 development board
Download the project code to the STM32F429 development board

Jika TouchGFX berhasil diinstal, layar papan pengembangan akan menampilkan antarmuka yang dirancang di TouchGFX Designer.

TouchGFX was successfully ported to the STM32F429 development board
TouchGFX was successfully ported to the STM32F429 development board

Berlangganan

Daftar ke milis kami untuk mendapatkan pembaruan blog bulanan, berita teknologi, dan studi kasus. Kami tidak akan pernah mengirimkan spam, dan Anda dapat berhenti berlangganan kapan saja.

Scroll to Top

Instant Quote