STM32 Programlamaya Giriş

  • 07-03-2019 01:48
  • 518

Bu yazımızda STM32f10x serisi mikrodenetleyici ile çalışmak için gerekeli donanım ve yazılımları inceleyeceğiz. Öncelikle MCU'nun özelliklerine kısaca göz atalım.

ARM Cortex M3 (72MHz) işlemci,  farklı özelliklere sahip 11 adet timer, DMA, USART, SPI, IIC, USB 2.0, CAN özelliklerinden bazıları.Tüm özellikler için datasheet'e bakabilirsiniz.

Programlamaya başlamak için STM32f10x mikrodenetleyici geliştirme kartına ihtiyacımız var. Piyasada birçok model bulunuyor. Geliştirme kartı seçerken dikkat etmeniz gereken, yazdığınız programları aktarırken başka bir araca ihtiyacınız olup olmadığıdır. Bazı geliştime kartlarını programlamak için ST-Link kullanılıyor. Aşağıda resmi olan oldukça basit ama kullanışlı bir geliştirme kartı, bunu programlamak için st-link cihazına ihtiyacınız var. Üzerinde chip dışında bir kaç gerekli parça var. Breadboardlarla uyumlu olması da bir avantaj. 

stm32f103c6

 

Programlama için STM32 programlayabilen ST-Link V2 kullanılıyor, onun da resmi altta. Kullanımları oldukça basit, st-link usb'ye takılıyor birlikte gelen kablolar ile geliştirme kartıa bağlanıyor.

 

 

st-link v2

Buraya kadar donanımsal gereksinimleri anlattım. Şimdi yazılım kısmına geçeceğiz. STM32 mikrodenetleyici programlamak için kullanacağımız Ide CoIde ama kullanabileceğiniz ücretli farklı alternatifler mevcut önde gelenleri IAR,Keil. Bu sayfadan kullanılabilecek tüm Ide'leri görebilirsiniz. CoIde'nin resmi sayfası kapandığı için alternatif olarak buradan indirebilirsiniz: download  CoIDE-1.7.8 . Sürümlerden v1.7.8 kullanıyorum ve tavsiye ederim. Bir de derleyiciye ihtiyacımız var. Bu da gcc, buradan download edebilirsiniz. Kurulumlar tamamlandıktan sonra CoIde Project menüsünden Select Toolchain Path öğesini seçip gcc'nin kurulu olduğu konumun altındaki bin klasörünü seçiyoruz böylece kurulum işlemi tamamlanıyor.

Şimdi ilk projemizi oluşturalım. CoIde Project menüsünden New Projet'i seçiyoruz. Açılan diyalogda projenin ismini ve konumunu seçiyoruz. Daha sonraki adımda chip ve geliştirme kartı secenekleri cikiyor buradan chip'i seçip next butonuna basıyoruz. Açılan yeni sayfadan üretici firmayi ve açılan listeden kullandığımız chipi seciyoruz. Ve sonucta Repository sayfası karşimiza çikiyor. İlk sayfada genel özellikler var bunlardan proje içinde kullanacaklarımızı seçiyoruz, ilk aşamada CMSIS-Core, CMSIS-Boot yeterli. Sayfanın en alt kısmında 'Others' tabı var burada proje içinde kullanacağımız chip özelliklerini seciyoruz. Örnegin timer kullanacaksak TIM kutusunu işaretliyoruz. Eger projeye dahil etmediğimiz bir özelliği kullanırsak derleyici hata veriyor. 

Uygulamamızı yazdıktan sonra st-link bilgisayar ve geliştirme kartı bağlantısını yapıyoruz. Geliştirme kartı üzerinde bulunan, yukarıdaki resimde üstte olan jumperı çıkarıp sağ tarafa takıyoruz. Programı yükledikten sonra eski konumuna alıyoruz. Coide'nin toolbarda bulunan "download code to flash" butonuna tıklıyoruz ve yazdığımız program çipe yükleniyor daha sonra st-link soket bağlantısını çıkarıp jumper konumunu değiştirip usb yada st-link bağlantısını yapıyoruz ve program çalışıyor. 

Eğer yüklemede sorun yaşarsanız St-link programını kullanabilirsiniz. Bu adresten üye olarak yükleyebilirsiniz.

Yükleme 3 aşamadan oluşuyor. İlk önce yükleyeceğimiz dosyayi File menusu altından Open File seceneği ile  proje dosyasının altında .hex uzantılı dosyayı seciyoruz. Daha sonra Target menüsünden Connect seçeneğini seçiyoruz (cihazla bağlantı kuramazsa hata verir). Son olarak yine Target menüsünden Program&Verify seçiyoruz. Download başlıklı bir diyalog açılıyor burdan start diyerek programı yüklüyoruz.

Denemeniz için örnek bir proje yüklüyorum ledi yakıp söndüren timer kullanılarak yapılmış küçük bir program. Download

st-link utility screenshot