BSP Geliştirme Eğitimi
2 Gün
EĞİTİM HEDEFLERİ
1. Platform Bağımsız BSP Mimarisi Tasarlayabilme
Farklı MCU vendorları (STM32, Nuvoton, NXP, TI) arasında taşınabilir, modüler ve bakımı kolay Board Support Package geliştirme yeteneği kazanma.
2. Tüm Donanım Çevre Birimlerini Kontrol Edebilme
Clock, GPIO, Timer, PWM, UART, SPI, I2C, ADC gibi tüm temel çevre birimlerini register seviyesinde yapılandırma ve kullanma becerisini geliştirme.
3. Profesyonel Embedded Geliştirme Araçlarını Kullanabilme
Eclipse CDT Managed Build, otomatik Makefile üretimi, PyOCD, J-Link gibi endüstri standardı araçları kullanarak çoklu MCU projelerini profesyonelce yönetebilme.
4. Endüstriyel Kodlama Standartlarını Uygulayabilme
MISRA-C, Linux kernel coding style ve embedded best practices'i uygulayarak güvenilir, verimli ve bakımı kolay kod yazabilme.
Ön şart:
Orta seviyede C programlama bilgisi
Katılımcıların aşağıdaki C konularına hâkim olması beklenir:
- Temel kontrol yapıları (if/else, switch-case, döngüler)
- Fonksiyonlar ve parametre geçirme mantığı
- Diziler ve pointer kavramı
- Yapılar (struct), union ve typedef kullanımı
- Bit seviyesinde işlemler ve bit maskesi mantığı
- Header (.h) ve source (.c) dosyalarının rolü, temel derleme süreci
- Temel hata ayıklama (debug) mantığına aşinalık
Eğitim Ücreti
50000 TL
Eğitim Kontejyanı
24
Eğitim Süresi
4 Gün
Eğitim Yeri
Teknopark Ankara Serhat, 2224. Cd. No:1 C Blok Kat 14, 06378 Yenimahalle/Ankara
Katılımcılara teslim edilen paket içeriği:
1x EmSparkerG0 Geliştirme Kartı (STM32G0B0RETX)
1x EmSparkerM0 Geliştirme Kartı (Nuvoton M032SIAAE)
1x EmPhasalis Shield (tüm sensör ve çevre birimleri)
1x ARM DAP-Link Debugger
1x 8-Kanal Logic Analyzer
1x UART/USB Dönüştürücü
Tüm donanım datasheet ve dokümanları (USB bellek)
BSP Eğitimi Tanıtım Videosu
Eğitimin kapsamını ve avantajlarını birkaç dakikada öğrenin.
Bu Eğitimde İşlenecek Önemli Konular
Modül 1 – Gömülü Sistem Temelleri
- ARM Cortex-M çekirdeğinin temel mimarisi
- Flash, RAM ve register tabanlı bellek organizasyonu
- Reset sonrası sistem başlangıç akışı
- Interrupt ve exception çalışma mantığı
- STM32 ve Nuvoton mimari karşılaştırması
Modül 2 – Profesyonel Geliştirme Ortamı
- ARM GCC toolchain kurulumu ve yapılandırılması
- Python 3.8+ ve PyOCD ile debug altyapısının hazırlanması
- Eclipse CDT ile çoklu MCU’lu workspace organizasyonu
- PyOCD + GDB ile adım adım hata ayıklama
- J-Link bağlantı ve temel test adımları
- UART/serial terminal araçlarının pratik kullanımı
Modül 3 – Eclipse Managed Build & Çoklu MCU
- Eclipse Managed Build System ve otomatik Makefile üretimi
- Debug / Release / Production build configuration yönetimi
- STM32 ve Nuvoton için ayrı derleme yapılandırmaları
- Compiler/linker ayarları ve optimizasyon seviyeleri (-O0…-Os)
- Include path, preprocessor define ve conditional compilation kullanımı
- Profesyonel workspace ve proje ayarları düzeni
Modül 4 – Linker Script ve Startup
- Linker script yapısı ve bellek haritalama (memory layout)
- Startup assembly kodunun temel akışı
- Vector table ve interrupt handler yerleşimi
- Stack, heap ve code/data section yönetimi
- Özel bellek bölgelerinin tanımlanması (custom regions)
Modül 6 – GPIO ve Donanım Kontrolü
- Platform bağımsız GPIO API tasarımı (bsp_gpio_*)
- STM32 ve Nuvoton GPIO register farkları
- Input, output ve alternate function konfigürasyonları
- Pull-up, pull-down ve sürüş modu ayarları
- External interrupt (EXTI / GPIO_INT) ve callback yapısı
- Tuş/buton okuma, debouncing ve pratik kullanım örnekleri
Modül 5 – Clock ve Zamanlama Sistemleri
- Platform bağımsız clock API tasarımı (bsp_clk_*)
- HSI, HSE, PLL yapılandırması ve frekans hesapları
- SysTick ile hassas delay ve zamanlama fonksiyonları
- MCO pininden clock sinyali gözlemleme
- Clock hata tespiti ve fallback senaryoları
- STM32 ve Nuvoton için clock yapı farkları
Modül 7 – Timer ve PWM
- Platform bağımsız timer/PWM API tasarımı
- STM32 TIM ve Nuvoton TIMER mimari farkları
- Counter–prescaler ilişkisi ve frekans/period hesapları
- PWM sinyali üretimi ve duty cycle kontrolü
- Output Compare ve Input Capture temelleri
- Timer interrupt ve callback tabanlı zamanlama modeli
Modül 8 – İletişim Protokolleri (UART, SPI, I2C)
- Platform bağımsız iletişim API’leri (bsp_uart, bsp_spi, bsp_i2c)
- STM32 ve Nuvoton iletişim çevrebirimlerinin karşılaştırılması
- UART’ta baud rate hesaplaması ve interrupt tabanlı TX/RX
- SPI master/slave kullanımı, CPOL/CPHA ve çoklu cihaz hattı
- I2C adresleme (7/10 bit), clock stretching ve tipik hata senaryoları
- Logic/protocol analyzer ile bus seviyesinde debugging
Modül 9 – ADC ve Analog Sistemler
- Platform bağımsız ADC API tasarımı (bsp_adc_*)
- STM32 ADC ve Nuvoton EADC mimari farkları
- ADC register yapısı ve conversion modları
- Sampling time, çözünürlük ve kalibrasyon ayarları
- Sensör okuma ve temel filtreleme örnekleri
Bonus (Zaman Kalırsa): EmPhasalis Üzerinde Uygulamalı Demolar
- Sıcaklık sensörü okuma ve değerin OLED ekranda gösterimi
- DAC çıkış seviyesini OLED üzerinden görme ve değiştirme
- Kalibrasyon parametrelerini dahili Flash üzerinde saklama/okuma
- Basit “cihaz ayarları” menüsü (offset, gain, threshold vb.)
- PWM ile LED parlaklığı kontrolü ve butonla seviye değiştirme
- Interrupt, timer, ADC, UART, GPIO ve OLED sürücüsünün tek bir mini projede entegre kullanımı
Embedya | Gömülü Yazılım Kursu Başvuru Formu
Embedya tarafından düzenlenen BSP ve Donanım odaklı gömülü yazılım kursuna katılım başvurusu için lütfen aşağıdaki formu doldurunuz.
Bilgileriniz yalnızca başvuru süreci için kullanılacak