ARM MİMARİLİ STM32F407

11.11.2014 tarihinde yayınlandı.

ARM MİMARİLİ STM32F407 MİKRODENETLEYİCİSİNİN
MİKROC DİLİYLE TASARIMINA GİRİŞ
 
C dili günümüzdeki en popüler programlama dillerindendir. Gömülü sistemlerde (embeded system), sürücü yazılımlarında, işletim sistemi modülleri ve hız (performans) gerektiren yerlerde yaygın kullanılan, orta seviyeli dildir. Diller aşağıdaki şekilde sınıflandırılırlar. 

1. Seviyelerine göre sınıflandırma.
2. Uygulama alanlarına göre sınıflandırma.

Bir programlama dilinin seviyesi deyince o programlama dilinin insan algısına olan yakınlığının derecesini anlıyoruz. Bir programlama dili insan algılasına ne kadar yakınsa o kadar yüksek seviyeli demektir (high level). Yine bir programlama dili bilgisayar veya elektronik kontrol devresi yapısına ve çalışma biçimine ne kadar yakınsa o kadar düşük seviyeli (low level) demektir. Yüksek seviyeli dillerle çalışmak programcı açısından kolaydır. Bu dillerde yalnızca nelerin yapılacağı programa bildirilir ama nasıl yapılacağı bildirilmez. Genel olarak programlama dilinin seviyesi yükseldikçe , o dilin öğrenilmesi ve o dilde program yazılması kolaylaşır. Programlama dilleri seviyelerine göre; alçak, orta, yüksek ve çok yüksek seviyeli diller şeklinde sınıflandırılabilir.  
 
Çok yüksek seviyeli bazı programlama dilleri ya da görsel diller; LABVIEW, FOXPRO, PARADOX, ACCESS, VISUAL BASIC, IV. Kuşak dilleri.
 
Yüksek seviyeli bazı programlama dilleri; PASCAL, COBOL, FORTRAN, BASIC.
 
Orta seviyeli bazı programlama dilleri; C.
     
Alçak seviyeli programlama dilleri; Assembly, Makine Dili
 
Yüksek seviyeli diller tasarımcı için kolaydır. Fakat verimliliği, hızı ve esnekliği azdır. Alçak seviyeli diller elektronik devrelerin çalışmasına en yakın olan fakat tasarımcı açısından zor olan dillerdir. Alçak seviyeli dillerde performans çok iyidir.
 
C dili orta seviyeli olduğu için, elektronik devrenin çalışmasına en yakın, performansı iyi ve tasarım açısından zor olmayan bir dildir. Tasarlanan yazılımın sonradan okunup anlaşılması kolaydır. Esnekliği sayesinde elektronik proje için gerekli olan hemen tüm elektronik sinyallerin oluşturulabilmesini sağlar. Bu üstünlükleri sayesinde tüm dünyada kullanılan ortak bir tasarım dili haline gelmiştir. Bu sebeple internet ortamında oldukça fazla paylaşılmış hazır C program kodları bulunmaktadır ve paylaşım platformları her geçen gün artmaktadır. Bazı elektronik malzeme üreticileri, örneğin dijital sensör (dönüştürücü) üreten firmalar, malzemelerinin en optimum kullanılabileceği C dillerini web sayfalarındaki application notes'lar (uygulama notları) altında paylaşmaktadırlar. Elektronik tasarımcılar doğrudan bu kodları alıp başarılı şekilde kullanmaktadırlar.

ARM MİMARİLİ STM32F407 MikroC dili, MikroElektronika firması tarafından C dili üzerine geliştirilmiş, gömülü sistem tasarlama dilidir. MikroC dilini cazip kılan en önemli özellikler; bir çok donanımı destekleyen hazır fonksiyon kütüphaneleri, tasarıma yardımcı araçları (tollkit) ve bir çok işi aynı anda yapabilen editörünün bulunmasıdır.
Çok uzun kodlar yazmaya gerek kalmadan, aynı işi yapacak MikroC  kütüphanesindeki hazır bir adet fonksiyonun kullanılması yeterli olmaktadır. Aynı firmanın geliştirdiği tek bir IDE yazılım içerisinde (MikroC Pro For ARM) ; program editörü, derleyicisi, hata ayıklayıcısı ve tasarıma yardımcı geliştirme araçları da mevcuttur. Mikrodenetleyiciye yüklenecek olan .hex program kodlarını oluşturana kadar başka bir yazılıma ihtiyaç yoktur.

MikroC dili fonksiyon kütüphanesinin başlıkları aşağıda verilmiştir.

Hardware Libraries (Donanım Kütüphanesi)
 Memory Manager Lİbrary
 Multimedia Card Library
 Onewire Library
 Port Expander Library
 PS/2 Library
 PWM Library
 Q15 Library
 Q31 Library
 RS-485 Library
 SDIO Lİbrary
 Software I2C Library
 Software SPI Library
 Software UART Library
 Sound Library
 SPI Library
 SPI Ethernet Library
 SPI Ethernet ECN24J600 Library
 SPI Graphic LCD Library
 SPI LCD Library
 SPI LCD8 Library
 SPI T6963C GLCD Library
 STMPE610 Library
 T6963C Graphic LCD Library
 TFT Display Library
 Touch Panel Library
 Touch Panel TFT Library
 UART Library
 USB Library
 
DSP Libraries (Digital İşaret İşleme Kütüphanesi)
 FIR Filter Library
 IIR Filter Library
 FFT Library
 Vectors Library
 Matrices Library
 Q15 Library
 Q31 Library
  
Standart ASCI C Libraries (Standart ASCI C Kütüphanesi)
 
ANSI C Ctype Library
 ANSI C Math Library
 ANSI C Stdlib Library
 ANSI C String Library
 
Miscellaneous Libraries (Çeşitli Kütüphaneler)
 
Button Library
 Conversions Library
 PrintOut Library
 Sprint Library
 Time Library
 Trigonometry Library
  
MikroC dili yukarıdaki hazır fonksiyon kütüphanelerinin haricinde, kullanıcı tarafından da yeni fonksiyonlar oluşturulmasına imkan vermektedir. MikroC dili C tabanlı çalışan bir derleyici olduğundan, CCSC veya C dili genel kodları da programda kullanılabilmekte ve derlenmektedir. Yani C dilinden bağımsız bir dil değildir, bilakis mevcut C dilinin kolay kullanılmasını hedeflemektedir.    
 
ARM çoğu zaman yanlış kullanılmaktadır. Mikroişlemci veya mikrodenetleyici değil mimari adıdır. 1990’lı yıllardan 2015 li yıllara kadar, 300 firma tarafından, yaklaşık 900 çeşit mikrodenetleyici bu mimari yapı tarafından üretilmiştir.
 
Günümüzde ARM teknolojisi taşınabilir (mobil) elektronik cihazların ortalama %85 ’inde kullanılmaktadır. Taşınabilir cihazlarda, örneğin bir tablette özellikle batarya ile uzun süre kullanılabilmesi için, Cortex Serisi ARM’ler daha çok tercih edilmektedir.

STM32F407 mikrodenetleyicisi Cortex-M4 mimari yapısındadır. Yeni nesil bu mimari, hız ve tüm diğer özelliklerde M0 ve M3 Cortex Serilerinden üstündür. ST firması tarafından üretilmiş, 32 bit (word) ve flash yapılıdır.
 
Üstün donanım özellikleri ile, orta ve ileri seviye projelerde kullanılabilir. 5 adet port ve 82 adet GPIO (Genel çok kullanımlı giriş-çıkış) pini bulunmaktadır.
 
Günümüzdeki projelerde; yüksek görsellik, minimum enerji sarfiyatı ve yüksek performans ön plana çıkmaktadır. 8 bit ve 20MHz. hızlarda kullanılan eski nesil mikrodenetleyiciler bu ihtiyaçları artık karşılayamamaktadır. 32 bit veri yolu ve 168 MHz. gibi hızlar gerektiren projelerde örneğin STM32F407 başarı ile kullanılmakta ve günümüzde en popüler ARM mimarili mikrodenetleyici konumundadır.
 
ARM MİMARİLİ STM32F407 MikroC ile ARM mimarili mikrodenetleyici programla ve tasarım üzerine yazılmış ülkemizde ilk ve en popüler kitap resimde görülmektedir.
 
MikroC ile ARM Programlama (STM32F407) kitabı kıymetli yazarları; sayın Selim KOÇ ve Mehmet Ali DAL beylere, bu eşsiz eseri ülkemize kazandırdıkları için teşekkür eder, başarılarının devamını dileriz.

ARM ile tasarıma başlamak, hemen temin edebilmek ve ilgili donanımlar ile ilgili detaylı bilgi almak için; http://www.elektrovadi.com/ linkini ziyaret edebilirsiniz.

Kod yazmanın önemi ve bilinci ile içerisinde kendini sürekli geliştirme gayreti içerisinde gören teknik arkadaşlarımızı tebrik ediyor ve başarılarının devamını diliyoruz.    






Yazar :
Önder ŞİŞER
(M.Sc.E.E.E.-Elk.Elektronik Yüksek Mühendisi)
R&E Elektronik Teknik Müdür
 @Not: Bu yazıların tüm hakkı sayın Önder Şişer ’e aittir. İzinsiz yayımlanamaz, herhangi bir nedenle kullanılamaz.