Ağu 21

C Programlama Öğrenmek İçin Kullanılabilecek Ortamlar

ANSI-C

Gömülü sistemler konusunda çalışmak için en başta bilinmesi gereken şeylerden birisi C programlama dilidir. Gömülü sistemler alanında en çok kullanılan C dili hakkında daha önce de birkaç yazı yazmıştım. Hatta Eclipse geliştirme ortamında C programlama için nelerin kurulması gerektiğini de anlatmıştım. C programlama hakkında çok fazla soru alıyorum. Bu yazımda da C programlama öğrenmek için başka hangi ortamları kullanabieceğimizden kısaca bahsedeceğim.

1 . Eclipse + GCC

Eclipse ve GCC derleyicisini kullanarak C programlama yapmak için gerekli olanları daha önceki bir yazımda anlatmıştım. Burada tekrarlamayacağım.
Continue reading

Nis 04

Gömülü Yazılımlarda Assembly ve C Dilleri, Sürücüler, Kütüphaneler

source-code-583537_1280Gömülü sistemler programlamada çoğu zaman bazı kavramlar çok karışıyor. Onlara kısaca açıklık getirmeye çalışacağım. Aslında bu konuların birçoğunun tartışması web, mobil ve masaüstü yazılım dünyalarında yıllar önce geride kalmış olsa da gömülü sistemlerde hala tartışılan ve bir anlamda “yeni keşfedilen” durumlar.
Continue reading

Ara 23

C Programlama Dilinde En Sık Yapılan 10 Hata

source-code-583537_1280

C programlama dilinin tarihi 70’li yıllara dayansa da günümüzde hala yaygın olarak kullanılan dillerden birisi. Özellikle gömülü sistemlerde en çok kullanılan dil olma özelliğini koruyor. Oldukça esnek yapısıyla assembly’de yazılmış programlara yakın performanslı programlar yazılmasını sağlıyor. Ancak bu esneklik bütün sorumluluğu programcıya bıraktığından birçok hatanın yapılmasına da yol açabiliyor. Zaman zaman birçok güvenlik açığının sebebi de olabilen C programlama diline yapılan hatalardan en yaygın olan 10 tanesini burada paylaşacağım.

  1. Noktalı virgülü kullanılmaması gereken yerde kullanmak
    C’de zaman zaman karıştırılan durumlardan birisi de noktalı virgülün (;) kullanımıyla ilgili. Hemen hemen bütün ifadelerin sonuna konulduğu halde if, for, while gibi ifadelerin sonlarında noktalı virgül olmaması gerektiği bazen unutulabiliyor. O zaman da aşağıdaki koddaki gibi durumlar ortaya çıkabiliyor.

    for( x = 1; x<10; x++ );
    {
    printf( "%d\n", x )
    }

    Yukarıdaki örnekte for ifadesi ile 1’den 9’a kadar olan sayıların yazdırılması amaçlanıyor. Ancak for ifadesi sonundaki noktalı virgün yüzünden for ifadesinin sonrasında “boş” bir ifade varmış gibi işlem yapılıyor ve prinf() fonksiyonu 1 kere çağırılıp devam ediliyor.

  2. Süslü parantez kullanılmayan if ifadeleri
    if ( degisken == 12) 
    fonk1();
    fonk2();

    Continue reading

Kas 04

2-3 Kasım 2013 – Robotistan.com Arduino Başlangıç Eğitimi’ni gerçekleştirdik

eğitimBu haftasonu (2-3 Kasım 2013) Robotistan.com’un düzenlediği ve benim verdiğim Arduino Başlangıç Eğitimi’ni, İstanbul’da gerçekleştirdik. Benim açımdan oldukça keyifli ve verimli geçen bir eğitim oldu. Eğitim sonunda katılımcılardan da benzer şekilde olduğunu yönünde geri bildirimler aldım.
Eğitimde Arduino kitabımdaki konulara paralel olarak temel programlama ve Arduino fonksiyonlarının kullanımı ile ilgili örnekleri katılımcılarla beraber gerçekleştirdik. Eğitimin içeriği Arduino Başlangıç Eğitimi olsa da, temel C programlama ve elektronikle ilgili gömülü sistemler alanındaki tecrübelerimi de elimden geldiğince katılımcılara aktarmaya çalıştım. Tabi 2 günlük kısa süreli bir eğitimde bütün herşeye değinmek çok zor olsa da genel olarak birçok konuya değinmiş olduk.

Bununla beraber, bundan sonra yapacağımız eğitimleri şekillendirebilecek tecrübeleri de kazandığıma inanıyorum. İçerikle ilgili düzenlemeler yapıp farklı konu başlıklarında eğitimler açmayı da planlıyoruz. Bununla ilgili duyuruları robotistan.com üzerinden takip etmeye devam etmenizi tavsiye ediyorum. Robotistan e-posta grubuna kaydolduğunuzda duyuruları e-posta ile alma şansınız da olacaktır. Farklı ihtiyaçlar için açılabilecek eğitimler hakkında yorumlarınızı da yazının altında paylaşırsanız sevinirim.

May 19

Eclipse ile C programlama Ortamının Kurulması

EclipseJuno

Gömülü sistemlere giriş yapmak isteyenlerin ilk yapması öğrenmesi gereken şeylerden birisi C programlama dili. Peki C programlama dilini öğrenmek için hangi platformu kullanabiliriz? Aslında başlangıçta C öğrenmek için herhangi bir mikrodenetleyici üzerinde çalışmaya gerek yok. Temel C programlamayı bilgisayarımızda çalışarak kavramları öğrenebiliriz. Bu yazıda Eclipse geliştime ortamını ve bu ortamda nasıl C programlama çalışabilmek için gerekli ortamın kurulumunu kısaca anlatacağım. Anlattıklarımı Windows 7 üzerinde çalıştırdım.
Continue reading