Bare Metal Programming
STM32 ile projenin ihtiyaçlarına göre register seviyesinde sistemin tasarlanması, en az gecikme ve minimum bellek kullanımı sağlamak.
As a computer engineering student, I work on STM32, ESP32, C/C++, IoT, and electronics. I collect what I learn here through projects, technical writing, and personal updates.
STM32 ile projenin ihtiyaçlarına göre register seviyesinde sistemin tasarlanması, en az gecikme ve minimum bellek kullanımı sağlamak.
Interrupt-driven mimari, FreeRTOS task yapısı, DMA ile veri transferi , timer tabanlı işler ve zaman kritik kontrol akışları.
UART, SPI, I2C ve BLE haberleşme protokollerinde paket yapısı, debug ve güvenilir veri akışı.
Teknik yazılar, proje günlükleri ve öğrendiklerimi anlaşılır hale getiren içerik üretimi.
Bu yazımda gömülü sistemlerde en temel veri iletim protokolü olan I2C yi STM32F serisi kartlarda basitçe arka planda neler olduğunu ve bu iletişim protokolünü kartta kullanabilmek için yapılan ayarların neler olduğundan bahsediyorum.
Read more →STM32CubeIDE içerisine manuel olarak eklenen FreeRTOS V10 ile SEGGER SystemView entegrasyonu sırasında karşılaştığım RTT buffer’ın hiç dolmaması ve kayıt alınamaması problemini ele alıyorum. Sorunun gerçek nedenini, vSetVarulMaxPRIGROUPValue() fonksiyonunun neden gerekli olduğunu, port.c dosyasında yapılan değişiklikleri ve RTT Single Shot yöntemiyle .SVdat kayıtlarının nasıl oluşturulacağını adım adım açıklıyorum. Ayrıca yaşadığım hata sürecini, çözümünü ve çevrimdışı (offline) SystemView analizinin nasıl yapılacağını anlattım.
Read more →Bir mikrokontrolcü ile geliştirme yapılırken karta reset atıldığında veya kodlar ilk yüklendiğinde asıl kodların çalışması zamanına(main() fonk.) kadarki süreci araştırmalarımdan çıkardığım notlarıma göre anlatıyorum.
Read more →