TouchGFX Geliştirme Kılavuzu

İçindekiler

TouchGFX Designer Overview

Bir önceki makalede, TouchGFX yazılımının nasıl kurulacağını anlatmıştık. Bu yazıda ise STM32CubeMX kullanarak TouchGFX'i STM32 geliştirme kartı F429IGT6'ya aktarmayı ve RGB ekranı çalıştırmayı anlatacağız.

STM32CubeMX Kullanarak TouchGFX Projesini Nasıl Aktarabilirim?

Bu eğitimde amacımız, TouchGFX projesini STM32 geliştirme kartına taşımaktır.

Gerekli Araçlar

  • Donanım
  1. STM32 MCU tabanlı bir çekirdek kartı/geliştirme kartı: STM32F429IGT6;
  2. RGB arayüzlü bir ekran, önerilen çözünürlük: 800*480;
  3. ST-Link veya uyumlu hata ayıklayıcı;
  • Yazılım
  1. ARM Keil uVision5 (bu makalede kullanılan sürüm: V5.38.0.0);
  2. STM32 CubeMX (bu makalede kullanılan sürüm: 6.9.2);
  3. TouchGFX Generator yazılım paketi (bu makalede kullanılan sürüm: V4.22.1).

STM32CubeMX Yapılandırması

STM32CubeMX, esas olarak TouchGFX uygulama çerçevesi şemasında donanım soyutlama katmanını ve ara yazılım katmanını yapılandırmak için kullanılır.

Yeni Bir Proje Başlat:

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

RCC sistem saati: Harici kristal osilatör olarak yapılandırılmış yüksek hızlı harici saat (HSE).

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

FreeRTOS işletim sistemini kullanmamız gerektiğinden, HAL kütüphanesinin Zaman Tabanı Kaynağını SysTick'ten başka bir zamanlayıcıya değiştirmeniz önerilir. Zamanlayıcı seçildikten sonra sistem, burada TIM7 olarak ayarlanan TIM'i otomatik olarak yapılandıracaktır.

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

FMC ayarları: Harici SDRAM'ı RGBLCD'nin video belleği olarak yapılandırın ve parametreleri ile pinleri kendi donanımınıza göre ayarlayın.

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

DMA2D ayarları: DMA2D'yi etkinleştirin, renk modunu RGB565 olarak ayarlayın ve DMA2D kesmelerini etkinleştirin.

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

LTDC parametre ayarları: LTDC parametrelerini kullanılan ekran parametrelerine göre yapılandırın.

LTDC Mode and Configuration_Parameter Settings
LTDC Mode and Configuration_Parameter Settings

LTDC katman ayarları: Burada 1. katmanı seçin ve çerçeve tampon adresini SDRAM'ın ilk adresi olan 0xC0000000 olarak ayarlayın.

LTDC Mode and Configuration_Layer Settings
LTDC Mode and Configuration_Layer Settings

LTDC GPIO pin ayarları: GPIO'yu, kullandığınız geliştirme kartının pin bağlantılarına göre yapılandırın. Çıkış hızının "Çok Yüksek" olarak ayarlanması ve LTDC kesmesinin etkinleştirilmesi gerektiğini unutmayın.

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

Saat ağacı yapılandırması: Piksel saat boyutu 1056*705*60/1024/1024=42M'dir; maksimum piksel saat değeri 42M'dir; burada 33M olarak ayarlanmıştır (1056 toplam genişlik, 705 ise toplam yüksekliktir).

Clock Configuration_Input frequency_HSE
Clock Configuration_Input frequency_HSE

Arka ışık pini ayarları: Bu makalede ele alınan geliştirme kartı, arka ışık pini olarak PB5'i kullanır ve itme-çekme çıkışına ayarlanmıştır.

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

CRC'yi etkinleştir: TouchGFX'in CRC işlevini etkinleştirmesi gerekiyor.

Activate CRC Mode
Activate CRC Mode

FreeRTOS sistemini etkinleştirin: yığın boyutunu 32768 bayt olarak ayarlayın, geri kalan ayarları varsayılan olarak bırakın; ardından bir TouchGFX görevi ekleyin.

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

Touchgfx bileşen paketini seçin.

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

TouchGFX parametre ayarları: çift tamponlamayı ve RGB565'i seçin, ardından DMA2D hızlandırmasını etkinleştirin.

TouchGFX Generator_Configure the parameters
TouchGFX Generator_Configure the parameters

Proje Yöneticisi: Proje adını, proje konumunu ve bağlayıcıyı ayarlama. (Minimum yığın boyutu 0x800 olarak ayarlanmıştır.)

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

Proje kodunu oluşturun: STM32CubeMX projeyi oluşturduktan sonra Keil projesini açmayın. (Bu aşamada Keil projesini derlerseniz, çok sayıda hata mesajı görüntülenir.)

Generate Project Code_TouchGFX FreeRTOS
Generate Project Code_TouchGFX FreeRTOS

TouchGFX Designer

Keil projesi oluşturulduktan sonra, kod şu konumda başarıyla oluşturulur:

E:/STM32 Project/STM32F429/TouchGFX FreeRTOS

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

Bu yolu buluyoruz. TouchGFX dizininde ApplicationTemplate.touchgfx.part dosyası bulunuyor. Kullanıcı arayüzünü tasarlamak için TouchGFX Designer'ı tıklayarak açın.

TouchGFX Designer Generate Code
TouchGFX Designer Generate Code

Bazı denetimleri sürükleyip bıraktıktan ve kodu oluşturmak için "Kod Oluştur" düğmesine tıkladıktan sonra, TouchGFX ile ilgili kod projeye otomatik olarak eklenecektir.

MKD-ARM Keil Derleme

SDRAM sürücüsünün kaynak dosyalarını ve başlık dosyalarını ekleyin.

Keil Project_TouchGFX_Edit sdram.c
Keil Project_TouchGFX_Edit sdram.c

Harici bellek yongasını çalıştırmak için fmc.c dosyasındaki MX_FMC_Init() işlevine SDRAM başlatma işlevini ekleyin.

Keil Project_TouchGFX_Edit fmc.c
Keil Project_TouchGFX_Edit fmc.c

touchgfxhal.cpp dosyasında ekran arka ışığını etkinleştirin.

Keil Project_Edit TouchGFXHAL.cpp
Keil Project_Edit TouchGFXHAL.cpp

İlgili görevi ekleyin ve TouchGFX işleme işlevini ekleyin.

Keil Project_Edit freertos.c
Keil Project_Edit freertos.c

İndir ve Deneme

Derleme işlemi başarıyla tamamlandıktan sonra, programı geliştirme kartına aktarın.

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

TouchGFX'in aktarımı başarılı olursa, geliştirme kartının ekranında TouchGFX Designer'da tasarlanan arayüz görüntülenecektir.

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

Abone ol

Aylık blog güncellemeleri, teknoloji haberleri ve vaka analizleri almak için abone listemize katılın. Asla spam göndermeyeceğiz ve istediğiniz zaman aboneliğinizi iptal edebilirsiniz.

Yazar Hakkında

Picture of Aidan Taylor
Aidan Taylor

I am Aidan Taylor and I have over 10 years of experience in the field of PCB Reverse Engineering, PCB design and IC Unlock.

Yardıma mı ihtiyacınız var?

Scroll to Top

Instant Quote