Son dönemde mikrodenetleyici programlama konusu “Arm programlama” adıyla anılır oldu. Bu çok da yeni bir durum değil: Bundan 5-10 sene öncesine kadar da “PIC programlama” adıyla anılıyordu. Burada bütün kağıt mendillerin “Selpak” adıyla anılmasına benzer bir durum var. Ülkemizde kağıt mendiller ilk olarak “Selpak” markası ile çıktığından sonraki bütün ürünler bu isimler anılmaya başlanmış. Buna benzer olarak da mikrodenetleyiciler arasında popüler olan modeller bu işe ismini vermeye başlamış. Microchip firmasının PIC serisi mikrodenetleyicileri bir dönem çok meşhur olduğundan mikrodenetleyici programlama bu adla anılır olmuştu.
Şimdi benzer bir durum Arm mikrodenetleyiciler için de oluştu. Eğitim için aldığımız talepler genellikle “Arm programlama eğitimi” üzerine oluyor. Burada da şaşırılacak bir durum yok. Son dönemde piyasada popüler olan mikrodenetleyicilerin büyük çoğunluğunu Arm mimarisindeki modeller oluşturuyor. Arm firmasının geliştirdiği Cortex – M tabanlı CPU mimarisini lisanslayan yarı iletken firmaları kendi mikrodenetleyicilerini üreterek piyasaya sürüyor. ST firmasının STM32 serisi, NXP firmasının LPC serisi, Texas Instrument firmasının Tiva serisi bunlara örnek olarak verilebilir.
Kısaca “Arm programlama” olarak anılan şey aslında Arm tabanlı mikrodenetleyicileri programlamadır. Eğer kurumunuz ve ekibiniz için “Arm programlama eğitimi” almak istiyorsanız aşağıdaki noktaları hatırlamakta fayda var:
- Sadece Arm değil farklı mimarilerdeki mikrodenetleyiciler bugün büyük oranda C programlama dili ile programlanmaktadır. Bu nedenle mikrodenetleyici programlamayı öğrenmek isteyenlerin önce iyi derecede C programlama dilini öğrenmeleri gerekiyor. Ancak bundan sonra mikrodenetleyici programlama eğitimlerine geçebiliyoruz.
- Arm mimarisindeki 32 bit mikrodenetleyiciler yakın geçmişteki 8 bit mikrodenetleyicilere göre çok daha fazla özelliği, dolayısıyla çok daha yüksek karmaşıklık seviyesine sahipler. Bu nedenle başka bir mikrodenetleyici ailesi ile çalışmamış kişileri bu mikrodenetleyicilerle çalışmaya başlaması biraz daha zor olabilir. Burada aradaki geçişi sağlayacak olan “mikrodenetleyici programlama temelleri” gibi eğitimler de planladığımızı paylaşalım.
- Arm mikrodenetleyicilerin karmaşıklığının yüksekliğine firmalar çeşitli çözümler üretmeye çalışıyorlar. Bu çözümler arasında hazır sürücü / donanım soyutlama katmanı kütüphanelerini ve belirli oranda elle yazılması gereken kodları otomatik üreten araçları sayabiliriz. Bu sayede işlemcilerin ayrıntılarına çok hakim olmadan da çalışmak mümkün hale geliyor Tabi burada da bu kütüphenelerin çalışma yapısını öğrenme zorunluluğu ortaya çıkıyor. Ayrıca bu kütüphaneler firmalara özel olduğundan farklı bir firmanın ürününe geçildiğinde bu sefer o firmaya ait kütüphanelerin kullanımının öğrenilmesi gerekiyor.