CodeBlanks Logo Icon CodeBlanks

Gömülü nedir?

Gömülü sistem kavramını ve C++ kısıtlarını öğrenirsin.

Gömülü nedir?

Bir gömülü sistem (embedded system), belirli bir görevi yerine getirmek için tasarlanmış, sınırlı bellek ve güç kaynaklı bir bilgisayardır. Çamaşır makinesi, arabalardaki motor kontrol ünitesi, akıllı saatler gömülü sistem örnekleridir.

Gömülü C++ programları genellikle işletim sistemi olmadan (bare-metal) ya da bir RTOS (Real-Time Operating System) üzerinde çalışır. Bellek çok kısıtlıdır; std::vector gibi dinamik bellek kullanan araçlardan kaçınılır. Donanıma doğrudan bellek eşlemeli I/O ile erişilir.

Kısıtlar ve araçlar

Gömülü sistemlerde dinamik bellek ayırma kısıtlıdır; yığın (heap) küçüktür ya da yoktur. Büyük veriler static ya da stack üzerinde tutulur. İstisna işleme genellikle kapalıdır (-fno-exceptions); çünkü istisna tabloları bellek kaplar.

Donanıma erişim bellek eşlemeli I/O ile olur: belirli bir bellek adresine yazmak bir kaydıtçıyı değiştirir. Bu adresler volatile işaretçi olarak okunur/yazılır; böylece derleyici okumayı atlamaz. RTOS, görev zamanlamasını üstlenir; bare-metal programlar ise kendi döngülerini yönetir.

Uygulama Gömülü tarzı mesaj yaz

main içinde std::cout << "Gömülü"; yaz ve return 0; ile bitir.

Başlangıç kodu

main.cpp
#include <iostream>

int main() {
    // Mesajı yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

int main() {
    std::cout << "Gömülü";
    return 0;
}

Beklenen çıktı

Gömülü

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Gömülü bir sistemi ne karakterize eder?

main.cpp
// mikrodenetleyici üzerinde çalışan program
  • Sınırsız bellek
  • Genel amaçlı işletim sistemi
  • Belirli bir görev için tasarlanmış, kısıtlı kaynak Doğru cevap
  • Her zaman güçlü CPU

Açıklama: Gömülü sistem belirli bir görev için tasarlanır ve kısıtlı kaynağa sahiptir.

2 main adını tamamla

Soru
int ____(void) { /* gömülü giriş */ }
Cevap
int main(void) { /* gömülü giriş */ }

Açıklama: main, programın giriş noktasıdır.

3 Kavramı rolüne eşle

Kavram Anlamı
RTOS Gerçek zamanlı çekirdek
MMIO Bellek eşlemeli I/O
volatile Donanım erişimi
interrupt Donanım kesmesi

Uzman bölümündeki tüm dersler