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
- STM32 MCU tabanlı bir çekirdek kartı/geliştirme kartı: STM32F429IGT6;
- RGB arayüzlü bir ekran, önerilen çözünürlük: 800*480;
- ST-Link veya uyumlu hata ayıklayıcı;
- Yazılım
- ARM Keil uVision5 (bu makalede kullanılan sürüm: V5.38.0.0);
- STM32 CubeMX (bu makalede kullanılan sürüm: 6.9.2);
- 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:
RCC sistem saati: Harici kristal osilatör olarak yapılandırılmış yüksek hızlı harici saat (HSE).
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.
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.
DMA2D ayarları: DMA2D'yi etkinleştirin, renk modunu RGB565 olarak ayarlayın ve DMA2D kesmelerini etkinleştirin.
LTDC parametre ayarları: LTDC parametrelerini kullanılan ekran parametrelerine göre yapılandırın.
LTDC katman ayarları: Burada 1. katmanı seçin ve çerçeve tampon adresini SDRAM'ın ilk adresi olan 0xC0000000 olarak ayarlayın.
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.
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).
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.
CRC'yi etkinleştir: TouchGFX'in CRC işlevini etkinleştirmesi gerekiyor.
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.
Touchgfx bileşen paketini seçin.
TouchGFX parametre ayarları: çift tamponlamayı ve RGB565'i seçin, ardından DMA2D hızlandırmasını etkinleştirin.
Proje Yöneticisi: Proje adını, proje konumunu ve bağlayıcıyı ayarlama. (Minimum yığın boyutu 0x800 olarak ayarlanmıştır.)
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.)
TouchGFX Designer
Keil projesi oluşturulduktan sonra, kod şu konumda başarıyla oluşturulur:
E:/STM32 Project/STM32F429/TouchGFX FreeRTOS
Bu yolu buluyoruz. TouchGFX dizininde ApplicationTemplate.touchgfx.part dosyası bulunuyor. Kullanıcı arayüzünü tasarlamak için TouchGFX Designer'ı tıklayarak açın.
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.
Harici bellek yongasını çalıştırmak için fmc.c dosyasındaki MX_FMC_Init() işlevine SDRAM başlatma işlevini ekleyin.
touchgfxhal.cpp dosyasında ekran arka ışığını etkinleştirin.
İlgili görevi ekleyin ve TouchGFX işleme işlevini ekleyin.
İndir ve Deneme
Derleme işlemi başarıyla tamamlandıktan sonra, programı geliştirme kartına aktarın.
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.




