Gömülü C Programı Nedir ve Yeni Başlayanlar İçin Yapısı

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





Daha önce, montaj düzeyinde programlama kullanılarak birçok gömülü uygulama geliştirildi. Ancak taşınabilirlik sağlamadılar. Bu dezavantaj, C, Pascal ve COBOL gibi çeşitli üst düzey dillerin ortaya çıkmasıyla aşıldı. Bununla birlikte, gömülü sistemler için kapsamlı kabul gören C diliydi ve bunu yapmaya da devam ediyor. Yazılan C kodu daha güvenilir, ölçeklenebilir ve taşınabilirdir ve aslında anlaşılması çok daha kolaydır. Gömülü C Programlama, her birinin içinde işleyen işlemcinin ruhudur. yerleşik sistem cep telefonu, çamaşır makinesi, dijital fotoğraf makinesi gibi günlük hayatımızda karşımıza çıkmaktadır. Her işlemci gömülü yazılımla ilişkilendirilmiştir. İlk ve en önemli şey, gömülü sistemin çalışmasına karar veren gömülü yazılımdır. Gömülü C dili en sık kullanılan mikro denetleyiciyi programla .

C Dili nedir?

C dili, 1969'da Dennis Ritchie tarafından geliştirilmiştir. Bir veya daha fazla işlevden oluşan bir koleksiyondur ve her işlev, belirli bir görevi yerine getiren ifadelerin bir koleksiyonudur.
C dili, üst düzey uygulamaları ve düşük düzeyli uygulamaları desteklediği için orta düzey bir dildir. Gömülü C programlamanın ayrıntılarına girmeden önce, RAM bellek organizasyonu hakkında bilgi sahibi olmalıyız.




C dilinin temel özellikleri aşağıdakileri içerir.

  • C dili, farklı anahtar kelimeler, veri türleri, değişkenler, sabitler vb. İle tasarlanmış bir yazılımdır.
  • Gömülü C, belirli bir donanım mimarisiyle ilişkilendirilen, C ile yazılmış bir programlama diline verilen genel bir terimdir.
  • Gömülü C, bazı ek başlık dosyalarıyla birlikte C dilinin bir uzantısıdır. Bu başlık dosyaları denetleyiciden denetleyiciye değişebilir.
  • mikrodenetleyici 8051 #include kullanılır.

Gömülü C Programlama nedir

Her gömülü sistem tabanlı projede, Gömülü C programlama, mikro denetleyicinin tercih edilen eylemleri çalıştırması ve gerçekleştirmesi için önemli bir rol oynar. Şu anda, normalde cep telefonları, çamaşır makineleri, güvenlik sistemleri, buzdolapları, dijital kameralar, vb. Gibi birkaç elektronik cihaz kullanıyoruz. Bu gömülü cihazların kontrolü, gömülü bir C programı yardımıyla yapılabilir. Örneğin, bir dijital kamerada, bir fotoğraf çekmek için bir kamera düğmesine basarsak, mikro denetleyici, görüntüyü tıklamak ve saklamak için gerekli işlevi yerine getirecektir.



Gömülü C Programlama

Gömülü C Programlama

Gömülü C programlama, her işlevin bazı belirli görevleri yürütmek için kullanılan bir dizi deyim olduğu bir dizi işlevden oluşur. Hem gömülü C hem de C dilleri aynıdır ve değişken, karakter kümesi, anahtar sözcükler, veri türleri, değişkenlerin bildirimi, ifadeler, ifadeler gibi bazı temel unsurlar aracılığıyla uygulanır. Tüm bu öğeler, gömülü bir C programı yazarken önemli bir rol oynar.

Gömülü sistem tasarımcıları, program yazmak için donanım mimarisi hakkında bilgi sahibi olmalıdır. Bu programlar, harici cihazların izlenmesinde ve kontrol edilmesinde önemli bir rol oynar. Ayrıca, kesme işleme, zamanlayıcılar, seri iletişim ve diğer mevcut özellikler gibi mikro denetleyicinin dahili mimarisini doğrudan çalıştırır ve kullanırlar.


Gömülü Sistem Programlama

Daha önce tartıştığımız gibi, gömülü bir sistemin tasarımı Donanım ve Yazılım kullanılarak yapılabilir. Örneğin basit bir gömülü sistemde işlemci, sistemin kalbi gibi çalışan ana modüldür. Burada işlemci bir mikroişlemci, DSP, mikro denetleyici, CPLD ve FPGA'dan başka bir şey değildir. Tüm bu işlemciler, cihazın çalışmasını tanımlayacak şekilde programlanabilir.

Gömülü bir sistem programı, donanımın girişleri ve kontrol çıkışlarını uygun şekilde kontrol etmesini sağlar. Bu prosedürde, gömülü programın işlemcinin dahili mimarisini doğrudan Zamanlayıcılar, Kesinti İşleme, G / Ç Bağlantı Noktaları, seri iletişim arayüzü vb. Gibi kontrol etmesi gerekebilir.

Yani gömülü sistem programlama işlemci için çok önemlidir. C, C ++, assembly dili, JAVA, JAVA script, visual basic, vb. Gibi gömülü sistemler için farklı programlama dilleri mevcuttur. Bu nedenle, bu programlama dili gömülü bir sistem oluştururken önemli bir rol oynar, ancak dili seçmek çok önemlidir.

Gömülü C Programı Oluşturma Adımları

Gömülü bir c programı tasarlamada aşağıdaki gibi farklı adımlar vardır.

  • Yorumlar
  • İşlemci Direktifleri
  • Bağlantı Noktası Yapılandırması
  • Global değişkenler
  • Çekirdek İşlev / Ana İşlev
  • Değişken Beyanı
  • Programın mantığı

Yorumlar

Programlama dillerinde, programın işlevini açıklamak için yorumlar çok önemlidir. Yorumların kodu yürütülemez ancak program dokümantasyonu sağlamak için kullanılır. Programın işlevini anlamak için bu, programın işlevini anlamak için basit bir yöntem sağlayacaktır. Gömülü C'de yorumlar, tek satır ve ana hat yorum olmak üzere iki türde mevcuttur.

Gömülü bir C programlama dilinde, okuyucunun kodu kolayca anlamasına yardımcı olan kodumuza yorumlar yerleştirebiliriz.

C = a + b / *, değeri başka bir C değişkeninde depolanan iki değişken ekleyin * /

Tek Satır Yorum

Genel olarak, programlama dilleri için, tek satırlı yorumlar programın bir kısmını açıklığa kavuşturmak için çok kullanışlıdır. Bu yorumlar çift eğik çizgiyle (//) başlar ve programlama dili içinde herhangi bir yerde bulunabilir. Bunu kullanarak, bir program içinde tüm satır yok sayılabilir.

Çok Satırlı Yorum

Çok satırlı yorumlar, bir kod bloğunu açıklayan programlama dillerinde tek bir eğik çizgi (/) ve bir yıldız işareti (/ *) ile başlar. Bu tür yorumlar, programlama dili içinde herhangi bir yerde düzenlenebilir ve esas olarak bir program içindeki tüm bir kod bloğunu yok saymak için kullanılabilir.

İşlemci Direktifleri

Program kodunun içerdiği satırlara önişlemci yönergeleri adı verilir ve bu satırlar bir kare simgesi (#) ile takip edilebilir. Bu satırlar önişlemci direktifleridir ancak programlanmış ifadeler değildir.
Kod, gerçek kod derlemesi başlamadan önce bir önişlemci aracılığıyla incelenebilir ve normal ifadelerle bir kod oluşturmadan önce bu yönergeleri çözebilir. Birkaç özel önişlemci yönergesi vardır, ancak iki yönerge programlama dilinde son derece yararlıdır

aşağıdaki gibi.

#Dahil etmek
#Dahil etmek
Sbit LED = P2 ^ 3
Ana()
{
LED = 0x0ff
Gecikme ()
LED = 0x00
}
#tanımlamak
#Dahil etmek
#define LED P0
Ana()
{
LED = 0x0ff
Gecikme ()
LED = 0x00
}

Yukarıdaki programda, #include direktifi genellikle study ve gibi standart kütüphaneleri kapsamak için kullanılır. h, 'C' kitaplığını kullanarak G / Ç işlevlerine izin vermek için kullanılır. #Define yönergesi genellikle değişken serisini tanımlamak için kullanılır ve makrolar gibi belirli bir talimat içinde süreci çalıştırarak değerleri tahsis eder.

Bağlantı Noktası Yapılandırması

Mikrodenetleyici, her bağlantı noktasının farklı pinlere sahip olduğu birkaç bağlantı noktası içerir. Bu pinler arayüz cihazlarını kontrol etmek için kullanılabilir. Bu pinlerin beyanı bir program içerisinde anahtar kelimeler yardımı ile yapılabilir. Gömülü c programındaki anahtar sözcükler standarttır ve bir program içindeki bitleri ve tek pini belirtmek için kullanılan bit, sbit, SFR gibi önceden tanımlanmıştır.

Belirli görevleri yapmak için ayrılmış belirli kelimeler vardır. Bu kelimeler anahtar kelimeler olarak bilinir. Bunlar standarttır ve Gömülü C'de önceden tanımlanmıştır. Anahtar sözcükler her zaman küçük harfle yazılır. Bu anahtar sözcükler ana programı yazmadan önce tanımlanmalıdır. Anahtar kelimelerin temel işlevleri aşağıdakileri içerir.

#Dahil etmek
Sbit a = P 2 ^ 2
SFR 0x00 = PoRT0
Bit C
ana()
{
…………… ..
…………… ..
}

sbit

Bu, bir SFR yazmacındaki tek bir bite erişmek için kullanılan bir tür veri türüdür.

Bu veri türü için sözdizimi şöyledir: sbit değişken adı = SFR bit

Örnek: sbit a = P2 ^ 1

P2.1'i 'a' değişkeni olarak atarsak, programın herhangi bir yerinde p2.1 yerine 'a' kullanabiliriz, bu da programın karmaşıklığını azaltır.

Bit

Bu tip veri tipi, esas olarak 20h ila 2fh gibi rastgele erişim belleğinin bit adreslenebilir belleğine izin vermek için kullanılır.

Bu veri türünün sözdizimi: bit değişkeninin adı

Örnek: bit c

Bir şeyi ezberlemek için esas olarak bir programın yardımıyla kullanılan, küçük bir veri bölgesi içindeki bir bit dizisi ayarıdır.

SFR

Bu tür bir veri türü, SFR yazmacının çevresel bağlantı noktalarını ek bir adla elde etmek için kullanılır. Böylece tüm SFR kayıtlarının beyanı büyük harflerle yapılabilir.

Bu veri türünün sözdizimi şöyledir: SFR değişken adı = SFR kaydı için SFR adresi

Örnek: SFR bağlantı noktası 0 = 0 × 80

0 × 80'i 'port0' gibi ayırırsak, bundan sonra programın zorluğunu azaltmak için programlama dilinin neresinde olursa olsun port0 yerine 0 × 80 kullanabiliriz.

SFR Kaydı

SFR, Özel İşlev Kaydı anlamına gelir. 8051 mikro denetleyicide, iki ana öğeye bölünmüş olan 256 baytlık RAM belleği içerir: 128 baytlık ilk öğe esas olarak verileri depolamak için kullanılırken, 128 baytlık diğer öğe esas olarak SFR kayıtları için kullanılır. Zamanlayıcılar, sayaçlar ve G / Ç bağlantı noktaları gibi tüm çevresel cihazlar SFR kaydında saklanır ve her öğe tek bir adres içerir.

Global Değişkenler

Değişken, anahtar işlevi küresel değişken olarak bilinmeden önce bildirildiğinde. Bu değişkene program içindeki herhangi bir işlevde izin verilebilir. Global değişkenin yaşam süresi esas olarak bir sona ulaşana kadar programlamaya bağlıdır.

#Dahil etmek
İmzasız int a, c = 10
Ana()
{
……………
………… ..
}

Çekirdek İşlev / Ana İşlev

Ana işlev, herhangi bir programı çalıştırırken merkezi bir kısımdır ve basitçe ana işlevle başlar. Her program yalnızca bir ana işlevi kullanır, çünkü program yukarıda bir ana işlevi içeriyorsa, daha sonra derleyicinin programı çalıştırmaya başlarken kafası karışacaktır.

#Dahil etmek
Ana()
{
……………
………… ..
}

Değişken Beyanı

Değişken gibi isim değerleri saklamak için kullanılır ancak bu değişken programda kullanılmadan önce bildirilmelidir. Değişken bildirimi adını ve bir veri türünü belirtir. Burada veri türü, depolama verilerinin temsilinden başka bir şey değildir. Gömülü C programlamada, hafızadaki verileri depolamak için tamsayı, kayan nokta, karakter gibi dört temel veri türü kullanır. Veri tipi boyutu ve aralığı, derleyiciye bağlı olarak tanımlanabilir.

Veri türü, tamsayı, karakter, kayan nokta vb. Gibi farklı türlerdeki değişkenleri bildirmek için kapsamlı bir sistemi ifade eder. Gömülü C yazılımı, verileri bellekte saklamak için kullanılan dört veri türünü kullanır.

'Char', herhangi bir tek karakteri depolamak için kullanılır 'int', tamsayı değerini saklamak için kullanılır ve 'float', herhangi bir hassas kayan nokta değerini saklamak için kullanılır. 32 bitlik bir makinedeki farklı veri türlerinin boyutu ve aralığı aşağıdaki tabloda verilmiştir. Boyut ve aralık, farklı kelime boyutlarına sahip makinelere göre değişebilir.

  • Karakter / imzalı karakter veri türü boyutu 1 bayttır ve aralığı -128 ile +128 arasındadır.
  • İşaretsiz karakter veri türü boyutu 1 bayttır ve aralığı 0 ile 255 arasındadır.
  • Dahili / işaretli int veri türü boyutu 2 bayttır ve aralığı -32768 ile 32767 arasındadır
  • İmzasız int veri türü boyutu 2 bayt ve aralığı 0 ile 65535 arasındadır.

Ana()
{
İmzasız int a, b, c
}

Gömülü C Programının Yapısı aşağıda gösterilmiştir.

  • yorumlar
  • Önişlemci yönergeleri
  • genel değişkenler
  • ana işlev

{

  • yerel değişkenler
  • ifadeler
  • ………… ..
  • ………… ..

}

  • eğlence (1)

{

  • yerel değişkenler
  • ifadeler
  • ………… ..
  • ………… ..

}

Programın mantığı

Programın mantığı, programın eylemlerinin arkasındaki ve öngörülebilir çıktılarının teorisinde ortaya çıkan şerit planıdır. Gömülü programın neden çalışacağına ilişkin aksi takdirde teorinin ifadesini açıklar ve kaynaklar aksi takdirde eylemlerin bilinen etkilerini gösterir.

Ana
{
LED = 0x0f
gecikme (100)
LED = 0x00
gecikme (100)
}

Gömülü C Programının Ana Faktörleri

Gömülü bir sistem geliştirmek için programlama dilini seçerken dikkat edilmesi gereken ana faktörler aşağıdakileri içerir.

Program Boyutu

Her programlama dili, mikro denetleyici gibi gömülü işlemcinin son derece az miktarda rasgele erişim belleği içerdiği bir miktar belleği kaplar.

Programın Hızı

Programlama dili çok hızlı olmalı, bu nedenle olabildiğince hızlı çalışmalıdır. Yazılımın yavaş çalışması nedeniyle gömülü donanımın hızı azaltılmamalıdır.

Taşınabilirlik

Farklı gömülü işlemciler için benzer programların derlenmesi yapılabilir.

  • Basit Uygulama
  • Basit Bakım
  • Okunabilirlik

C Programı ve Gömülü C Programı arasındaki farklar

Gömülü C ve C programlama arasındaki fark, aslında işletim ortamından ve bazı uzantılardan çok farklı değildir. Bu programlama dilleri ISO Standartlarıdır ve aynı zamanda yaklaşık olarak benzer sözdizimine, işlevlere, veri türlerine vb. Sahiptir. C programlama ile gömülü c programlama arasındaki temel farklar aşağıdakileri içerir.

C dili

Gömülü C Dili

Genellikle bu dil, masaüstü tabanlı uygulamaları geliştirmek için kullanılır.

Gömülü C dili, mikro denetleyici tabanlı uygulamalar geliştirmek için kullanılır.
C dili herhangi bir programlama dilinin bir uzantısı değil, genel amaçlı bir programlama dilidirGömülü C, adresleme G / Ç, sabit nokta aritmetiği, çoklu bellek adresleme vb. Gibi farklı özellikleri içeren C programlama dilinin bir uzantısıdır.

Doğadaki yerel gelişimi işlerDoğadaki çapraz gelişimi işler
Donanım mimarisi için bağımsızdırMikrodenetleyicinin ve diğer cihazların donanım mimarisine bağlıdır
C dilinin derleyicileri işletim sistemine bağlıdırGömülü C derleyicileri işletim sisteminden bağımsızdır
C dilinde, standart derleyiciler bir programı yürütmek için kullanılırGömülü C dilinde, belirli derleyiciler kullanılır.
Bu dilde kullanılan popüler derleyiciler GCC, Borland turbo C, Intel C ++ vb.Bu dilde kullanılan popüler derleyiciler Keil, BiPOM Electronics ve green hill'dir.
C dilinin formatı serbest formattırFormatı esas olarak kullanılan mikroişlemcinin türüne bağlıdır.
Bu dilin optimizasyonu normaldirBu dilin optimizasyonu üst düzeydir
Değiştirmek ve okumak çok kolaydırDeğiştirmek ve okumak kolay değil
Hata düzeltme kolaydırBu dilin hata düzeltmesi karmaşıktır

Gömülü C Program Örnekleri

Aşağıdakiler, aşağıdakiler için kullanılan birkaç basit Gömülü C programıdır. mikrodenetleyici tabanlı projeler .

Örnek 1

Örnek 1

Örnek-2

Örnek-2

Örnek-3

Örnek-3

Örnek-4

Örnek-4

Avantajları

gömülü c programın avantajları g aşağıdakileri içerir.

  • Anlaması çok basit.
  • Sürekli olarak benzer bir görevi yürütür, bu nedenle ek bellek, aksi takdirde depolama alanı gibi donanım değiştirmeye gerek yoktur.
  • Aynı anda sadece tek bir görevi yerine getirir
  • Gömülü c'de kullanılan donanımın maliyeti genellikle çok düşüktür.
  • Gömülü uygulamalar endüstrilerde son derece uygundur.
  • Bir uygulama programı geliştirmek daha az zaman alır.
  • Programın karmaşıklığını azaltır.
  • Doğrulamak ve anlamak kolaydır.
  • Bir denetleyiciden diğerine taşınabilir.

Dezavantajları

gömülü c programlamanın dezavantajları aşağıdakileri dahil edin.

  • Bir seferde yalnızca bir görevi yürütür, ancak çoklu görevleri yürütemez
  • Programı değiştirirsek, donanımı da değiştirmemiz gerekir.
  • Yalnızca donanım sistemini destekler.
  • Ölçeklenebilirlik sorunu var
  • Sınırlı bellek, aksi takdirde bilgisayarın uyumluluğu gibi bir kısıtlamaya sahiptir.

Gömülü C Programının Uygulamaları

gömülü c programlama uygulamaları aşağıdakileri dahil edin.

  • Gömülü C programlama, endüstrilerde farklı amaçlar için kullanılır
  • Uygulamalarda kullanılan programlama dili karayolu üzerinde hız kontrolü, trafik ışıklarının kontrolü, sokak ışıklarının kontrolü, araç takibi, yapay zeka, ev otomasyonu ve oto yoğunluk kontrolüdür.

Yeni başlayanlar için kolay ve ulaşılabilir bir yol sağlamada başarılı olduğumuzu umuyoruz. Gömülü C programlama . Gömülü C programlamayı anlamak, gömülü tabanlı projeleri tasarlamak için en temel ön koşuldur. Buna ek olarak, gömülü C programlama hakkında daha iyi bir anlayış ve doğru bilgi, öğrencilere ödüllendirici bir kariyer seçiminde büyük ölçüde yardımcı olur.

Okuyucularımızdan gelen soruları, önerileri ve yorumları teşvik ediyor ve memnuniyetle karşılıyoruz. Bu nedenle, bu yazı ile ilgili sorularınızı ve geri bildirimlerinizi aşağıda verilen yorumlar bölümünde yazabilirsiniz. Aşağıdaki bağlantıyı takip edin Lehimsiz projeler