STM32CubeMX Programına Genel Bakış

STM32’ye başlarken geliştirme araçları arasında ST tarafından da çok övülen bir program sürekli gözüme çarpıyordu. Donanım alanında kısmen yeterli ön bilgi edindiğime göre artık yazılım kısmını incelemeye başlayayım dedim. Yazılımı incelerken donanımda olduğu gibi tüm araçları ve kaynakları yavaş yavaş inceleyeceğim. Sonuçta hedefimizde led yakma veya robot yapma değil öğrenme olduğu için uygulama yapma konusunda bir acelemiz yok. Önceki yazımda geliştirme ortamlarını listelemiş ve ST’nin desteklediği ücretsiz iki geliştirme ortamını tavsiye etmiştim. Bunlardan biri TrueStudio diğeri ise System Workbench geliştirme ortamlarıydı. Bu ikisini de ST’nin internet sayfasından ücretsiz indirip kullanabiliriz. Keil, IAR gibi ücretli ve üçüncü parti geliştirme ortamlarına ihtiyacımız yok. Bu saydığım geliştirme ortamları ise Eclipse tabanlı olduğu için birbirine oldukça benziyor. İçerisine entegre edilmiş ARM araçları sayesinde derleme işlemini yapıyoruz. Program geliştirirken de bu araçları ve dosyaları incelememiz gerekebilir.

Bunlardan başka olarak ST bize HAL kütüphanesi gibi işimizi kolaylaştıran geliştirme araçlarının olduğu STM32Cube adlı geliştirme paketini ücretsiz veriyor. Bu pakette neler olduğunu ayrı bir makalede sizlere açıklayacağız.  Bunun dışında işimizi daha da kolaylaştıran ve basitleştiren bir program yer almaktadır. STM32Cube bir yazılım paketi iken STM32CubeMX arayüz destekli bir geliştirme ortamıdır. Burada görsel olarak mikrodenetleyiciyi programlayabilir ve hazır kod ve konfigürasyon oluşturabiliriz.

C ile AVR Programlama derslerini yazarken Atmel START ve ASF (Atmel Software Framework) programlarından haberim vardı. ASF aynı Arduino gibi hazır kütüphanelerden oluşan bir program paketiydi ve mikrodenetleyicideki çevre birimlerini yazmaçlara ve bitlere dokunmadan hazır fonksiyonlarla kullanmamızı sağlıyordu. Atmel START ise Arduino’nun bile bize sağlayamadığı bir kolaylığa sahipti ve ayakları görsel arayüzden tıklayarak ve seçerek ayarlayabiliyorduk. Mikrodenetleyiciye olan hakimiyetimizi zayıflatacağı için pek tasvip ettiğim yöntemler olmadığından bahsetme gereği duymayıp doğrudan datasheet üzerinden gitmeyi tercih ettim.

İş STM32’ye gelince ise durum biraz değişiyor. 8-bit mikrodenetleyici haliyle basit yapıda olup öğreneceğimiz fazla şey yoktu.  Ama STM32’nin referans kitapçıklarına ve datasheetine baktığımızda öğrenilmesi gereken oldukça fazla konu görüyoruz. O kadar yazmacı ve özelliği öğrenmek ve karmaşık yapıda bir mikrodenetleyiciyi programlamak oldukça zor olacağı için kendimizi bu kadar zorlamaya pek de gerek olmadığını düşünmekteyim. Bu noktada bu yaklaşımı “hazırcılık” olarak nitelendirmemek gerekir.  STM32CubeMX daha önce incelediğim Atmel START programına oldukça benzer görünüyor. Bu seviyede bir basitleştirmeden hangi donanım olursa olsun pek hoşlanmadığımı belirtmem gerekir.

STM32CubeMX hakkında ön bilgiyi ve dokümanları elde etmek için üreticinin sayfasına girerek işe başlayalım.

https://www.st.com/en/development-tools/stm32cubemx.html

Sitede bahsedildiği üzere CubeMX programı geliştiricilerin emekten, zamandan ve paradan tasarruf etmesi için geliştirilen bir ortamdır. Burada iki ayrı programın farkında olmak gerekir. STM32Cube ve STM32CubeMX programları ad olarak benzer olsa da aslında farklı yapıdadır. CubeMX görsel konfigürasyon aracı olup grafik tabanlı sihirbazlarla C kodu üretir. Bu üretilen C kodu üzerine programımızı yazarız.

STM32Cube ise HAL, LL API’lerini ve RTOS, TCP/IP, USB gibi middleware yazılımlarını barındırır. Asıl önemli olan paket budur.

STM32CubeMX programını yukarıda verdiğim bağlantıdan indirip programı kurabilirsiniz. Programı kurmadan önce verilen dokümanlara bir göz gezdirelim.

DB2163: STM32 configuration and initialization C code generation

Bu doküman databrief olup sitede yer alan bilgiyi PDF dosyası halinde sunmaktadır.

UM1718: STM32CubeMX for STM32 configuration and initialization C code generation

Bu doküman kullanma kılavuzu olup indirip okumamız gereklidir. Programı nasıl kullanacağımızı bu kılavuzdan öğrenmekteyiz. Diğer dosyalar sürüm notları ve lisans anlaşmaları olduğu için göz ardı ediyoruz.

Aşağıdaki bağlantıdan kullanma kılavuzunu indirip inceliyoruz.

https://www.st.com/resource/en/user_manual/dm00104712.pdf

Tam 327 sayfalık bir kullanma kılavuzu bizi karşılıyor. Ama içeriğe baktığımızda oldukça basit bir dille kullanımı anlatılıyor. Zaten basitleştirilmiş bir program olduğu için kavramakta zorluk yaşanmayacaktır. İleride bu program ile uygulamaları sizlerle paylaşacağım. Yazımızı burada bitirelim.

Gökhan Dökmetaş

Bilgi Teknolojileri Uzmanı

You may also like...

2 Responses

  1. Mustafa B dedi ki:

    Gokhan hocam yakindan takipteyiz. gonulden tebrikler…

  1. 28/11/2018

    […] makalemizde STM32CubeMX programını genel olarak incelemiştik. Bu makaleyi buradan okuyabilirsiniz. Bu makalede ise önceki makalede anlattıklarımızı uygulayarak görme […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.