Bilgiustam
Türkiye'nin Bilgi Sitesi

Gömülü Sistemler Nedir? Nerelerde Kullanılır?

0 32

Gömülü bir sistem, özel bir işlev için veya büyük bir sistem içerisindeki özel işlevler için bilgisayar donanımı ve yazılımı kombinasyonundan oluşan bir sistemdir. Bu sistemler sınırlı kapasiteye ve dolayısı ile sınırlı programlanabilme kabiliyetine sahiptir. Günlük hayatımızda, gömülü sistemler teknolojisi kullanılarak tasarlanmış pek çok elektrikli ve elektronik devre ve kiti sıklıkla kullanıyoruz. Endüstriyel makineler, tıbbi cihazlar, otomobiller, kameralar, ev eşyaları, uçaklar, otomatlar ve oyuncakların yanı sıra mobil cihazlar birçok gömülü sistemi içermektedir.

Donanım devrelerini, proje çözümleri sağlamak için yazılım programlama teknikleriyle bütünleştiren elektronik sisteme gömülü sistemler denir. Gömülü sistemler, bilgi işlem sistemleridir. Bu gömülü sistem teknolojisini kullanarak, devrelerin karmaşıklığı, maliyeti ve boyutu büyük ölçüde azaltılabilir. Hiçbir kullanıcı arabirimine sahip olmayan basit gömülü sistemler olduğu (örneğin; gömülü sistemin tek bir görevi yerine getirmek üzere tasarlandığı aygıtlarda) gibi karmaşık kullanıcı arabirimine sahip gömülü sistemler (örneğin; mobil cihazlarda kullanılan gömülü sistemler) de bulunmaktadır. Butonlar, ledler, dokunmatik ekranlar kullanıcı arabirimlerine örnek olarak verilebilir. Bazı gömülü sistemler uzak kullanıcı arabirimlerini de kullanabilmektedir.

Gömülü Sistem Donanımı

Gömülü bir sistem, temel olarak, uygulamaya dayalı olarak tek bir veya çoklu görevleri çalıştırmak, organize etmek ve gerçekleştirmek üzere programlanabilen veya programlanmayan elektronik bir sistemdir. Gömülü sistemler mikroişlemci (microprocessor) veya mikrodenetleyici (microcontroller) tabanlı olabilir. Her iki durumda da, ürünün kalbinde, gerçek zamanlı işlemler için hesaplama yapmak üzere tasarlanmış bir entegre devre (integrated circuit – IC) bulunur. Mikroişlemciler mikrodenetleyicilerden görsel olarak ayırt edilemez. Mikroişlemciler sadece merkezi işlem birimi (CPU) kullanır ve bu nedenle bellek çipleri gibi diğer bileşenlerin sisteme eklenmesi gerekmektedir. Mikrodenetleyiciler ise kendi kendine yeten sistemler olarak tasarlanmıştır. Mikrodenetleyiciler sadece bir CPU değil, aynı zamanda bellek, RAM ve seri iletişim portları gibi çevre birimlerine de sahiptir. Mikrodenetleyicilerin bütün bir sistemi kullanmaya eğilimli olmasından dolayı daha karmaşık sistemlerde sıklıkla kullanılmaktadır. Örneğin; ev aletlerinde, medikal cihazlarda, robotlarda ve araçlarda daha çok mikrodenetleyiciler kullanılmaktadır.

Gömülü Sistem Yazılımı

Gömülü sistemde kullanılan bir yazılım, bir program olarak adlandırılan talimatlar setidir. Tipik bir endüstriyel mikrodenetleyici, tipik bir kurumsal masaüstü bilgisayara kıyasla oldukça basittir ve genellikle daha basit ve daha az bellek kullanan bir program ortamına bağımlıdır. Gömülü bir sistem sadece belirli görevleri yerine getirmek üzere tasarlandığından, tasarım mühendisleri boyut, maliyet, güç tüketimi, güvenilirlik ve performansı optimize etmek durumundadır. Basit cihazlar çıplak metal üzerinde çalışır ve yongaya ait CPU’nın makine kodu kullanılarak programlanır. Bu programlar öncelikle C/C ++ veya gömülü C gibi herhangi bir programlama dili kullanan Proteus veya Lab-view gibi herhangi bir programlama ortamı kullanılarak yazılabilmektedir. Bununla birlikte, gömülü sistemler genellikle, gerçek zamanlı işletim ortamlarının sunulması gereken yerlerde, gömülü kullanıma uygun işletim sistemleri veya dil platformları kullanmaktadır. Bunlara örnek olarak sadeleştirilmiş Linux versiyonları, EmbeddedJava ve Windows IoT (eski adıyla Windows Embedded) verilebilir.

Gömülü Sistemlerde Hata Ayıklama (Debugging)

Büyük ölçekli bilgisayarların işletim sistemleri ve programlama ortamlarında nasıl hata ayıklama yapılmak durumunda ise gömülü sistemlerde de bu durum gerekmektedir. Bilgisayar ortamında çalışan programcılar hem geliştirilen kodu hem de çalışma esnasında geliştirilen kodun eylemlerini izleyebildikleri hata ayıklayıcı uygulamaları çalıştırma imkanına sahiptirler. Gömülü sistem programcılarının maalesef böyle bir imkanı bulunmamaktadır.

Bazı programlama dilleri, mikrodenetleyiciler üzerinde, ilkel etkileşimli hata ayıklamanın doğrudan çip üzerinde bulunması için yeterli verimlilikle çalışırlar. Ek olarak, işlemciler genellikle bir JTAG veya benzeri bir hata ayıklama portu aracılığıyla kontrol edilebilecek ve dolayısıyla program yürütmeyi kontrol eden CPU hata ayıklayıcılarına sahiptirler.

Birçok durumda, gömülü sistem programcıları hedef sisteme seri veya başka bir bağlantı noktası aracılığıyla ayrı bir hata ayıklama sistemi takılı araçlara ihtiyaç duymaktadırlar. Bu senaryoda, programcı, bir masaüstü bilgisayardaki yazılımın hata ayıklamasında olduğu gibi, geleneksel bir kişisel bilgisayarın ekranında kaynak kodunu görebilir. Sıklıkla kullanılan yaklaşım ise fiziksel çipi emule eden/taklit eden bir yazılımı bilgisayar üzerinde çalıştırmaktır. Böylece fiziksel çip için yazılan programdaki hataların ayıklanması mümkün olabilmektedir.

Genel olarak, gömülü sistemler sınama ve hata ayıklama işlemlerine daha fazla önem vermiştir, çünkü gömülü denetimler kullanan çok sayıda aygıt güvenlik ve güvenilirliğin en öncelikli olduğu durumlarda kullanılmak üzere tasarlanmıştır.

Bazı gömülü sistemler nispeten basit olabilse de, birçok gömülü sistem insan gibi karar vermek durumundadır ya da insanın sunabileceği imkanları aşan yetenekler sunmaktadır. Örneğin, bazı havacılık sistemlerinde sensör verilerini entegre ederek bu bilgiye göre insanların yapabileceğinden çok daha hızlı bir şekilde hareket edebilmektedir.

Gömülü sistemler; kolayca özelleştirilebilir, düşük güç tüketimine sahiptir, düşük maliyetlidir ve performansları yüksektir. Bu nedenle, sayısal elektronik, telekomünikasyon, bilgisayar ağı, akıllı kartlar, uydu sistemleri, askeri savunma sistemi ekipmanları, araştırma sistemi donanımı vb. gibi çok sayıda alanda kullanılmaktadır. Ancak bir gömülü sistemi geliştirmek oldukça yüksek çaba gerektirmektedir ve piyasaya sürülmesi uzun zaman almaktadır.

Kaynakça:
http://internetofthingsagenda.techtarget.com/definition/embedded-system
https://www.techopedia.com/definition/3636/embedded-system
https://www.elprocus.com/embedded-systems-real-time-applications/
https://www.tutorialspoint.com/embedded_systems/es_overview.htm

Yazar:Bekir Afşar

 

Editör : Suna Korkmaz

Bunları da beğenebilirsin

Cevap bırakın

E-posta hesabınız yayımlanmayacak.