Gömülü Sistem Rehberi -11- 32-Bit Mikrodenetleyicilere Geçiş

Pek çok kişi 32-bit mikrodenetleyicileri nihai hedef olarak görse de ben günümüzde gerçek manada geliştiriciliğe atılan ilk adım olarak nitelendiriyorum. Eskiden  olduğu gibi yazılımlar birkaç satır Assembly koduyla yazılmamakta, 8-bit mikrodenetleyicilerin çevrebirimleri çoğu zaman yeterli gelmemekte ve gömülü yazılımlar ile bilgisayar yazılımları arasındaki boşluk daralmaktadır. Bu noktada gelişen teknolojiye ayak uydurabilmek ve yeni teknolojiler ortaya koyabilmek için 32-bit mikrodenetleyicilere geçmek gereklidir. 32-bit mikrodenetleyicileri programlamayı öğrenmekle son bulan bir öğrenim süreci olacağını sanmamak gerekir. 32-bit mikrodenetleyicilere geçtikten sonra gelişmiş yazılım konuları karşımıza çıkacak, işletim sistemi ve ileri seviye teknolojileri öğrenmemiz gerekecektir. Örneğin benim karşımda şu an Dijital Sinyal İşleme konusu durmaktadır. İleride yapacağım arge çalışmaları için bunu öğrenmem gereklidir. Pek çok mühendislik öğrencisi ne yazık ki vizyonsuzluktan 32-bit mikrodenetleyici programlamayı “STM32F407” programlama ve ileri seviye yazılım konularını da OpenCV ile görüntü işlemeden ibaret görmektedir. Hatta bir insanın ileri seviye olup olmadığını belirlemedeki kriter de OpenCV ile görüntü işlemeyi bilip bilmediği (!) olmaktadır. Bu tarz yönelimler asla bir geliştiricinin yolu olmamalıdır. Geliştirici bir sürüdeki koyun, bir fabrika hattındaki ürün değildir. Hepsi aynı kalıpta olmaz ve geliştirici kendini geliştirerek farklılaşır. Örneğin OpenCV ile görüntü işleme herkesin dilindeyken ondan çok daha önemlisi dijital sinyal işlemeye kimse meraklanmamaktadır.

32-bit mikrodenetleyiciler son yıllarda iyice ucuzladığı ve yazılımsal desteği arttığından dolayı mikrodenetleyici pazarında en büyük payı almıştır ve mikrodenetleyici pazarının gelişmesinde büyük rol almıştır. Günümüzde 400MHz’lere varan ve megabaytlarca belleği olan mikrodenetleyicilerden söz etmemiz mümkündür. Bir dönemin bilgisayarlarının yaptığı işleri artık mikrodenetleyiciler yapabilmektedir. Donanım kısıtlamasından dolayı yazılımsal olarak sığ olan 8-bit mikrodenetleyiciler yerine işletim sistemi, middleware ve platformları yükleyip kullanabileceğimiz aygıtlar haline gelmiştir. Örneğin .NET veya Java ortamlarını bile 32-bit mikrodenetleyicilerde kullanabiliriz. Bunun yanında pek çok işletim sistemi seçeneği, yazılım yönünden ağır basan protokoller örneğin (FAT, TCP/IP) gibi protokolleri kullanabiliriz. Bu yüzden gömülü sistemlerde bir noktadan sonra ilerlemenin tek yolu 32-bit mikrodenetleyicileri öğrenmektir. 8-bit mikrodenetleyicilerle ne kadar devam edilir bilinmez fakat şimdiden gelecek vaat etmedikleri ortadadır.

Biz burada 8-bit mikrodenetleyicileri kötülememekteyiz. Aksine kendileri oldukça iyi, basit ve etkili elemanlardır. Fakat bir noktadan sonra gerek kapasitesi, gerek hızı ve gerekse çevre birimleri ile ihtiyaçlarımıza cevap vermemektedir. Örneğin bir tarafta saniyede 15 bin ve 10-bit ADC ölçümü yapan AVR dururken öteki tarafta saniyede 5 milyon ölçüm yapan ve 16-bit çözünürlüklü modelleri bile olan STM32 durmaktadır. STM32 kullandığımız zaman yapabileceklerimizin sayısı kat kat artacaktır. Örneğin AVR’de genellikle 3 adet zamanlayıcı olduğundan dolayı frekans işlemlerinde yapabileceklerimiz kısıtlı olmaktadır. STM32’ye baktığımızda ise bazı modellerde 20’ye yakın zamanlayıcı bulunmaktadır. Dijital sinyal işleme komutları olduğu için dijital sinyal işlemeyi etkili bir şekilde yapıp pek çok işi tek bir çipe sığdırma imkanımız vardır. Üstelik bu çip ile yaptığımız devre 8-bit kullandığımız sistemden çok daha ucuza mal olmaktadır. O halde donanım ve maliyet bakımından 32-bit mikrodenetleyicileri öğrenmemeyi gerektirecek bir sebep yoktur diyebiliriz.

32-bit mikrodenetleyicilerin öğrenilmemesinin en büyük sebebi karmaşık ve zor aygıtlar olmaları ve yeni başlayanlar için hakkında kaynak bulunmamasıdır. AVR için binlerce kütüphane, yüzlerce makale ve video yine yüzlerce örnek proje ve onlarca kitap bulunabilirken en popüler 32-bit mikrodenetleyici STM32 hakkında bunun onda birini bile göremeyiz. O yüzden 32-bit mikrodenetleyiciler üzerinde çalışmadan önce kendimizi buna hazırlamalıyız ve kendi kendimize öğrenebilir seviyeye gelmeliyiz. 8-bit ve 32-bit arasındaki fark bir yandan da Arduino ve AVR arasındaki fark gibidir. 8-bit ile az bilgi ve emekle çok iş yapabilirken 32-bitte çok bilgi ve emek gereklidir. Fakat 8-bitte çok iş yapsak da yapabileceğimiz işler sınırlıdır. Aynı AVR programlarken pek çok şey yaparken Arduino’da pek bir şey yapamamak gibidir.

32-bit mikrodenetleyicilere geçmeden önce 8-bit mikrodenetleyiciler, dijital elektronik, C programlama dili ve mikroişlemci mimarisi iyi öğrenilmek zorundadır. Eğer bunları yeteri kadar bilemezseniz çok zorlanırsınız hatta bazen hiçbir şey anlamayabilirsiniz. Üstelik 32-bit mikrodenetleyicilere nereden başlayacağını bilememek de büyük bir meseledir. Bu alanda bazı kitapları incelesem de datasheetin özetinden ibaret olduğunu gördüm. Bunu okuyup anlayabilen adam zaten datasheette çok daha ayrıntılı bilgiyi bulabilir o halde neden kitap okumaya ihtiyacı olsun? Biz STM32 makalelerini yazarken bunu dikkate aldık ve olabilecek en anlaşılır ve mantığı kavramaya yönelik eğitimi hazırlamaya gayet ettik. Şu an STM32 makalelerinin sayısı 45 olup sizin mantığı kavramanıza ve başlangıç yapmanıza yeterlidir. Konuların hepsini şu an anlatmadık ve fazla uygulama yapmadık. Buna işlerimden dolayı ara vermek zorunda kaldım ileride devam edeceğim.

32-bit mikrodenetleyicilere geçmek isteyenlerin geçip geçemeyeceğini anlaması için sitemizde yer alan STM32 kategorisindeki makaleleri sırasıyla okumasını tavsiye ediyoruz. Eğer mantığını öğrendiler ve datasheet de okuyabiliyorlarsa 32-bite geçmekte gecikmemeleri gereklidir. 32-bit hakkında fazla kaynak ve örnek olmadığı için Datasheet okumak en önemli kriterlerden biri olmaktadır. Gömülü sistem rehberi yazı dizimizi burada bitiriyoruz. Biz yeteri kadar konudan bahsettiğimize inanıyoruz. İlerleyen yazılarda daha farklı konularla karşınıza çıkacağız.

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

UYARI!!

 

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.