Siemens her ikisini de sunuyor otomotiv gömülü yazılım ve gömülü yazılım mühendisliği çözümleri. Siemens, Nucleus, Nucleus Hypervisor, Nucleus ReadyStart, Sokol Flex Linux, Sokol Omni Linux ve Sourcery CodeBench ürünlerinin (ilişkili eklentiler dahil) Kasım 2023'te kullanımdan kaldırılmasıyla SoC'ler için bağımsız gömülü yazılım sunmayı bıraktı. Bu ürünler için mevcut destek sözleşmeleri hala yerine getirilmektedir, lütfen Siemens ile iletişime geçin. Destek Merkezi daha fazla bilgi için.
Farklı gömülü yazılım türleri ve amaçları nelerdir?
- İşletim sistemi — İşletim sistemi (OS), en genel anlamıyla, bir kullanıcının bir bilgi işlem cihazında başka uygulamaları çalıştırmasına izin veren yazılımdır. İşletim sistemi, klavye ve fare gibi giriş aygıtları, ekranlar veya yazıcılar gibi çıkış aygıtları, ağ bağlantıları ve sabit sürücüler ve bellek gibi depolama aygıtları dahil olmak üzere işlemcinin donanım kaynaklarını yönetir. İşletim sistemi ayrıca yazılım uygulama programlarının verimli bir şekilde yürütülmesini ve yönetimini ve bellek tahsisini kolaylaştırmak için hizmetler sağlar.
- Firmware - Firmware, doğrudan bir donanım parçası için yazılmış bir yazılım türüdür. API'lerden, işletim sisteminden veya aygıt sürücülerinden geçmeden çalışır; diğer cihazlarla iletişim kurmak veya temel görevleri ve işlevleri amaçlandığı gibi gerçekleştirmek için gerekli talimatları ve rehberliği sağlar.
- Ara yazılım - Ara yazılım, uygulamalar ve işletim sistemleri arasında yer alan bir yazılım katmanıdır. Ara yazılım genellikle aşağıdakileri sağlayarak yazılım geliştirmeyi basitleştirdiği dağıtılmış sistemlerde kullanılır:
- Dağıtılmış uygulamaların inceliklerini gizleme
- Donanım, işletim sistemleri ve protokollerin heterojenliğini maskelemek
- Birlikte çalışabilir, yeniden kullanılabilir ve taşınabilir uygulamalar yapmak için kullanılan tek tip ve üst düzey arayüzler sağlar.
- Çabaların tekrarlanmasını en aza indiren ve uygulamalar arasındaki işbirliğini geliştiren bir dizi ortak hizmet sunmak
- Uygulama — Son kullanıcı, işletim sisteminde çalışan, ara yazılım ve ürün yazılımı kullanan veya bunlarla etkileşime giren son yazılım uygulamasını geliştirir ve gömülü sistemlerin hedef işlevinin birincil odak noktasıdır. Her son uygulama benzersizdir, işletim sistemleri ve ürün yazılımı cihazdan cihaza aynı olabilir.
Gömülü yazılım ve gömülü sistemler
Gömülü yazılım çalıştıran bir aygıttaki donanım bileşenlerine “gömülü sistem” denir. Gömülü sistemlerde kullanılan donanım bileşenlerinin bazı örnekleri güç kaynağı devreleri, merkezi işlemci birimleri, flash bellek cihazları, zamanlayıcılar ve seri iletişim portlarıdır. Bir cihazın erken tasarım aşamalarında, gömülü sistemi oluşturacak donanıma ve cihaz içindeki yapılandırmasına karar verilir. Ardından, gömülü yazılım, bu hassas yapılandırmada yalnızca bu donanım üzerinde çalışacak şekilde sıfırdan geliştirilir. Bu, gömülü yazılım tasarımını donanım yetenekleri ve bilgisayar programlama konusunda derin bilgi gerektiren özel bir alan haline getirir.
Gömülü yazılım tabanlı işlevlere örnekler
Devre kartları ve bilgisayar çipleri olan hemen hemen her cihaz, bu bileşenlere gömülü bir yazılım sistemi halinde düzenlenmiştir. Sonuç olarak, gömülü yazılım sistemleri günlük yaşamda her yerde bulunur ve tüketici, endüstriyel, otomotiv, havacılık, tıbbi, ticari, telekom ve askeri teknolojilerde bulunur.
Gömülü yazılım tabanlı özelliklerin yaygın örnekleri şunları içerir:
- Tıbbi görüntüleme ekipmanlarında bulunan görüntü işleme sistemleri
- Uçaklarda bulunan fly-by-wire kontrol sistemleri
- Güvenlik kameralarında hareket algılama sistemleri
- Trafik ışıklarında bulunan trafik kontrol sistemleri
- Akıllı ev cihazlarında bulunan zamanlama ve otomasyon sistemleri
Gömülü sistemlerin farklı türleri nelerdir?
Performans ve işlevsel gereksinimlere dayanıldığında, gömülü sistemlerin beş ana sınıfı vardır:
- Gerçek zamanlı gömülü sistemler, görevleri, işletim sistemlerinin temel mimarisi ve zamanlamasının yanı sıra iş parçacıklarının performansından, dallanma ve kesintiye uğrama gecikmesinden etkilenen deterministik ve tekrarlanabilir bir şekilde tamamlar. Genel amaçlı gömülü sistemler gerçek zamanlı bir gereksinim içermez ve kesintileri veya dallanmayı tamamlama süresine bağımlı olmaksızın yönetebilir. Grafik ekranlar ve klavye ve fare yönetimi genel sistemlerin iyi örnekleridir.
- Bağımsız gömülü sistemler, ana bilgisayar sistemi veya harici işlem kaynakları olmadan görevleri tamamlayabilir. Bağlı cihazlardan veri çıkarabilir veya alabilirler, ancak görevlerini tamamlamak için onlara güvenmezler.
- Bağımsız gömülü sistemler, görevlerini bir ana sistem veya harici işlem kaynakları olmadan tamamlayabilir. Bağlı cihazlardan veri çıkarabilir veya alabilirler, ancak görevlerini tamamlamak için onlara güvenmezler.
- Ağ bağlantılı gömülü sistemler, atanan görevleri gerçekleştirmek için bağlı bir ağa bağlıdır.
- Sistemin donanım mimarisinin karmaşıklığına bağlı olarak, üç ana gömülü sistem türü vardır: Ağ bağlantılı gömülü sistemler, atanan görevleri gerçekleştirmek için bağlı bir ağa bağlıdır.
Son pazarlar gömülü sistemleri nasıl etkiler?
Gömülü sistem gereksinimleri ve bileşenleri hedef pazarın taleplerine göre farklılık gösterecektir. Bazı örnekler şunları içerir:
- Tüketici - Yıkayıcılar, giyilebilir cihazlar ve cep telefonları gibi tüketim malları gibi uygulamalarda gömülü sistemler, cihazın küçültülmüş boyutunu vurgular.
- Çip üzerinde sistem, düşük güç tüketimi veya pil çalışması ve grafik arayüzleri. Bu uygulamalarda, yapılandırılabilir işletim sistemleri ve tasarımın çalışmayan “etki alanlarını” kapatma yeteneği değerlidir.
- Ağ - Bir kurumsal ağın bağlanabilirliğini, iletişimini, işlemlerini ve yönetimini sağlayan uygulamalar. Kullanıcılar, süreçler, uygulamalar, hizmetler ve harici ağlar/internet arasındaki iletişim yolu ve hizmetleri sağlar. Gömülü ağ uygulamaları yanıt hızına, paket işleme ve çevresel donanım yollarına odaklanır.
- Endüstriyel - Fabrika zemin yönetimi, motorlar ve yel değirmenleri gibi uygulamalar için, vurgu bulut bağlantısını ve deterministik “gerçek zamanlı” çalışmayı güvence altına alma eğilimindedir ve ağırlıklı olarak ara katman yazılımlarına odaklanabilir.
- Medikal, Otomotiv ve Havacılık - Bu endüstriler, son kullanıcıya (güvenlik) zarar vermemesini garanti ederken, yalnızca gerekli verilerin sisteme girmesini veya sistemden çıkmasını sağlamak için tasarımın bölümlerinin birbirinden izole edildiği karma güvenlik kritik sistemlerine ihtiyaç duyar. Örnekler otomobillerdeki otonom sürüş sistemleridir ve tıbbi cihazlardır. Bu gömülü sistemler, açık kaynak kodlu (Linux) ve deterministik gerçek zamanlı işletim sistemlerinin (RTOS) bir karışımına sahip olabilir ve kanıtlanmış ara yazılımları yoğun bir şekilde kullanabilir.
Otomotiv gömülü yazılımı neden farklıdır?
Otomotiv elektroniğinde, frenleme, direksiyon, süspansiyon, güç aktarma organı vb. gibi her bir kontrol işlevi gömülü sistemlerde karmaşık gerçek zamanlı etkileşimler meydana gelir. Her gömülü sistemi içeren fiziksel muhafaza elektronik kontrol ünitesi (ECU) olarak adlandırılır. Her ECU ve gömülü yazılımı, dağıtılmış sistem olarak bilinen karmaşık bir elektrik mimarisinin parçasıdır.
Bir aracın dağıtılmış sistemini oluşturan ECU'lar birbirleriyle iletişim kurarak otomatik acil frenleme, uyarlanabilir hız sabitleyici, denge kontrolü, uyarlanabilir farlar ve çok daha fazlası gibi çeşitli işlevleri yerine getirebilir. Tek bir işlev, birden fazla ağ protokolü ile bağlanan çok sayıda ECU'ya yayılmış 20 veya daha fazla gömülü yazılım uygulamasında etkileşime ihtiyaç duyabilir. Gömülü yazılımla konuşlandırılan karmaşık kontrol algoritmaları, işlevlerin, gerekli giriş ve çıkışların ve veri güvenliğinin doğru zamanlamasını sağlar.
Otomotiv yazılımı uygulama tabanlı özelliklerin yaygın örnekleri şunları içerir:
- ADAS (Gelişmiş Sürücü Yardım Sistemleri) uyarlanabilir hız sabitleyici, otomatik acil frenleme, şerit tutma asistanı, trafik yardımı, şeritten ayrılma uyarıları gibi özellikler
- Pil yönetimi
- Tork telafisi
- Yakıt enjeksiyon hızı kontrolü
ECU yazılım yığını
Elektronik Kontrol Ünitesi veya ECU, yonga düzeyinde donanıma ve bir yığın gömülü yazılım içeren bir ana bilgi işlem biriminden oluşur. Bununla birlikte, otomotiv üreticileri arasında, tek bir çip üzerinde birden fazla bilgi işlem çekirdeği içeren karmaşık entegre devrelere sahip ECU'lar tasarlama yönünde artan bir eğilim vardır - buna Chip Üzerinde Sistem (SoC) denir. Bu SoC'ler, donanımı birleştirmek için çok sayıda ECU soyutlamasına ev sahipliği yapabilir. Bir ECU için yazılım yığını tipik olarak düşük seviyeli ürün yazılımından üst düzey gömülü yazılım uygulamalarına kadar bir dizi çözüm içerir.
ECU Yığını | Açıklama |
Gömülü yazılım uygulaması | Kontrol algoritmaları, işleme, hizmetler |
Uygulama çerçevesi | Security & Emniyet Çerçeveleri |
Çalışma ortamı | AUTOSAR classic, AUTOSAR Adaptif, Giriş/Çıkış kanalları |
Gömülü sanallaştırmalar | Gerçek zamanlı işletim sistemi, ECU soyutlamaları |
Donanım Yazılımı | Önyükleme yükleyicileri, güvenli depolama, güvenli iş parçacığı |
Donanım | Silikon bazlı cihazlar, mikro denetleyiciler, tek veya çok katmanlı kartlar |