CENG 452

Gömülü Sistemler için Yazılım Geliştirilmesi

Programlanabilir gömülü sistemlerin tasarımı ve gerçeklenmesi; derleyiciler, planlayıcılar, kod üreteçleri, ve sistem seviyesi tasarım araçları; veri-akış ve kontrol modelleri, tekli ve çoklu mikroişlemci mimarileri için yazılım sentezleme; Senkron/reaktif programlama dilleri ve matematiksel altyapıları; sinyal işleme, iletişim ve kontrol algoritmalarının sayısal sinyal işleme, mikrodenetleyici, FPGA, ASIC ve gerçek-zamanlı işletim sistemlerinde uygulanması; gerçek-zamanlı çekirdek tasarımı; donanım ve yazılım hatalarını tolere eden yazılım teknikleri.

Dersin Amacı

Çeşitli gömülü sistemler için yazılım geliştirme tekniklerinin öğrencilere en son teknoloji ve güncel bilgiler ışığında öğretilmesi.

Kaynakça

Berger, Arnold. Embedded systems design:an introduction to processes tools and tecniques. San Francisco;Lawrence, Kan: CMP Books, c2002. ,Adamski, Marian Andrzej. Design of Embedded Control Systems, Boston, MA : Springer Science+Business Media, Inc., 2005. ,Tebbs, David. Real time systems: management and design, McGraw-Hill London 1977

Öğrenme Çıktıları:

1. Yazılım geliştirmenin gömülü sistemlere özgü gereksinimlerini bilmek

2. Standartları ve çeşitli yazılım geliştirme ortamlarını ve araçlarını bilmek

3. Gömülü sistemlerin yaygın alanlarında kullanılan algoritmaların analiz ve sentezini yapabilme

4. Gömülü sistemlerde yazılım sınama, doğrulama, test konularını bir projede uygulayabilme

KONU
Gömülü sistemlerde yazılım geliştirmeye giriş
Derleyiciler, kod üreteçleri, sistem seviyesinde tasarım araçları
Hesaplamada veri akış ve kontrol modelleri
Tek ve çok işlemcili sistemler için yazılım sentezleme
Senkron/Reaktif programlama dilleri
Gerçek-zamanlı işletim sistemleri
Özet (yazılı yoklama)
Gerçek-zamanlı iş yükü planlama (scheduling) algoritmaları
Sayısal işaret işleme, haberleşme ve kontrol alanlarında algoritma tasarımı
Algoritmaların mikrodenetleyiciler, sayisal işaret işlemcileri ve FPGA’ler üzerinde implementasyonu
Yazılım geliştirme araçları ve standartları
Test, tekrar kullanım odaklı tasarım
Yazılım tabanlı hataya-dayanıklılık teknikleri
Dönem projelerinin tartışılması

Notlandırma

Vize: 30%

Sunum: 30%

Final: 40%