STM32 Programlamaya Giriş

STMicroelectronics tarafından üretilen STM32 mikrodenetleyici ailesi, ARM Cortex-M 32-bit işlemci çekirdek tabanlıdır.

STM32, çok çeşitli alanlarda kullanılan en popüler mikrodenetleyicilerden biridir.

STM32 mikrodenetleyiciler, sensörler, ekranlar, kameralar, motorlar vb. dahil olmak üzere her türlü elektronik bileşenle ara birim oluşturabilen çok sayıda seri ve paralel çevre birimi sunar. Tüm STM32 varyantları, dahili olarak flash bellek ve RAM ile birlikte gelir.

STM32 ile mevcut performans aralığı oldukça geniştir. En temel varyantlardan bazıları, sadece 24 MHz saat frekansıyla başlayan ve 16 pin kadar az paketler halinde bulunan STM32F0 ve STM32F1 alt serilerini içerir.

Daha performanslı olan STM32H7, 400 MHz’e kadar çalışır ve 240 pinli paketler halinde mevcuttur.

Ciddi sayısal işleme gereksinimlerine sahip uygulamalar için Floating Point Units (Kayan Nokta Birimleri (FPU)) ile daha gelişmiş modeller mevcuttur.

Son olarak, STM32L alt serisi özellikle küçük bir pille çalışan düşük güçlü taşınabilir uygulamalar için tasarlanmıştır.

Geliştirme Araçları

Kod yazmak, mikrodenetleyiciyi programlamak, kodu test etmek ve hata ayıklamak için geliştirme araçları kullanmamız gerekir. Geliştirme araçlarında şunlar bulunur:

  • Derleyici (Compiler)
  • Hata Ayıklayıcı (Debugger)
  • Devre İçi Seri Programlayıcı (In-Circuit Serial Programmer(ICSP))

STM32 mikrodenetleyicilerinde kod geliştirmek için çeşitli yazılım geliştirme araçları bulunmaktadır. En yaygın 2 geliştirme araçları şunlardır:

  • Keil MDK ARM (uVison5 IDE) – MDK ARM IDE, ücretsiz olarak indirilebilen çok kararlı bir geliştirme ortamıdır. 32 KB program boyutuna kadar kod geliştirilmesine olanak tanır. Daha büyük programlar geliştirmek için lisanslı sürümünün satın alınması gerekir.
  • COIDE – Eclipse IDE’nin kırpılmış bir versiyonunu temel alan ücretsiz bir geliştirme ortamıdır.

Yazılım araçlarının yanı sıra, gerçek mikrodenetleyicideki kodu programlamak ve test etmek için bir In-Circuit Serial Programmer (ICSP) gereklidir. ICSP, mikro denetleyiciyi bir USB bağlantı noktası üzerinden PC yazılım araçlarına arayüzlemek için gereklidir.

ARM Cortex-M mikrodenetleyicileri iki programlama protokolünü destekler: JTAG ve SWD.

Bu protokolleri destekleyen birkaç ICSP programcısı vardır, bunlardan bazıları:

  • Keil U-Link 2
  • Segger J-Link
  • ST-Link

Teorik bilgileri verdiğimize göre bir sonraki dersimizde STM32 programlamaya başlayalım ve ilk kodumuzu yazalım. Görüşmek üzere!