Merhaba sevgili ziyaretçiler bu yazımın konusu bir önceki ve önceki yazılarımın üzerine ilave olarak devam edecek. Bu yazıya devam etmeden önce o yazılarımı okumanızı tavsiye ederim. Bu yazımda Eclipse IDE ile STM32 mikrodenetleyicileri üzerinde hata ayıklama için gerekli ayarlamaları yapıp hata ayıklama araçlarına değineceğiz. Bu bölüm ve sonrasında daha çok uygulama ağırlıklı ilerleyeceğiz.
Kategori: Gömülü Sistemler
Merhaba sevgili ziyaretçiler. Geçenlerde elimde bulunan Atmega32u4 çipli Arduino Pro Micro (namıdiğer Leonardo) kartı anlayamadığım bir sebepten dolayı bilgisayara bağladığımda “USB Aygıtı Tanınmadı” gibi rahatsız edici uyarılar vermeye başladı. Uzun süre araştırmama rağmen sonuç elde edemedim ve ben de deneme yanılma yoluyla (biraz da mantık yürüterek diyelim) kendimce sorunu çözdüm.
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.
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.
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.
Bu yazı DS1307 gerçek zaman saatinin PIC18F4550 mikrodenetleyicisi ile nasıl kullanılabileceği ile ilgilidir. RTC’nin dahili yazmaçları olabildiğince detaylı olarak açıklanmaya çalışılmıştır.
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.
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.
Sözlük anlamı olarak Kuplaj bağlantı demektir. Ama neden sözlükteki anlamı olan bağlantı değil de kuplaj terimini kullanırız? Kuplaj genel bir terimdir. Yani tam olarak bağlantı değil. Burada iki parça arasında bu bağlantıyı sağlayan bir ara eleman bulunur. Mekanikten örnek verecek olursak mesela bir pompamız var ve buna bir motor bağlayacağımızı düşünelim.