26 Haziran 2015 Cuma

1) STM32F4 Discovery Hakkında

     Arm İşlemciler
   Tarihsel olarak 1983 yılında Acorn Computers Ltd tarafından geliştirme projesi olarak ARM dizaynı başlamıştır. Bu firma kendi başına işlemci üretmeyip, dizayn ve lisansı satmaktadır. CISC(Complex Intruction Set Computer) tabanlı işlemcilere göre özelleştirilebildiğinden aynı jenerasyon işlemci farklı üreticilerden değiştirilmiş olarak çıkabilir, Buna bağlı olarak da performans farklılıkları görülebilmektedir. Bu yüzden işlemci jenerasyonları ve karakteristikleri incelenirken ARM referans tasarımı ele alınmaktadır. 
   ARM mimarisi (orijinal adı Acorn RISC Machine) RISC(Reduced Intruction Set Computer) tabanlı bir işlemci mimarisidir, 32 ve 64 bit versiyonları vardır, genel olarak düşük güç tüketimi, diğer RISC tabanlı işlemcilere göre yüksek performanslı oluşu ve Intel x86-x64 işlemcilere göre daha hesaplı olmasından dolayı gömülü sistemlerde, taşınabilir aygıtlarda kullanılan yonga setlerinde genelde ARM işlemci tercih edilmiştir . Piyasada bulunan fotoğraf makinesi tablet, telefon gibi cihazların yaklaşık %85 inde ARM işlemcilerin kullanıldığı belirtilmektedir. ARM işlemcilerde aşağıda ki şekilde görüldüğü gibi üç temel grup vardır (Kaynak: www.arm.com). Uygulama seviyesindeki ARM Cortex-Axx serisi işlemciler 2,4 GHz’e kadar çıkan hızları ile daha çok akıllı telefon, fotoğraf makinesi gibi elektronik cihazlarda kullanılmaktadır.



   STM32F4 Discovery
  •  168 MHz CPU clock / 8 MHz harici clock
  •  32 bit ARM Cortex-M4 CPU
  •  1 MByte Flash / 198 KByte Ram
  •  3 adet 12 bit ADC / 2 adet 12 bit DAC / 24 bit audio codec DAC
  •  Dahili çip mikrofon / Dahili audio çıkış
  •  17 adet Timer
  •  3 eksenli ivmeölçer  (4 adet ledin ortasında)
  •  Usart / SPI / I2C / CAN haberleşme çevre birimleri
  •  DSP özelliği (floating point desteği)
  •  Dâhili debugger/programmer gibi özelliklere sahiptir. Kartın yapısına bakıldığında da daha çok ses ve video gibi uygulamalar için geliştirildiği görülmektedir. Ayrıca bazı değişikliklerle işlemci hızının 240 MHz lere kadar çıktığı söylenmektedir ama hiç denemedim doğrumu bilmiyorum.

   Ben bu kartı ilk olarak Mikes'de yaptığım stajda öğrenmeye başladım. Yüksek performanslı oluşu, özellikleri ve fiyatı karşılaştırıldığında gayet iyi bir mikro kontrolör olduğu aşikar. Yurt dışında fiyatı yaklaşık 23 dolar (Bangood'dan +1.3 dolar air tracking + 15 gün bekleme süresiyle alabilirsiniz), Türkiye'de ise fiyatlar biraz daha pahalı yani 80 ile 110 TL arasında ama Çizgi Market'de ücretsiz kargo ile 53 TL ye ertesi gün alabilirsiniz. Aradaki fiyat farkı şaşırtıcı ama Çizgi Market kar amaçlı bir firma değil (reklam yapmıyorum) eğitim videoları ve dokümanları da mevcut. FPGA gibi diğer ürünleride buradan daha ucuza alabilirsiniz.
   Gelelim bu Mikro kontrolörümüzü nasıl programlayacağımıza. Bu iş için 4-5 tane derleyici var. Coocox, MDK_Arm (yani Keil), MicroC, IAR en çok bilinenler. Ancak en çok kullanılan ve çok fazla döküman bulabileceğiniz derleyici Keil'dir. Kullanımı bence zor çünkü kütüphaneleri eklemek çok sıkıntılı ve daha bir çok ayarlama yapmak lazım. Ben kullanmakta çok zorlandım ve kullanmıyorum. Ben MicroC kullanıyorum ve uygulamaları bunun üzerinden göstereceğim. Kullanımı çok kolaydır neredeyse hiç sıkıntı çıkartmadı bana. MicroC indir. Fakat MicroC 2 KByte'a kadar demo için hak tanıyor. Bunu aşmanın bir yolu var. Bana ulaşırsanız nasıl yapıldığını anlatabilirim.