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

Etiket: mikrodenetleyici

C ve C++’ta Bit Düzeyinde İşlemler – 1: Bit Kaydırma Operatörleri

Merhaba sevgili ziyaretçiler. Bu yazımın konusu C ve C++’ta bit düzeyinde yaptığımız bazı işlemler olacak. C’de veriler üzerinde bit düzeyinde işlemler yapabilmemizi sağlayan ve, veya, değil, özel veya, sola kaydır, sağa kaydır operatörleri vardır. Bu yazıda bitleri sağa ve sola kaydırma işini yapan, iki küçüktür “<<” ve iki büyüktür “>>” işaretleri ile gösterilen bit kaydırma operatörlerinden bahsedeceğiz.

Eclipse IDE ile STM32 Mikrodenetleyicileri İçin Gömülü Yazılım Geliştirme ve Hata Ayıklama – İlk Proje

Merhaba sevgili ziyaretçiler. Bu yazım bir önceki yazımın devamı niteliğinde olacak. Önceki yazımda Eclipse IDE’sine ARM mikrodenetleyicileri için gömülü yazılım geliştirmeye olanak sağlayacak eklentileri (GNU ARM Eclipse, GNU ARM Eclipse QEMU, GNU ARM Eclipse OpenOCD, GNU ARM Embedded Toolchain) yükleyerek Eclipse’i bir gömülü yazılım geliştirme ortamına dönüştürmüştük.

Bu yazımda ise NUCLEO-F103RB board emülatörü üzerinde ufak bir led blink örneği üzerinde hata ayıklama (debug) yapmak için eklentileri yüklenmiş bir Eclipse IDE ortamını nasıl hazırlayacağımızı göreceğiz.

Eclipse IDE ile STM32 Mikrodenetleyicileri İçin Gömülü Yazılım Geliştirme ve Hata Ayıklama

Merhaba sevgili ziyaretçiler. Bu yazımın konusu Eclipse IDE’nin STM32 mikrodenetleyicilerine yazılım geliştirmek için hazırlanması hakkında olacak. Eclipse birçok eklentiye sahip ve esnek bir geliştirme ortamı. Neredeyse bütün derleyicilere destek vermekte ve geliştiricilere gelişmiş hata ayıklama imkanları da sunmakta. Bu noktada Eclipse’e yüklenecek eklentiler ile GNU Cross Compiler’ı kullanabilme ve OpenOCD ve QEMU emülatör eklentisi ile mikrodenetleyici üzerinde hata ayıklama yapabilme şansına sahibiz.

MPLAB IDE ve Xc8 ile Merhaba Dünya

Merhaba sevgili ziyaretçiler. Bu yazımızın konusu Microchip firmasının 8-bit mikrodenetleyicileri için piyasaya sunduğu C derleyicisi olan xc8 üzerine olacak. Uygulamamızda denetleyici olarak Pic18f2550’yi kullanacağız. Bir mikrodenetleyici için program yazmaya geçmeden önce o denetleyicinin iç yapısı iyi incelenmelidir. Bunun için en bilindik ve geçerli yol ilgili denetleyicinin (bütün elektronik devre elemanlarının olduğu gibi) datasheetinden faydalanmaktır.

ARM Mimarisinde İstisnalar, Kesmeler ve Vektör Tablosu

Merhabalar sevgili ziyaretçiler, bu yazımızın konusu ARM mimarisindeki istisna ve kesme mekanizması olacak. İstisna ve kesmeler gelişmiş mikroişlemcili sistemlerin olmazsa olmazıdır. Farklı sistemlerde farklı yapılarda olsa da temelde amacı sistemi ayakta tutmak ve sistemin sürekliliğini sağlamaktır. Bir istisna veya kesme olduğunda işlemci bulunduğu noktadaki işini bırakır ve bellekteki bu istisna veya kesmeyle ilgili bellek adresine dallanır (bu bellek adresleri önceden belirlenmiş bir vektör tablosunda tutulur). İşlemci burada önceden belirlenen işlemleri yaptıktan sonra kaldığı yerden devam eder. Evet mikroişlemcili sistemlerde istisnalar ve kesmeler özetle böyle. Şimdi bu yapıya ARM mimarisi açısından bakmaya başlayabiliriz. Hadi başlayalım.

ARM Mimarisinde Boru Hattı (Pipeline)

Merhaba sevgili ziyaretçiler bu yazımızın konusu ARM işlemcilerde boru hattı. Boru hattı bir işlemcinin komutları işleme sürecini ifade eder. Bir komutun bellekten getirilmesi, tanımlanması ve yürütülmesi belli bir süreç ve sıra içerisinde gerçekleşir. Bu süreç ne kadar kısa olursa işlemci o kadar hızlı çalışır. Bu yüzden boru hattının çalışma mekanizması işlemci performansına dolayısıyla bu işlemciye bağlı sistemin performansına doğrudan etki eder.

ARM Mimarisine Giriş

Merhabalar sevgili ziyaretçiler. Uzun zamandır ilgimi çeken ve üzerinde araştırmalar yaptığım ARM çekirdeği ile ilgili notlarımı bu ARM Mimarisi yazı serisinde sizlerle paylaşmak istiyorum. Şüphesiz bu mimari birkaç sayfa yazıya sığmayacak kadar büyük ve kapsamlı ancak en azından belli bir seviyeye gelmek ve bu gelişmeyi sizlerle paylaşmak yegane amacımdır.

ARM mimariye sahip işlemciler cep telefonları, cep bilgisayarları, el terminalleri, vb. mobil cihazlarda yoğun olarak kullanılmakta. ARM serisinin ilk ürünü ARM1, 1985 yılında piyasaya sürülmüş ve 2001 sonlarında bir milyonun üzerinde satış rakamlarına ulaşmıştır. Bu durumun arkasında yatan ana sebep ise düşük güç tüketimine karşılık yüksek işlem kapasitesidir. ARM çekirdekleri bugün aynı çekirdek içinde 8-bit, 16-bit ve 32-bit modda çalışabilecek kapasitede üretilmektedir. Ayrıca ARM çekirdekleri tek bir çekirdek tipinde olmamasına karşın tüm ARM ailesi aynı tasarım ilkesiyle üretilmekte ve aynı komut setini kullanmaktadır.