Gömülü yazılım, denetim makineleri ve bilgisayar sayılmayan aygıtlar için yazılmış yazılımlardır. Gömülü yazılımlar genellikle çalıştırılacakları donanıma göre özelleştirilir, zaman ve bellek kısıtlamalarına sahiptir. "Gömülü yazılım" terimi bazen firmware terimi ile beraber kullanılır, fakat firmware bir bilgisayardaki, üstünde bir işletim sisteminin çalıştığı ROM tabanlı koda uygulanabilir. Oysaki, gömülü yazılım genellikle aygıttaki tek yazılım olarak bulunur.
Gömülü yazılımların belirgin ve değişmez bir özelliği ise, bu yazılımların çoğu işlevlerinin kullanıcı arayüzü değil, bilgisayar arayüzü aracılığıyla gerçekleştirilmesi ve denetlenmesidir.
İmalatçı firmalar, gömülü yazılımlarını arabalar, telefonlar, modemler, robotlar, elektronik tehçizatlar, oyuncaklar, güvenlik sistemleri, kalp pilleri, televizyonlar ve set üstü cihazlar, dijital saatler gibi ürünlerinin içine yerleştirmektedir. Bu yazılım işlem karmaşıklığı Yaklaşık Değer Hesaplama sistemi ( baz alan bir yöntem) kullanılarak belirlenmiş, birkaç kilobaytlık hafızaya sahip olan bir 8-bit mikrodenetleyicide çalıştırılan bir ışıklandırma kontrolü kadar basit olabilirken, uçaklar, füzeler ve sistemlerindeki uygulamarında çok daha karışık bir halde bulunabilirler.
İşletim sistemleri
OS X, Windows veya GNU/Linux gibi işletim sistemlerini kullanan standart bilgisayarlardan farklı olarak, gömülü yazılımlar hiçbir işletim sistemini kullanmayabilir ya da işletim sistemi kullanımı söz konusu olduğunda, gerçek zamanlı işletim sistemleri genel tercih olmak üzere, çeşitli işletim sistemlerini kullanabilir. Bu çeşitlilik küçük, birer çalışma döngüsü ve zamanlayıcıdan oluşan tek kişilik işlemlerden, LynxOS, VxWorks, , 'e, Windows CE veya Linux (yamalı kernel kullanımıyla)'a kadar yükseltilebilir. Diğer seçenekler OpenWrt, , eCos, Fusion RTOS, Nucleus RTOS, , , , QNX, FreeBSD ve 'yi içerir. Yazılım kodu genellikle C veya programlama dillerinde yazılır, fakat son zamanlarda mikrodenetleyiciler ve gömülü sistemlerde kullanılma amacıyla Python ve JavaScript gibi kullanımı yaygınlaşmıştır.Ada dili ise bazı askeri projelerde ve havacılık projelerinde yer almaktadır.
Uygulama yazılımından farkları
Çoğu tüketiciler, bilgisayara işlevsellik kazandıran uygulama yazılımlarına aşinadır. Gömülü yazılımlar ise, bu tür yazılımlardan daha basit olmamasına karşın, tüketicinin kullanımında daha az oranda görünür. Uygulama yazılımlarından farklı olarak gömülü yazılımlar kalıplaşmış, sabit donanım gereksinimlerine ve yeteneklerine sahiptir, üçüncü parti yazılım ve donanımların ilavesi katı bir şekilde kısıtlanmıştır.
Gömülü yazılımlar, gerekli tüm aygıt sürücülerini üretim esnasında içermek zorundadır ve bu sürücüler özelleştirilmiş donanımlara göre oluşturulur. Yazılım ise CPU ve özel olarak seçilen yongalara bağlı olarak yüksek derecede bağımlılık gösterir. Çoğu gömülü yazılım mühendisleri analizi ve bileşenlerin, girdi ve iletişim sistemlerinin kullanımını belirlemekte kullanılan veri sayfalarının analizi konusunda mutlaka geçmiş tecrübeye sahiptir. (Ondalık), onaltılık ve ikili veri türlerinin dönüşümü tekniğinin kullanımı kadar kullanışlıdır.
Web uygulamaları nadir sıklıkla kullanılmaktadır, fakat XML dosyaları ve benzer çıktılar görüntüleme amacıyla bir bilgisayara aktarılabilir. Klasör içeren dosya sistemleri, SQL veritabanlarının olduğu gibi genellikle bulunmamaktadır.
Yazılım geliştirme işlemi, kodu bilgisayarda çalıştırabilen, ayrıca çalıştırılabilir kodu hedeflenen aygıta göre derleyebilen bir çapraz derleyici gerektirir. Hata ayıklama işleminde bir , veya 'nin kullanımı mecburidir. Yazılım geliştiricilerinin çoğu zaman kernel (İS) kodunun tamamına erişim imkânı vardır.
Depolama hafızasının ve RAM'in boyutu büyük ölçüde değişiklik gösterebilir. Bazı sistemler 16 KB Flash hafıza, 4KB RAM ve 8 MHz frekansla çalışan bir işlemciyle çalışırken, bazı sistemler donanım konusunda günümüz bilgisayarlarını geçebilir. Bu tür hafıza gereksinimleri C++ yerine C veya dillerinin daha fazla kullanımını gerektirebilir. BASIC gibi yorumlanan diller (Parallax Propeller gibi aygıtların kullandığı derlenen BASIC dışında) ve Java (Java ME Embedded 8.3 , mikrodenetleyicileri ve Raspberry Pi and Gen. 2'de kullanılan eski mikrodenetleyiciler için mevcuttur.) dillerinin kullanımı yaygın değildir; fakat yorumlanan bir dil olan Python 3 dilinin mikrodenetleyicilere özel uygulaması özellikle 32-bit ARM-tabanlı mikrodenetleyici (Örneğin BBC gibi) ve 16-bit PIC mikrodenetleyici kullanımına açıktır.
İletişim protokolleri
İşlemciler arası ve işlemcinin diğer sistem bileşenleri ile iletişimin kurulabilmesi oldukça önemlidir. dışında, genellikle kullanılan protokollere I²C, SPI, Seri port ve USB örnek verilebilir.
Gömülü sistemlerde kullanım için tasarlanmış iletişim protokolleri ve gibi şikretler tarafından kapalı kaynak yazılım olarak elde edilebilir. Açık kaynak protokoller , vb. diğer protokollerden gelmektedir.
Kaynakça
- The Ten Commandments of Embedded Software Security 22 Ekim 2016 tarihinde Wayback Machine sitesinde ., 2015.
- Edward A. Lee, "Embedded Software", Advances in Computers (M. Zelkowitz, editor) 56, Academic Press, London, 2002.
- ^ "Stroustrup on C++ for embedded (bottom p.2)" 29 Mart 2017 tarihinde Wayback Machine sitesinde . (PDF).
- ^ "I.C.S. on embedded software" 22 Mart 2013 tarihinde Wayback Machine sitesinde ..
- ^ "Embedded Systems Methods and Technologies" 29 Ekim 2013 tarihinde Wayback Machine sitesinde ..
- ^ Alippi, Cesare (2014), Intelligence for Embedded Systems, Springer, ISBN 978-3-319-05278-6 .
- ^ "Arşivlenmiş kopya" (PDF). 5 Temmuz 2010 tarihinde kaynağından (PDF). Erişim tarihi: 17 Kasım 2016.
- ^ Mazzei, Daniele; Montelisciani, Gabriele; Baldi, Giacomo; Fantoni, Gualtiero (2015).
- ^ "Stroustrup on embedded software" 3 Şubat 2013 tarihinde Wayback Machine sitesinde ..
- ^ "Example of embedded CPU" 15 Haziran 2012 tarihinde Wayback Machine sitesinde ..
- ^ "Java ME Embedded" 19 Kasım 2016 tarihinde Wayback Machine sitesinde ..
Ayrıca bakınız
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
Gomulu yazilim denetim makineleri ve bilgisayar sayilmayan aygitlar icin yazilmis yazilimlardir Gomulu yazilimlar genellikle calistirilacaklari donanima gore ozellestirilir zaman ve bellek kisitlamalarina sahiptir Gomulu yazilim terimi bazen firmware terimi ile beraber kullanilir fakat firmware bir bilgisayardaki ustunde bir isletim sisteminin calistigi ROM tabanli koda uygulanabilir Oysaki gomulu yazilim genellikle aygittaki tek yazilim olarak bulunur Gomulu yazilimlarin belirgin ve degismez bir ozelligi ise bu yazilimlarin cogu islevlerinin kullanici arayuzu degil bilgisayar arayuzu araciligiyla gerceklestirilmesi ve denetlenmesidir Imalatci firmalar gomulu yazilimlarini arabalar telefonlar modemler robotlar elektronik tehcizatlar oyuncaklar guvenlik sistemleri kalp pilleri televizyonlar ve set ustu cihazlar dijital saatler gibi urunlerinin icine yerlestirmektedir Bu yazilim islem karmasikligi Yaklasik Deger Hesaplama sistemi baz alan bir yontem kullanilarak belirlenmis birkac kilobaytlik hafizaya sahip olan bir 8 bit mikrodenetleyicide calistirilan bir isiklandirma kontrolu kadar basit olabilirken ucaklar fuzeler ve sistemlerindeki uygulamarinda cok daha karisik bir halde bulunabilirler Isletim sistemleriOS X Windows veya GNU Linux gibi isletim sistemlerini kullanan standart bilgisayarlardan farkli olarak gomulu yazilimlar hicbir isletim sistemini kullanmayabilir ya da isletim sistemi kullanimi soz konusu oldugunda gercek zamanli isletim sistemleri genel tercih olmak uzere cesitli isletim sistemlerini kullanabilir Bu cesitlilik kucuk birer calisma dongusu ve zamanlayicidan olusan tek kisilik islemlerden LynxOS VxWorks e Windows CE veya Linux yamali kernel kullanimiyla a kadar yukseltilebilir Diger secenekler OpenWrt eCos Fusion RTOS Nucleus RTOS QNX FreeBSD ve yi icerir Yazilim kodu genellikle C veya C programlama dillerinde yazilir fakat son zamanlarda mikrodenetleyiciler ve gomulu sistemlerde kullanilma amaciyla Python ve JavaScript gibi kullanimi yayginlasmistir Ada dili ise bazi askeri projelerde ve havacilik projelerinde yer almaktadir Uygulama yazilimindan farklariCogu tuketiciler bilgisayara islevsellik kazandiran uygulama yazilimlarina asinadir Gomulu yazilimlar ise bu tur yazilimlardan daha basit olmamasina karsin tuketicinin kullaniminda daha az oranda gorunur Uygulama yazilimlarindan farkli olarak gomulu yazilimlar kaliplasmis sabit donanim gereksinimlerine ve yeteneklerine sahiptir ucuncu parti yazilim ve donanimlarin ilavesi kati bir sekilde kisitlanmistir Gomulu yazilimlar gerekli tum aygit suruculerini uretim esnasinda icermek zorundadir ve bu suruculer ozellestirilmis donanimlara gore olusturulur Yazilim ise CPU ve ozel olarak secilen yongalara bagli olarak yuksek derecede bagimlilik gosterir Cogu gomulu yazilim muhendisleri analizi ve bilesenlerin girdi ve iletisim sistemlerinin kullanimini belirlemekte kullanilan veri sayfalarinin analizi konusunda mutlaka gecmis tecrubeye sahiptir Ondalik onaltilik ve ikili veri turlerinin donusumu tekniginin kullanimi kadar kullanislidir Web uygulamalari nadir siklikla kullanilmaktadir fakat XML dosyalari ve benzer ciktilar goruntuleme amaciyla bir bilgisayara aktarilabilir Klasor iceren dosya sistemleri SQL veritabanlarinin oldugu gibi genellikle bulunmamaktadir Yazilim gelistirme islemi kodu bilgisayarda calistirabilen ayrica calistirilabilir kodu hedeflenen aygita gore derleyebilen bir capraz derleyici gerektirir Hata ayiklama isleminde bir veya nin kullanimi mecburidir Yazilim gelistiricilerinin cogu zaman kernel IS kodunun tamamina erisim imkani vardir Depolama hafizasinin ve RAM in boyutu buyuk olcude degisiklik gosterebilir Bazi sistemler 16 KB Flash hafiza 4KB RAM ve 8 MHz frekansla calisan bir islemciyle calisirken bazi sistemler donanim konusunda gunumuz bilgisayarlarini gecebilir Bu tur hafiza gereksinimleri C yerine C veya dillerinin daha fazla kullanimini gerektirebilir BASIC gibi yorumlanan diller Parallax Propeller gibi aygitlarin kullandigi derlenen BASIC disinda ve Java Java ME Embedded 8 3 mikrodenetleyicileri ve Raspberry Pi and Gen 2 de kullanilan eski mikrodenetleyiciler icin mevcuttur dillerinin kullanimi yaygin degildir fakat yorumlanan bir dil olan Python 3 dilinin mikrodenetleyicilere ozel uygulamasi ozellikle 32 bit ARM tabanli mikrodenetleyici Ornegin BBC gibi ve 16 bit PIC mikrodenetleyici kullanimina aciktir Iletisim protokolleriIslemciler arasi ve islemcinin diger sistem bilesenleri ile iletisimin kurulabilmesi oldukca onemlidir disinda genellikle kullanilan protokollere I C SPI Seri port ve USB ornek verilebilir Gomulu sistemlerde kullanim icin tasarlanmis iletisim protokolleri ve gibi sikretler tarafindan kapali kaynak yazilim olarak elde edilebilir Acik kaynak protokoller vb diger protokollerden gelmektedir KaynakcaThe Ten Commandments of Embedded Software Security 22 Ekim 2016 tarihinde Wayback Machine sitesinde 2015 Edward A Lee Embedded Software Advances in Computers M Zelkowitz editor 56 Academic Press London 2002 Stroustrup on C for embedded bottom p 2 29 Mart 2017 tarihinde Wayback Machine sitesinde PDF I C S on embedded software 22 Mart 2013 tarihinde Wayback Machine sitesinde Embedded Systems Methods and Technologies 29 Ekim 2013 tarihinde Wayback Machine sitesinde Alippi Cesare 2014 Intelligence for Embedded Systems Springer ISBN 978 3 319 05278 6 Arsivlenmis kopya PDF 5 Temmuz 2010 tarihinde kaynagindan PDF Erisim tarihi 17 Kasim 2016 Mazzei Daniele Montelisciani Gabriele Baldi Giacomo Fantoni Gualtiero 2015 Stroustrup on embedded software 3 Subat 2013 tarihinde Wayback Machine sitesinde Example of embedded CPU 15 Haziran 2012 tarihinde Wayback Machine sitesinde Java ME Embedded 19 Kasim 2016 tarihinde Wayback Machine sitesinde Ayrica bakinizGomulu sistem