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

Kategori: ARM Mimarisi

STM32F103 (ARM-Cortex M3) ile I2C Master Haberleşme

Merhaba sevgili ziyaretçiler. Bu yazımda STM32F103 mikrodenetleyicisi ile master modda I2C haberleşmeyi irdeliyor olacağız. I2C ifadesi Inter-Integrated Circuit İngilizce ifadesinin açılımıdır. Türkçe anlamı ile entegre devreler arasında anlamına gelir. Diğer bir ismi ise TWI yani Two-Wire Interface yani İki Hatlı Arayüzdür. I2C yada TWI iletişim için yalnızca iki hat kullanan asenkron seri haberleşme protokolüdür.

Eclipse İçin STM32 Cube MX Eklentisi’nin Kurulumu ve Kullanımı

Merhaba sevgili ziyaretçiler. Bu yazımda daha önceki yazılarımda kurulumunu ve girişini yapmış olduğumuz Eclipse IDE üzerinde ARM tabanlı mikrodenetleyiciler için gömülü yazılım geliştirme konusunun devamı olarak, ST firmasının ARM tabanlı STM32 mikrodenetleyicileri için görsel arayüz aracılığıyla kod üretimini sağlayan Cube MX eklentisinden bahsedeceğim.

C ve C++’ta Bit Düzeyinde İşlemler

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 bitler üzerinde işlemler yapabilmek için  birçok operatör tanımlanmıştır ancak ben iki özel operatör üzerinde duracağım. Bunlar iki küçüktür “<<” ve iki büyüktür “>>” işaretleri ile gösterilen bit kaydırma operatörleri.

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.

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.