BSP Geliştirme Eğitimi (2 Gün) Ön Kayıt
MCU fark etmeksizin: tek mimari, tek tuş derleme.
%100 Uygulamalı Laboratuvar
Gerçek BSP iskeleti ve yönlendirmeli mini uygulamalar
Multi-MCU Derleme Altyapısı
Tek yapı, tek komut; çoklu vendor hedefleri
Debug & Profesyonel Loglama
Assert, fault analizi ve çalışma zamanı izleme
📚 Eğitim İçeriği
1. Board Support Package (BSP) Mimarisi
Profesyonel firmware geliştiricilerin kullandığı mimari
- Callback Tabanlı Sürücü Tasarımı: Function pointer’lar ve dispatch table desenleri kullanılarak esnek ve genişletilebilir sürücü mimarisi
- Donanım Soyutlama Katmanı (HAL): Donanımdan bağımsız, taşınabilir ve sürdürülebilir kod geliştirme
- Platformdan Bağımsız Geliştirme: Tek kod tabanı ile birden fazla MCU üzerinde çalışma
- Temiz API Tasarımı: Enum tabanlı isimlendirme ve birleşik (unified) arayüz yaklaşımı
2. Embedded C Profesyonel Kodlama Standartları
Endüstride kullanılan en iyi örnekler
- Endüstri Standartlarına Uygun Geliştirme: MISRA-C uyumlu kodlama kuralları ve güvenli yazılım prensipleri
- Deterministik Davranış: Gerçek zamanlı sistemlerde öngörülebilir zamanlama ve gecikme kontrolü
- Non-Blocking Tasarım: Polling yerine event-driven ve interrupt/DMA tabanlı mimari yaklaşım
- Katmanlı Mimari: Driver, HAL ve uygulama katmanlarının net biçimde ayrıştırılması
- Taşınabilirlik (Portability): MCU bağımsız API’ler ve platforma özel adaptasyon katmanı
- Test Edilebilirlik: Mock driver’lar ve donanım bağımsız birim testleri
- Hata Yönetimi: Enum tabanlı hata kodları, merkezi loglama ve fail-safe yaklaşımlar
- Ölçeklenebilirlik: Yeni donanım veya çevresel birim eklemeye açık mimari tasarım
3. Multi-MCU Platform Desteği
Farklı platformlar için tek kod tabanı
- STM32 Platformu: EmSparkerG0 geliştirme kartı üzerinde STM32 tabanlı BSP ve çevresel birim uygulamaları
- Nuvoton M032 Platformu: EmSparkerM0 geliştirme kartı üzerinde Nuvoton M032 mimarisi ile BSP geliştirme çalışmaları
- Platform Algılama (Detection): Preprocessor directive’leri kullanılarak hedef MCU’nun otomatik tespiti ve koda dinamik adaptasyon
- Çapraz Platform En İyi Uygulamalar: Taşınabilir (portable) kod yazımı, donanıma bağımlı ve bağımsız katmanların ayrıştırılması, tek kod tabanı ile çoklu MCU desteği
4. Sensör Teknolojileri ve Kalibrasyonu
ADC'den Gerçek Değerlere: Profesyonel Dönüşüm Teknikleri
- ADC Temel İşlemleri: Polling modu, kesme (interrupt) modu ve DMA kullanımı
- Potansiyometre Okuma: Ham ADC verisinden (raw ADC) gerilim (voltaj) hesaplama
- NTC Termistör Ölçümü: Beta parametresi ile hassas sıcaklık hesaplama
- LDR Işık Sensörü: Power-law modeli kullanılarak lux hesaplama
- Gerilim Bölücü Analizi: Devre topolojisi ve matematiksel modelleme
- Kalibrasyon Yöntemleri: Gain/offset düzeltmesi ve iki nokta kalibrasyonu
5. IoT ve Gerçek Zamanlı Uygulamalar
Sensörden Actuator'a: Tam Sistem Entegrasyonu
- Çoklu Sensör Sistemleri: Birden fazla sensörün eş zamanlı ve senkronize şekilde okunması
- PWM Kontrolü: RGB LED parlaklık kontrolü üzerinden duty-cycle ve zaman tabanlı sürme teknikleri
- Sensör–Aktüatör Eşlemesi: Sensör verilerinin gerçek zamanlı kontrol algoritmaları ile aktüatörlere dönüştürülmesi
- Gerçek Zamanlı İşleme: Zamanlama optimizasyonu, gecikme analizi ve performans ayarlamaları (performance tuning)
6. EmLib - Embedded Systems Utility Kütüphanesi
Gömülü Sistemler için Optimize Edilmiş Yazılım Altyapısı
- Profesyonel Loglama Altyapısı: Printf’e alternatif, düşük overhead’li, seviye ve modül bazlı logging sistemi
- Zaman ve Gecikme Yönetimi: Hassas zaman ölçümü, timeout kontrolü ve mikro-saniye seviyesinde delay mekanizmaları
- Assertion ve Hata Yönetimi: Debug aşamasında güçlü doğrulama, production ortamında sıfır maliyetli kontrol yapıları
- Memory-Safe Tasarım: Dynamic memory kullanmadan deterministik ve öngörülebilir bellek yönetimi
- Platformdan Bağımsız Mimari: STM32, Nuvoton ve diğer MCU’lar için ortak API ile taşınabilir kullanım
- Endüstri Odaklı Best Practices: Interrupt-safe fonksiyonlar, RTOS uyumlu yapı ve production-ready tasarım yaklaşımı
Eğitim Programı
Temeller & Altyapı
ARM Cortex-M mimarisi ve bellek yapısı
Reset, startup ve interrupt mekanizmaları
Geliştirme ortamı (GCC, Eclipse, PyOCD, J-Link)
Eclipse Managed Build & çoklu MCU yapılandırması
Platform bağımsız BSP mimarisi
Linker script ve startup kodları
BSP & Çevre Birimleri
Saat Konfigürasyonu
MCO ile saat doğrulama
GPIO, Timer, PWM sürücüleri
UART, SPI, I2C haberleşme altyapıları
Logic analyzer ile protokol analizi
ADC ve analog sistemler