Ülke olarak kamplaşmaya çok meraklı olduğumuz çok bilinen bir gerçek. Belki de bunu sadece kendimizi atfetmek doğru değil. Dünyada da benzer durumları görebiliyoruz. Sosyal, politik vs… konularda kamplaşmalar görmek beni çok şaşırtmasa da teknik konularda teknik insanların çeşitli araçlar, teknolojiler üzerine kamplaşmaları ve hatta kavgaya tutuşmaları bana oldum olası ilginç gelmiştir…
Teknik konulardaki kamplaşmaların en büyüklerinden birisi işlemci mimarileri etrafında döner, özellikle çok popüler olan mikrodenetleyicilerden PIC ve AVR’ler arasında yıllardır süren bir kavga vardır. Son dönemde 32 bit mikroişlemcilerin de popüler olması ile birlikte bu kavga’ya ARM’lar da katıldı. Çoğu zaman bu kavgalarda armutlarla elmalar karıştırılıyor.
Önce bütün bu, çoğunlukla 3 harfli, isimlerin ne olduğunu biraz netleştirelim:
PIC serisi Microchip firmasının ürettiği 8/16/32 bitlik mikrodenetleyici ailesi ve aynı zamanda mimarisinin adıdır. Piyasada en çok bilinenleri 8 bitler olmakla beraber (PIC12, PIC16, PIC18 serileri) son dönemde firma PIC32 adıyla 32 bitlik bir seri de çıkarmıştır.
AVR serisi Atmel firmasının geliştirdiği 8/32 bitlik mikrodenetleyici ailesidir. Yine Microchip firması gibi bu da Atmel’in sadece kendi ürünlerinde kullanılan bir mimaridir.
ARM aynı ismi taşıyan ARM Holdings firmasının geliştirdiği 32 bit işlemci mimari ailesidir. Bu firma kendisi üretim yapmıyor. Tasarladığı işlemci mimarilerin başka firmalara lisanslıyor. ARM mimarisinde çekirdeğe sahip birçok mikroişlemci ve mikrodenetleyici bulunuyor.
MIPS ARM’a benzer şekilde aynı ismi taşıyan firmanın geliştirdiği 32 bit işlemci mimarisidir. Bu firma da tasarımlarını başka firmalara lisanslarayak satıyor. PIC32 serisi MIPS mimarisini temel almıştır.
Çoğu zaman teknik forumlarda PIC mi AVR Mi ya da PIC mi ARM mı tarzından tartışmaları görüyoruz. Yukarıdaki tanımlardan gördüğümüz gibi burada elmalar ve armutlar karıştırılıyor. ARM bir mimariyi PIC tek bir firmanın ürettiği başka bir mikrodenetleyici ailesini içeriyor. Bu işlere yeni başlayanlar da fena halde kafa karışıklığına düşüyor.
[ad#ad-1]
Öncelikle bu işleri öğrenmeye yeni başlayan, özellikle mühendislik öğrencisi arkadaşlara tavsiyem en az bir mimariyi temel olarak iyi öğrenmeleri. Genel olarak baktığımızda bütün mikroişlemcilerin çalışma biçimleri benzer şekildedir ve temel bilgiler aynıdır. Çeşitli çevrebirimlerinin de (USART, ADC, SPI, I2C vs…) çalışmaları hemen her mikrodenetleyicide benzer şekildedir. Mikroişlemcilerin temel yapısı yanında başlangıçta bunların kendi assembly dili veya C programlama dili ile programlanması da temelde öğrenilmesi gereken şeyler… Bundan sonra hangi ürünleri, hangi mimariyi kullanacağınız bulunduğunuz / gerçekleştirmek istediğiniz projeye bağlı olarak değişebilir.
Hiç bir teknolojinin fanatiği olmaya gerek yok! Bütün adı geçen bu ürünlerin hepsi birer araçtan ibaret… En kısa yoldan hangi ürünlere erişme, öğrenme olanağınız varsa onunla başlayın. Daha sonra zaten başka ürünlere geçmeniz de kolay olacaktır. Artık birçok araca erişim çok daha kolaylaştır, birçok ürüne internetten kolaylıkla ulaşabiliyoruz. Seçim yapmak için uzun zaman kaybetmek yerine hızlıca öğrenme sürecine girmeniz daha faydalı olacaktır…
[ad#ad-1]
C. T. bey merhaba.. Ben de bir eem öğrencisi olarak pic mcikrodenetleyicileri üzerinde çalışmaya başladım. “CCS C ile pic programlama” adında bir kitabım var. Başlangıç için uygun bir kitap olduğunu düşünüyorum, fakat aklıma birşey takıldı; pic programlamak için birden fazla yazılım olduğunu (CCS, mikroC vb.) öğrendim. Kitap sayfalarında ilerledikçe CCS yazılımına özgü bazı kodların olduğunu gördüm. Sizce CCS C yazılımı pic programlamak için yeterli midir? microC gibi yazılımlarda daha elverişli kodların olması mümkün mü? Bu konuda ne önerirsiniz.. İyi çalışmalar..
Mikrodenetleyicileri programlamak için genellikle C kullanılır. Standart olmuş C, ANSI C olarak biliniyor. CCS ve microC gibi derleyiciler kendi için bu standart dışında şeyler de barındırıyorlar. Bunların herhangi birini kullanabilirsiniz.
bende eem oğrencisi olarak programlamaya geçde olsa katılmak istedim ve geliştirme kartı almak istiyorum fakat aynı zamanda arm ile de uğraşmak istiyorum .Acaba bir deneme kartı ile hem arm programlama hemde pic programlama yapılabilir mi