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.
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 →STM32 ile geliştirme yapılırken en çok kullanılan STM32CubeIDE üzerinde freeRTOS ilk proje oluşturması sırasında entegre edilebiliyor ancak ek soyutlama fonksiyonları ile kullanılabiliyor. İnternette ise yeni bir projeye manuel olarak freeRTOS ekleme kaynağı pek olmadığı için kendi notlarımı çıkardım.
Read more →