"Enter"a basıp içeriğe geçin

CodeBlocks ve SDCC ile 8051 Gömülü Yazılım Geliştirme Ortamı

Merhaba sevgili ziyaretçiler. Bu yazımın konusu 8051 tabanlı mikrodenetleyiciler için geliştirme ortamının kurulumu olacak. 8051 için farklı entegre geliştirme ortamları (IDE) mevcut. Bunlardan Keil ve Raissonance firmalarının ürünleri en bilindikleri. Ancak bu firmalar söz konusu IDE’lerini ücretli sunduklarından, lisans ücreti ödemek istemeyenler açık kaynak alternatiflere yönelmekteler. Ben de bu yazıda 8051 tabanlı mikrodenetleyiciler için açık kaynaklı alternatif bir entegre geliştirme ortamının kurulumunu anlatacağım.

Bu noktada geliştirme ortamını sağlayacak IDE, bilindik bir IDE olan CodeBlocks olacak. Derleyici araç seti olarak da SDCC’den faydalanacağız. İkisi birlikte mükemmel bir ikili olacaklar. CodeBlocks 8051’in haricinde birçok farklı mikrodenetleyici ve mimari için de geliştirme ortamı sunuyor. Ancak yazımızın kapsamı dışında olduğundan bu konuya girmeyeceğim. Bunun yanında derlediğim programı mikrodenetleyiciye yüklemek için “ProgISP” programınının 1.72 sürümünü ve ISP programlayıcı olarak da USB ISP cihazını kullanıyorum. Bu cihazı internetten 20-30 TL gibi uygun fiyatlara bulabilirsiniz.

USB ISP Programmer - Jutronix Embedded Services
Atmel’in 8051 tabanlı ve diğer AVR mikrodenetleyicilerini devre üzerinde programlayabilen donanım.
USB ISP Programlama cihazını kullanarak mikrodenetleyiciyi programladığım program arayüzü

Gelelim kurulumlara. Öncelikle SDCC’yi kurmamız gerekiyor. SDCC’nin indirme sayfasına giderek öncelikle sisteminiz için uygun kurulum dosyasını indirin. Ben burada Windows için kurulum yapacağımdan direkt “Download Latest Version” butonuna tıklayarak Windows için olan kurulum programını indirdim. Ben bu yazıyı yazdığım sırada SDCC’nin son sürümü 4.0.0 idi.

İndirme işleminden sonra indirdiğiniz kurulum dosyasını çalıştırıp, normal kurulum prosedürlerini uygulayın (yani next next :-)). Burada kurulum programı, SDCC’nin bin klasörünü sistemin ortam değişkenlerine eklemek isterse izin verin. Bu CodeBlocks IDE’nin SDCC’yi bulabilmesi için önemli.

SDCCnin bin klasörünü PATH ortam değişkenine eklemeye izin verin.

SDCC’nin kurulumunu tamamladık. Şimdi gelelim CodeBlocks IDE’nin kurulumuna. CodeBlocks’un kurulumu çok basit olduğundan fazla üzerinde durmayacağım. Öncelikle CodeBlocks’un indirme sayfasından sisteminiz için uygun olan sürümü indirin. Eğer sisteminizde bir C/C++ derleyici seti yoksa “mingw-setup.exe” son ekli olanı indirmenizi tavsiye ederim. İndirme işlemi tamamlandıktan sonra normal kurulum prosedürlerini uygulayarak CodeBlocks IDE’yi kurun. Kurulumdan sonra CodeBlocks’un ilk açılışı sırasında derleyici tespiti sırasında, tespit edilen derleyiciler listesinde SDCC’yi görebiliyor olmanız gerekiyor.

Tüm indirme ve kurulum işlemlerini tamamladıktan ve donanım eksikliklerimizi giderdikten sonra hemen basit bir proje yaparak geliştirme ortamının düzgün çalışıp çalışmadığını test etmiş olalım. CodeBlocks’ta “File->New->Project…” menü yolunu izleyerek yeni proje oluşturma penceresini açalım. açılan “New From Template…” penceresinde “Category” açılır listesinden “Embedded Systems” seçelim.

Proje taslak kategorisinden “Embedded Systems” ve proje taslaklarından da “”MCS51 Project” seçin.

Burada listelenen proje taslaklarından “MCS51 Project” seçerek “Go” butonuna tıklayalım. Ardından “Next” butonuna tıklayarak proje için bir “Project Title” alanına proje için bir isim ve “Folder to create project in” alanına da proje dosyalarının kaydedileceği yol bilgisini girelim. Ben proje adı olarak “TestProject” girdim. Siz farklı bir isim seçebilirsiniz. Siz proje adını yazarken proje dosya adınının otomatik tamamlandığına dikkat edin. Siz buraya farklı bir dosya adı da verebilirsiniz. “Next” butonuna tıklayın.

Proje adı ve proje yol bilgilerini girin.

Burada karşımıza derleme işlemi için hangi derleyiciyi kullanmak istediğimizi soran bir tercih alanı çıkacak. Burada bulunan “Compiler” açılır listesinden “Small Device C Compiler” seçelim. Ardından Debug ve Release konfigürasyonlarını kullanıp kullanmayacağımızı ve ilgili konfigürasyonlar için klasör tercihlerini belirtelim. Ben bu tercihi olduğu gibi bırakacağım ve yazılım geliştirme sürecinde “Release” konfigürasyonunu kullanacağım. “Next” butonuna tıklayarak bellek modeli tercihimi belirteceğim.

Derleyici ve Debug/Release konfigürasyon tercihlerini belirtin.

Burada bellek model tercihi olarak “small” seçiyorum ve diğer ayarları olduğu gibi bırakarak “Finish” butonuna tıklayıp taslaktan projeyi oluşturuyorum.

Bellek modeli ve Çıktı dosya formatı tercihi. Burayı olduğu gibi bırakın.

Bütün bu işlemlerden sonra artık elimizdeki 8051 mikrodenetleyici için yazılım geliştirme ortamı hazır.

Gelştirme ortamı hazır.
#include <mcs51/8051.h>

#define LED P1_0

#define __nop() __asm nop __endasm
#define delay() for(int i=0; i<10000; i++) __nop()

void main(void)
{
    P1 = 0; // Port1'in tüm pinlerini out yapıyoruz
    LED = 0; // LED'in bağlı olduğu pini out yapıyoruz
    while(1){
        LED = 1;    // LED'e HIGH sinyali gönder
        delay();    // bir süre bekle
        LED = 0;     // LED'e LOW sinyali gönder
        delay();    // bir süre bekle
    }
}

Bu kod parçası Port1’e bağlı olan LED’i belli aralıklarla yakıp söndürerek blink yapacaktır.

Programın mikrodenetleyiciye yüklenmesi ve programlayıcı donanım ile ilgili detaylar bu yazının kapsamında olmadığından değinilmedi. Bu yazımızın da sonuna geldik. İyi çalışmalar, mutlu kodlamalar.

Haruncetin.com.tr

İlk Yorumu Siz Yapın

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir