STM32CubeMX, STMicroelectronics (ST) tarafından piyasaya sürülen bir STM32 yonga grafik yapılandırma aracıdır. Bu yazılım, verimli ve kullanımı kolaydır. Basit işlemlerle birçok yapılandırmayı gerçekleştirebilir, C dili kodunu oluşturmak için grafik sihirbazların kullanılmasını sağlar ve MDK, IAR For ARM, TrueStudio ile diğer araç zincirlerini destekler.
STM32CubeMX'e Giriş
STM32CubeMX, yaygın olarak kullanılan bir STM32 yonga grafik yapılandırma aracıdır. Bu araç, yonga seçimi, pin ataması ve işlev yapılandırması, ara yazılım yapılandırması, saat yapılandırması, başlangıç kodu ve proje işlevlerini bir araya getirir.
STM32, açık kaynak topluluğundan FreeRTOS, FatFS, mbedTLS gibi çok sayıda açık kaynak ve ST bağımsız fikri mülkiyet orta katman yazılımını destekler; ST'nin kendi USB ana bilgisayar ve cihaz protokol yığını, TouchGFX vb.
STM32CubeMX'in Avantajları
- Neredeyse tüm STM32 serisi yongaları kapsar;
- Çeşitli çevre birimlerinin karmaşık parametrelerini yapılandırmaya gerek yoktur;
- Başlatma kodunu oluşturmak için grafik sihirbazlarının kullanımını destekler;
- MDK, IAR For ARM, TrueStudio vb. gibi çoklu araç zincirlerini destekler.
STM32CubeMX İndirme ve Kurulum
STM32CubeMX'i yüklemeden önce, bilgisayarınızda JRE (Java Çalışma Ortamı) yüklü olduğundan emin olun:
STM32CubeMX İndir

STM32CubeMX Kurulumu
Şu anki (2023) en son sürüm V6.9.2'dir. Kurulumu destekleyen işletim sistemleri şunlardır:
- Windows: 7, 8, 10 (32 ve 64 bit)
- Linux: RedHat, Ubuntu ve Fedora (32 ve 64 bit)
- macOS: OS X El Capitan ve Sierra

HAL Kütüphanesini Yükle
STM32 HAL donanım yazılımı kütüphanesi, Donanım Soyutlama Katmanı (Hardware Abstraction Layer) anlamına gelir. Bu, STM32 mikrodenetleyiciler arasında sorunsuz bir geçiş sağlamak amacıyla ST Company tarafından STM32 mikrodenetleyiciler için piyasaya sürülen en yeni soyutlama katmanı gömülü yazılımıdır.
HAL kütüphanesi piyasaya sürüldüğünde, RTOS, USB, TCP/IP ve grafikler dahil olmak üzere birçok üçüncü taraf ara yazılım da eklenmiştir.
HAL kütüphanesinde iki yöntem bulunmaktadır: çevrimiçi kurulum ve çevrimdışı kurulum.
Burada ilk yöntemi gösteriyoruz:
Yüklü STM32CubeMX yazılımını açın ve kütüphane yönetimi arayüzüne girin (Yardım -> Gömülü yazılım paketlerini yönet). Ardından, yüklemek istediğiniz HAL kütüphanesini işaretleyin ve yükleme tamamlanana kadar "Şimdi Yükle" düğmesine tıklayın. Aşağıdaki animasyonda gösterildiği gibi:

STM32CubeMX Projesi Nasıl Oluşturulur?
Bu eğitimde, yeni başlayanlar için LED'in yanıp sönmesini gösteren basit bir örnek sunuyorum.
Gerekli Araçlar
- STM32CubeMX ve HAL kütüphanesi;
- Bir geliştirme kartı;
- Bir ST-Link indirici;
- MDK-ARM, EWARM, TureSTUDIO, SW4STM32 vb. gibi bir IDE
Yeni Bir Proje Oluştur
MCU Seçiciyi Aç
STM32CubeMX'i açın ve MCU seçiciye girin.

MCU'yu seçin
MCU modelinizi seçin (örneğin STM32F103ZET6).

Saat Kaynağını Seç
Harici bir yüksek hızlı saat (HSE) kullanmayı tercih ederseniz, System Core'da RCC'yi yapılandırmanız gerekir (aşağıda gösterildiği gibi). Varsayılan dahili saat (HSI) kullanılıyorsa, bu adım atlanabilir.

GPIO (LED) Pini Seç
Burada LED'i açıp kapatmak için bir GPIO pini (PF8) kullanıyoruz.

Saati Ayarla
Varsayılan saat, dahili yüksek hızlı saattir (HSI). Burada bunu harici yüksek hızlı saate (HSE) değiştiriyoruz.

Proje Yöneticisi
Burada proje ayarlarınızı kendiniz belirleyebilirsiniz: proje adı, proje konumu, araç zinciri/IDE ve daha fazlası.

Kod Oluştur
Yukarıdaki işlemler, temel yapılandırmaya sahip basit bir projeyi tamamlar. Tek yapmanız gereken "Kodu Oluştur" düğmesine tıklamaktır. Kod başarıyla oluşturulduktan sonra projeyi açabilirsiniz. Projenizi açmadan önce Keil'in MDK ARM yazılımını yüklemeniz gerekir.

Uygulama Kodunu Ekle
Oluşturulan kod yeterince eksiksiz değil ve kendi uygulama kodumuzu eklememiz gerekiyor. Aşağıdaki şekilde gösterildiği gibi, main.c dosyasına bir LED yanıp sönme kodu ekliyoruz; böylece geliştirme kartındaki LED her 1000 milisaniyede bir yanıp sönecek.

Not:
- 1000 ms'lik gecikme süresi için saatinizin doğru şekilde yapılandırılmış olması gerekir.
- LED'e karşılık gelen pinlerin, gerçek geliştirme ortamınızla tutarlı olması gerekir.
- Oluşturulan MDK-ARM projesini derleyip indirdikten sonra, çalışabilmesi için yeniden sıfırlamanız gerekir.




