CodeBlanks Logo Icon CodeBlanks

Gömülü nedir?

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

Gömülü sistem nedir?

Gömülü sistem (embedded system), belirli bir görevi yapmak için tasarlanmış, kaynak kısıtlı bir bilgisayardır. Mikrodenetleyici (MCU) üzerinde çalışır; sınırlı RAM, ROM ve güç tüketir. Örnekler: araç motor kontrolü, akıllı saat, mikrodalga fırın.

Gömülü C programlamada kısıtlar belirleyicidir. Bellek azdır (birkaç KB), işlemci yavaştır (MHz düzeyinde), güç tüketimi kritiktir. Bu yüzden verimli kod yazmak zorunludur. Standart kütüphane kullanımı sınırlıdır; printf gibi fonksiyonlar çoğu zaman yoktur. Bunun yerine, bellek eşlemeli I/O (MMIO) ile donanım doğrudan denetlenir. Gömülü C, bu kısıtlarla çalışmayı öğretir.

Gömülü C kısıtları

Gömülü C programlamada üç ana kısıt vardır: bellek, hız ve güç. Bellek kısıtı, dinamik bellek kullanımını (malloc) genellikle imkansız kılar; bunun yerine statik ayrma tercih edilir.

Hız kısıtı, verimli algoritmalar gerektirir; her döngü adımı sayılır. Güç kısıtı, işlemcinin uyku moduna alınmasını ve kesme (interrupt) ile uyandırılmasını gerektirir. Gömülü kod genellikle sonsuz bir döngü içinde çalışır: while (1) { ... }. Bu döngü, sistemi sürekli çalışır tutar ve donanım olaylarına yanıt verir. Her kısıt, kodun yapısını doğrudan etkiler.

Uygulama Gömülü kısıtları yazdır

int ram_size = 1024; ve int cpu_speed = 16; tanımla. int main(void) yaz; printf("Bellek: %d\n", ram_size), printf("Hız: %d\n", cpu_speed) ve printf("Hazır\n") ile yazdır.

Başlangıç kodu

main.c
#include <stdio.h>

// bellek ve hız değişkenlerini tanımla
// main'de üç satır yazdır

Örnek çözüm

main.c
#include <stdio.h>

int ram_size = 1024;
int cpu_speed = 16;

int main(void) {
    printf("Bellek: %d\n", ram_size);
    printf("Hız: %d\n", cpu_speed);
    printf("Hazır\n");
    return 0;
}

Beklenen çıktı

Bellek: 1024
Hız: 16
Hazır

Soru ve cevaplar

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

1 Gömülü bir sistemde aşağıdakilerden hangisi tipiktir?

  • MHz düzeyinde işlemci hızı Doğru cevap
  • Sınırsız RAM
  • Tam standart kütüphane
  • Gigabayt disk

Açıklama: Gömülü sistemlerde işlemci hızı genellikle MHz düzeyindedir.

2 Bellek boyutunu tamamla

Soru
int ram_size = ____;  /* KB cinsinden */
Cevap
int ram_size = 1024;  /* KB cinsinden */

Açıklama: Gömülü sistemlerde 1024 KB (1 MB) bile böl sayılır.

3 Kısıtı türüne eşle

Kavram Anlamı
Bellek KB düzeyinde
Hız MHz düzeyinde
Güç mW düzeyinde
Döngü Sonsuz while

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