Kısa tanım
Gömülü yazılım, belirli bir donanım üzerinde, belirli bir işlevi yerine getirmek amacıyla geliştirilen ve genellikle o donanımla bütünleşik olarak çalışan özel amaçlı yazılımdır.
Ayrıntılı açıklama
Genel amaçlı bilgisayar yazılımlarından farklı olarak gömülü yazılım, kaynakları kısıtlı bir hedef donanım üzerinde çalışır; işlemci gücü, bellek ve enerji bütçesi sınırlıdır. Bu nedenle gömülü yazılım geliştirme, donanım mimarisinin yakından bilinmesini, düşük seviyeli programlama tekniklerini ve kaynak kullanımının titizlikle yönetilmesini gerektirir. Yazılım çoğunlukla aygıt sürücüleri, donanım soyutlama katmanı, gerçek zamanlı işletim sistemi veya çıplak donanım (bare-metal) döngüsü ve uygulama katmanından oluşan katmanlı bir mimariyle yapılandırılır.
Geliştirme süreci, çapraz derleme (cross-compilation) esasına dayanır: kod geliştirme ortamında yazılır ve derlenir, ardından hedef karta yüklenerek doğrulanır. Hata ayıklama için donanım üzerinde izleme arabirimleri, mantık çözümleyiciler ve benzetim ortamları kullanılır. Gömülü yazılımın donanımla sıkı bağı, test faaliyetlerinin de donanım döngüsünde simülasyon gibi özel yöntemlerle yürütülmesini gerektirir.
Emniyet kritik alanlarda gömülü yazılım, gereksinim izlenebilirliği, kodlama standartlarına uyum, statik analiz ve kapsamlı doğrulama faaliyetleriyle birlikte disiplinli bir yaşam döngüsü içinde geliştirilir. Havacılıkta DO-178C gibi standartlar, yazılımın kritiklik seviyesine göre hangi kanıtların üretilmesi gerektiğini tanımlar. Yazılımın sahada güncellenebilmesi, sürüm yönetimi ve konfigürasyon kontrolü de yaşam döngüsünün ayrılmaz parçalarıdır.
Savunma sanayii bağlamı
Modern savunma sistemlerinde işlevselliğin giderek artan bölümü gömülü yazılımla sağlanır; radar sinyal işlemeden görev bilgisayarlarına, güdüm birimlerinden haberleşme cihazlarına kadar hemen her alt sistemde gömülü yazılım bulunur. Bu durum, yazılım geliştirme yetkinliğini ve kaynak koduna erişimi, tedarik projelerinde bağımsızlık ve sürdürülebilirlik açısından stratejik bir konu hâline getirmiştir.
Türk savunma sanayiinde gömülü yazılım geliştirme yetkinliğinin derinleştirilmesine yönelik çalışmalar yürütülmekte, millî yazılım altyapılarının olgunlaştırılması hedeflenmektedir.
İlgili kavramlar
Gerçek zamanlı işletim sistemi (RTOS) · Donanım döngüsünde simülasyon (HIL) · Statik kod analizi · Güvenli yazılım geliştirme · DO-178C