GÖMÜLÜ SİSTEMLER İÇİN ORTA SEVİYE RUST EĞİTİMİ

Mikrodenetleyicide bellek güvenli Rust firmware yazın

no_std, embedded-hal, Embassy ve probe-rs ile gerçek donanım üzerinde güvenli firmware geliştirin.

no_std, HAL/PAC, kesmeler, RTIC, Embassy ve probe-rs ile hata ayıklamayı kapsayan 3 günlük gömülü Rust eğitimi.

3 gün Orta Seviye Online / Yüz Yüze / Hibrit Sertifikalı

Eğitim Hakkında

Gömülü Rust: no_std, HAL/PAC, kesmeler ve async firmware

Rust'ın sahiplik modelini mikrodenetleyici dünyasına taşıyan bu eğitim; no_std ve cortex-m-rt ile başlangıç kodunu, PAC/HAL katmanlarını, embedded-hal sürücü yazımını, kesme ve critical_section yönetimini, RTIC ile Embassy'yi, defmt/RTT ve probe-rs ile hata ayıklamayı ve flip-link ile yığın taşması korumasını uygulamalı olarak işler.

Süre ve Format

3 Gün. Her gün dört modül; Rust Çekirdeği ve no_std; HAL, Kesmeler ve Unsafe; Async, Test ve Bitirme ekseninde ilerleyen uygulamalı program.

Seviye

Orta Seviye — no_std Rust, HAL ve PAC katmanları, kesmeler, Embassy ve gömülü hata ayıklama

Öğrenme Metodu

Çalışmalar probe-rs ile gerçek kart veya simülatör üzerinde yapılır; her modülde kısa kod, derle-yükle-gözlemle döngüsü kullanılır.

Neden Bu Eğitim?

🔌Donanıma yakın güvenlik

Typestate ve sahiplikle pin, çevre birimi ve paylaşılan durum hatalarını derleme zamanında yakalarsınız.

⏱️Async firmware

Embassy ile kesme ve zamanlayıcıya bağlı görevleri okunabilir async kodla yazarsınız.

🧰Üretim araçları

probe-rs, defmt ve cargo-bloat ile hata ayıklar ve imaj boyutunu yönetirsiniz.

Anahtar Konular

gömülü Rustembedded Rustno_stdembedded-halRTICEmbassy Rustprobe-rsdefmtcortex-mRust firmware
“Donanım affetmez; derleyici ise hataları sahaya çıkmadan söyler.”

Ön Koşullar

Eğitimden verim almak için faydalı olacak bilgi ve ortam gereksinimleri

1
Rust temelleri

Sahiplik, borrow checker, trait ve Result kullanımına aşinalık.

2
Mikrodenetleyici bilgisi

GPIO, UART, I2C ve kesme kavramlarını bilmek.

3
Donanım

STM32, RP2040 veya nRF52 kartı (simülatör ile de çalışılabilir).

4
C ile gömülü deneyimi

C ile gömülü yazılım deneyimi faydalıdır ama zorunlu değildir.

Eğitim İçeriği

Programın gün gün akışı aşağıdadır. Bir güne tıklayarak o günün modüllerini ve içeriklerini görebilirsiniz.

Günün hedefiKatılımcı sahiplik ve trait kavramlarını gömülü bağlama uygular, no_std projesinin yapısını ve linker betiğini kurar.
Modül 1
Sahiplik, Ödünç Alma ve Ömürler
  • Sahiplik kuralları: move, drop ve kapsam sonu
  • Copy ile Clone farkı; hangi tipler Copy'dir
  • Paylaşımlı (&T) ve değiştirilebilir (&mut T) referans kuralları
  • String ile &str, dilimler (slice) ve ödünç alma
  • Lifetime parametreleri ('a), elision kuralları ve struct içinde referans
  • Borrow checker hatalarını okuma ve çözme (E0382, E0499, E0502)
Modül 2
Generics ve Trait Sınırları
  • Generic fonksiyon ve struct tanımı, monomorphization
  • Trait bound, where cümleleri ve çoklu sınır
  • İlişkili tipler (associated types) ve Iterator örneği
  • dyn Trait ve Box<dyn Trait>: nesne güvenliği (object safety)
  • Statik ve dinamik dispatch maliyet karşılaştırması
  • Blanket implementasyonlar ve orphan kuralı
Modül 3
Akıllı İşaretçiler ve İç Değişebilirlik
  • Box<T> ile heap tahsisi ve özyinelemeli tipler
  • Rc<T> ve Arc<T> ile paylaşımlı sahiplik
  • RefCell<T> ve Cell<T>: iç değişebilirlik ve çalışma zamanı ödünç kontrolü
  • Weak<T> ile referans döngülerinden kaçınma
  • Deref ve Drop trait'leri, RAII
  • Cow<'a, T> ile gereksiz kopyalamayı azaltma
Modül 4
no_std ve Gömülü Rust Temelleri
  • #![no_std], #![no_main] ve core ile alloc farkı
  • panic_handler seçenekleri: panic-halt, panic-probe
  • cortex-m-rt başlangıç kodu ve memory.x linker betiği
  • Hedef mimariler: thumbv7em-none-eabihf, riscv32imac
  • Statik bellek: heapless koleksiyonları ve static mut'tan kaçınma
  • Volatile erişim ve bellek eşlemeli register okuma/yazma
Günün hedefiKatılımcı embedded-hal ile sürücü yazar, kesmeleri RTIC ile yönetir, unsafe ve FFI sınırlarını güvenle çizer.
Modül 1
PAC, HAL ve embedded-hal
  • svd2rust ile PAC üretimi ve register API'si
  • HAL crate'leri (stm32f4xx-hal, rp2040-hal, nrf-hal)
  • embedded-hal trait'leri: OutputPin, I2c, SpiBus, DelayNs
  • GPIO, PWM ve ADC ile sensör/aktüatör sürme
  • UART, I2C ve SPI sürücülerinin platformdan bağımsız yazımı
  • Tip durumu (typestate) ile pin modunu derleme zamanında zorlama
Modül 2
Kesmeler, RTIC ve Embassy
  • Kesme işleyicileri, NVIC öncelikleri ve critical_section
  • cortex_m::interrupt::free ve Mutex<RefCell<..>> deseni
  • RTIC: görevler, kaynaklar, öncelikler ve Stack Resource Policy
  • Embassy async yürütücüsü: embassy-executor, embassy-time
  • DMA transferleri ve async UART/SPI sürücüleri
  • Düşük güç: WFI, uyku modları ve uyandırma kaynakları
Modül 3
Unsafe Rust ve FFI
  • unsafe blokları: ham işaretçiler, unsafe fn ve unsafe trait
  • Unsafe'in verdiği beş ek yetenek ve güvenli soyutlama yazımı
  • extern "C", #[repr(C)] ve #[no_mangle]
  • bindgen ile C başlıklarından bağlama üretimi
  • cbindgen ile Rust kütüphanesini C'den çağırma
  • miri ve AddressSanitizer ile tanımsız davranış avı
Modül 4
Makrolar ve İleri Tip Sistemi
  • macro_rules! ile bildirimsel makrolar ve tekrar desenleri
  • Derive ve attribute proc-macro yapısı (syn, quote)
  • Const generics ve sabit boyutlu dizi API'leri
  • PhantomData ve tip durumu (typestate) deseni
  • Builder deseni ve newtype ile tip güvenliği
  • Özel Iterator, IntoIterator ve Deref ile ergonomik API tasarımı
Günün hedefiKatılımcı Embassy ile async görevler yazar, probe-rs ve defmt ile hata ayıklar, sensör veri toplayıcı firmware'ini tamamlar.
Modül 1
Gömülü Hata Ayıklama ve Boyut Optimizasyonu
  • probe-rs, cargo-embed ve cargo run ile cihaza yükleme
  • defmt ve RTT ile hafif günlükleme
  • OpenOCD + gdb ile adım adım hata ayıklama
  • flip-link ile yığın taşmasını donanımda yakalama
  • opt-level="z", lto ve codegen-units=1 ile imaj küçültme
  • cargo-bloat, cargo-size ve HardFault analizi
Modül 2
Embassy ile Asenkron Gömülü Rust
  • embassy-executor görevleri (#[embassy_executor::task]) ve spawner
  • embassy-time: Timer, Ticker ve with_timeout
  • Senkronizasyon: Channel, Signal, Mutex<NoopRawMutex>
  • Async I2C/SPI/UART ve DMA transferleri
  • Kesme tabanlı bekleme ve GPIO EXTI olayları
  • Bütçe analizi: görev boyutu, yığın ve düşük güç
Modül 3
Test, Belgeleme ve Yayınlama
  • Birim, entegrasyon (tests/) ve doküman testleri
  • cargo test filtreleri, --nocapture ve #[should_panic]
  • criterion ile kıyaslama ve proptest ile özellik tabanlı test
  • Cargo workspace yapısı ve feature flag yönetimi
  • cargo publish, semver ve cargo-deny ile bağımlılık denetimi
  • CI hattı: fmt, clippy -D warnings, test ve cargo-audit
Modül 4
Bitirme: Sensör Veri Toplayıcı Firmware
  • Gereksinimler ve donanım bağlantı şeması (sensör, UART, LED)
  • Proje iskeleti: memory.x, .cargo/config.toml, probe-rs runner
  • Sensör okuma, filtreleme ve zamanlanmış görevler
  • Hata yönetimi, watchdog ve defmt günlüğü
  • Bellek ve güç ölçümü; optimizasyon turu
  • Sunum, kod inceleme ve geliştirme planı

Eğitim Kazanımları

Program sonunda katılımcılar:

✅
no_std yapısı

no_std/no_main projesi ve memory.x yapılandırabilirsiniz.

🎯
HAL kullanımı

PAC ve HAL katmanlarının farkını açıklayıp GPIO/I2C/SPI yönetebilirsiniz.

🧩
Sürücü yazımı

embedded-hal trait'leriyle taşınabilir sürücü geliştirebilirsiniz.

🛠️
Kesme güvenliği

critical_section ve RTIC ile paylaşılan durumu güvenle yönetebilirsiniz.

🔍
Embassy

Async görev ve zamanlayıcı kullanarak firmware yazabilirsiniz.

🚀
Unsafe sınırları

Unsafe kodu küçük ve belgeli güvenli soyutlamalara sarabilirsiniz.

📈
Hata ayıklama

probe-rs, defmt ve gdb ile hata ayıklayabilirsiniz.

🧪
Boyut ve yığın

LTO, opt-level ve flip-link ile imajı küçültüp yığın taşmasını yakalayabilirsiniz.

Kimler İçin Uygundur?

  • C/C++
  • gömülü yazılım geliştiren mühendisler ve Rust bilgisini mikrodenetleyici projelerine taşımak isteyen yazılımcılar için uygundur

Sıkça Sorulan Sorular

Bu eğitim kimler için uygundur?
C/C++ ile gömülü yazılım geliştiren mühendisler ve Rust bilgisini mikrodenetleyici projelerine taşımak isteyen yazılımcılar için uygundur.
Hangi kartlar kullanılır?
STM32, RP2040 ve nRF52 ailesiyle örnekler yapılır; kartınız yoksa QEMU/Renode tabanlı simülasyonla ilerlenebilir.
Rust'ı hiç bilmiyorum, katılabilir miyim?
Temel Rust bilgisi beklenir; sıfırdan başlıyorsanız önce Rust Giriş eğitimi önerilir.
C ile yazılmış kodla birlikte çalışılır mı?
Evet; FFI, bindgen ve #[repr(C)] ile mevcut C sürücüleriyle birlikte çalışma modülü vardır.
Eğitim sonunda sertifika alabilir miyim?
Evet. Devamlılık ve başarı koşullarını yerine getiren katılımcılara Digital Vizyon Akademi Katılım ve Başarı Sertifikası verilir.

Sertifikalandırma

Bu eğitim Digital Vizyon Akademi Başarı Sertifikası ile tamamlanır.

Eğitim başında “Ön Test”, bitiminde “Son Test” uygulanarak gelişim ölçümlenir. Değerlendirme formunu dolduran katılımcılar sertifikalarını alır. Sertifikanızın geçerliliğini Sertifika Sorgulama sayfasından doğrulayabilirsiniz.

Örnek Sertifika d Digital Vizyon AKADEMİ KATILIM SERTİFİKASI Bu sertifika [Katılımcı Adı Soyadı] adlı katılımcının aşağıdaki eğitim programını başarıyla tamamladığını belgeler. Gömülü Sistemler İçin Orta Seviye Rust Eğitimi Sertifika Kodu DV-2026XX00 Tarih 27.10.2026 Yetkili İmza DV AKADEMİ

Eğitim Bilgileri

Süre3 gün
SeviyeOrta Seviye
FormatOnline / Yüz Yüze / Hibrit
Sertifika✓ Var
Hemen Bilgi Al
İlgili Eğitimler

Bu Eğitimle Birlikte Tercih Edilenler

Diğer Programlama DilleriRuby Full Stack Development: RegEx & I/O with Ruby Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: RegEx & I/O with Ruby Eğitimi

2 günTemelOnline / Yüz Yüze / Hibrit

Ruby ile regex ve I/O: MatchData, gsub, StringScanner, File/Dir, CSV, JSON, YAML, Nokogiri ve OptionParser. 2 günlük uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRuby Full Stack Development: Unit Testing & Behavior Driven Development Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Full Stack Development: Unit Testing & Behavior Driven Development Eğitimi

2 günOrtaOnline / Yüz Yüze / Hibrit

Ruby test eğitimi: Minitest, RSpec, TDD, FactoryBot, WebMock/VCR, Cucumber, Capybara, SimpleCov ve CI. 2 günlük uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRuby Programming Eğitimi
Yazılım Geliştirme Eğitimleri

Ruby Programming Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Ruby programming: veri tipleri, blok, sınıflar, modüller, regex, dosya işleme, RSpec ve Sinatra/Rails'e giriş. 3 günlük uygulamalı eğitim.

Detayları Gör →
Diğer Programlama DilleriRust Essentials: Building Better Software Eğitimi
Yazılım Geliştirme Eğitimleri

Rust Essentials: Building Better Software Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Rust temelleri: sahiplik, trait, iterator, Result, generics, thread ve clap ile CLI projesi. 3 gün uygulamalı Rust Essentials eğitimi.

Detayları Gör →
Diğer Programlama DilleriRust for Embedded Systems Eğitimi
Yazılım Geliştirme Eğitimleri

Rust for Embedded Systems Eğitimi

3 günTemelOnline / Yüz Yüze / Hibrit

Rust ile gömülü sistemler: no_std, embedded-hal, GPIO, I2C, kesmeler, Embassy ve probe-rs ile hata ayıklama. 3 gün uygulamalı eğitim.

Detayları Gör →
+90 (501) 369 40 14 WhatsApp [email protected] LinkedIn