Teknolojinin gelişmesi yazılım ve donanım birlikteliğinin
önemini bir hayli artırmıştır. İyi bir yazılım, donanım ile taçlanmadıkça veya
tam tersi iyi bir donanım, yazılım ile birleşmeyince tek başına yeterli
olamamaktadır.Eskiden dijital sistemler için, lojik kapıları içinde barındıran
lojik entegreler kullanılırdı. Bu entegreler ile yapılan sistem tasarımı hem
zordu hem de birçok entegrenin birleşmesinden oluştuğu için karmaşık bir yapı
sergilerdi. Mikrodenetleyicinin yayılması ve fiyatının düşmesi ile birlikte
artık elektronik sistemlerinin dijital kısmında çoğunlukla mikrodenetleyici
bulunmaktadır. Mikrodenetleyici tabanlı elektronik sistem tasarımı yapan
elektronik alanı çalışanları, aynı zamanda mikrodenetleyicinin programını da
yazıyordu.
Mikrodenetleyici programlamasında kullanılan, makine diline çok
yakın olan Assembly dili yerine insan diline yakın orta düzey dillerin de (C,
C++, Basic gibi) kullanılmaya başlanması bilgisayar alanındaki yazılımcıları bu
alana biraz daha yakınlaştırmıştır. Yazılımcıların sahip olduğu güçlü algoritma
ve programcılık bilgisinin bu alanda tasarlanan sistemlerin çok daha iyi ve
verimli olmasını sağlayacağı açıktır.
Assembly
dili ile programlama ve hata ayıklama işlemi zordur. Bu nedenle, mikrodenetleyici
programlamasında insan diline yakın dillerden yararlanılmaktadır.
Mikrodenetleyici ve diğer programlanabilen entegreler için (DSP, FPGA, GSM/GPRS
modüller vb.) hem insan diline hem de makine diline olan yakınlığı ve uyumu
nedeniyle C dili, neredeyse elektronik alanının programlama dili haline
gelmiştir. Basic dili de mikro-denetleyici programlamada kullanılsa da C dili
bu alanda daha öne çıkmıştır. Günümüzde mikrodenetleyici üreten değişik
firmalar bulunmaktadır. Microchip, Atmel Intel, Motorola, Maxim-Dallas,
Parallax (Basic Stamp), Philips, Zilog gibi firmalar mikrodenetleyici üreten
firmalardan bazılarıdır. Her mikrodenetleyici firmasının kendine özgü Assembly komutları
ve derleyicisi vardır. Aynı şekilde farklı mikrodenetleyiciler için C, C++, Basic
derleyicileri bulunmaktadır. İnsan diline yakın programlama dilleri ile
mikrodenetleyici programlayanlar farklı mikrodenetleyicilere daha kolay adapte
olabilmektedirler.
|
|
|
Ülkemizde
Microchip firmasının PIC mikrodenetleyici ürünleri yaygın olarak
kullanılmaktadır. PIC mikrodenetleyiciler için, C dilinde yazılan programları
PIC Assembly diline çeviren ve hex kodunu veren çeşitli derleyici programlar
bulunmaktadır. CCS C (PIC C), HI-TEC, Micro C, IAR derleyicileri bunlara örnek
olarak verilebilir. Bu yazıda CCS C (PIC C) derleyicisi ile ilgili tanıtım
niteliğinde kısa bilgi vermeye çalışacağım.
|
|
|
CCS C (PIC
C) derleyici programı Custom Computer Services Inc. (CCS) firmasının bir ürünüdür.
CCS firması, Microchip firmasının PIC denetleyicilerinin C dilinde
programlanmasını sağlayan tümleşik yazılımlar geliştiren ve bu alanda deneme
kartları üreten bir firmadır. CCS firması aynı zamanda başka firma ve
işletmelere, istenen özelliklerde yazılım ve devre kartları konusunda da
mühendislik ve danışmanlık hizmeti vermektedir. CCS C derleyicisi ile Microchip
firmasının 12, 14 ve 16 bitlik tüm PIC ürünlerini C dilinde
programlayabilirsiniz. CCS C ayrıca hata ayıklama, (debugger) seri port
iletişim ekranı ve direkt programlayıcı kart üzerinden derlenen programı
mikrodenetleyiciye yükleme gibi çeşitli birimleri de barındırmaktadır.
CCS C derleyicisi C dilinin yapısını kullanmakla beraber,
PIC mikrodenetleyicilerin donanım birimlerini ve çeşitli çevresel birimleri
kontrol etmek için hazır yerleşik fonksiyonlar da içermektedir. Bu hazır
fonksiyonlar direkt kullanılabileceği gibi kullanıcılar hazır fonksiyonları
değiştirebilir veya kendisi tümüyle yeniden yazabilir. CCS C derleyicisinin tüm
kütüphaneleri açıktır. Böylece kullanıcılar, kullandıkları hazır fonksiyonların
mikrodenetleyici üzerinde ne gibi işlemler yaptığını görebilir.
CCS derleyicisi “görsel ortamda çalışan” ve “DOS
ortamında komut satırı ile çalışan” iki tip derleyici ortamı sunmaktadır.
CCS C görsel derleyicisi farklı derleyici birimlerinden oluşur. Bunlar;
- CCS PCW – (12 ve 14 bit komut kelime boyuna sahip
denetleyiciler içindir. PIC10, PIC12 ve PIC16 ailelerini destekler.)
- CCS PCWH – ( 12,
14 ve 16 bit komut kelime boyuna sahip denetleyiciler içindir. PIC10, PIC12,
PIC16 ve PIC18 ailelerini destekler.)
-
CCS PCWHD – (12, 14, 16 ve 24 bit komut kelime boyuna
sahip denetleyiciler içindir. PIC10, PIC12, PIC16, PIC18, PIC24 ve dsPIC
ailelerini destekler)
Yukarıda verilen CCS C modüllerini ayrı ayrı satın
alabilirsiniz. Böylece kullanmayacağınız PIC ailesi için fazladan para vermemiş
olursunuz. Yukarıda verilen görsel CCS C modüllerinin yanında DOS ortamında
komut satırı ile çalışan görsel olmayan CCS C sürümleri ise aşağıda
verilmiştir. Komut satırı ile çalışan CCS C derleyici sürümleri görsel ortam
sunan sürümlere göre çok daha ucuzdur.
- CCS PCB
Compiler (Temel mikrodenetleyiciler,
PIC10 ailesi için – Baseline)
- CCS PCM
Compiler (Orta düzey mikrodenetleyiciler,
PIC10, PIC12 ailesi için – Midrange)
- CCS PCH Compiler
(Yüksek performanslı mikrodenetleyiciler, PIC18 ailesi için – High performance)
- CCS PCD
Compiler ( PIC24 ve dsPIC ailesi
mikrodenetleyiciler için)
Microchip firması kendi PIC ailesi mikrodenetleyicileri
için MPLAB adında Assembly derleyici programına sahiptir. MPLAB ile, PIC Assembly
dilinde programlar yazılabilir, derlenebilir ve debug (hata ayıklama) işlemleri
yapılabilir. Kullanıcı eğer MPLAB programının arayüzünde C dili ile program
yazmak ve CCS C derleyicisi ile derlemek isterse CCS C’nin MPLAB eklentisini kullanabilir. Bu sayede, Microchip
firmasının ücretsiz olarak dağıttığı PIC Assembly derleyicisinin tüm
özelliklerini CCS C derleyicisinin komutları ve kütüphanelerini birleştirerek
kullanabilirsiniz. Bu MPLAB eklentisi ayrıca, satın aldığınız komut satırında
çalışan CCS C derleyici sürümlerini Microchip firmasının ücretsiz görsel
derleyicisi altında kullanmanızı sağlar. Böylece çok ekonomik olarak CCS C
derleyicisini kullanabilirsiniz.
CCS C derleyici hakkında daha ayrıntılı bilgileri ve
gelişmeleri http://www.ccsinfo.com adresinden öğrenebilirsiniz. CCS C
derleyicisini denemek için 30 günlük deneme sürümünü indirip kurabilirsiniz.
Deneme sürümü ile en fazla 2KB’lık programlarınızı PIC16F877A, PIC16C554,
PIC18F458, 24FJ128GA006 ve dsPIC30F4012 mikrodenetleyiciler üzerinde deneyebilirsiniz. Deneme sürümünde, verilen
kısıtlamalar haricinde derleyicinin tüm fonksiyonlarını kullanabilirsiniz. CCS
C’nin ayrıca çok geniş bir resmi forum sitesi vardır. Bu resmi forum sitesinde
takıldığınız birçok noktaya çözüm bulabilir ve başkalarının çeşitli donanım
birimleri için yazdığı kütüphaneleri alıp kullanabilirsiniz. CCS C’nin resmi
forum sitesine http://www.ccsinfo.com/forum/ adresinden girerek üye
olabilirsiniz.
Kaynaklar:
- ÇİÇEK, S., “CCS C İle PIC Programlama”, Altaş Yayıncılık,
2009 (3. Baskı).
- CCS Resmi İnternet Sitesi, http://www.ccsinfo.com.
- Microchip Resmi İnternet Sitesi,
http://www.microchip.com.