'Gömülü' yüklü bir terimin bir parçasıdır ..
Bazı açılardan, tek bir uygulamayı çalıştırmaya adanmış herhangi bir sistem, kontrol edilecek bir donanım olduğu sürece gömülü bir sistem olarak adlandırılabilir. Yerel bir G / Ç modülleriyle bir işlemi kontrol ediyorsa, linux üzerine bir java uygulaması çalıştıran 2GB RAM ile bir 400MHz PPC604'ü kavrayabilirsiniz. Öte yandan, sadece bir tür minimal ağ uygulaması çalıştıran bir arduino gömülü bir sistem olmazdı. Fakat muhtemelen 'gömülü' çoğu insanın sadece birkaç yüz byte RAM'e sahip, flash işletim sistemi olmayan ve çip üstü çevre birimlerinden oluşan çok sayıda flaş tabanlı denetleyicileri düşünmesini sağlıyor.
Olduğu söyleniyor, muhtemelen gömülü olmayan programcılar genellikle gömülü sistemlerin öğrenilmesiyle karşı karşıya olan en büyük iki engel, G / Ç kayıtları ve kesmelerdir.
Kesintiler, gömülü olmayan programcıların başa çıkması için iki kavramdan daha kolay olabilir, çünkü bunlarla ilgili ana konular, eşzamanlılık ve olaya dayalı programlama, çoğunlukla ana uygulamalarda görülür. Bir kesintiye neden olan şey, bir sistemin kesme işleminin kalitesine olan aşırı hassasiyetini ve kesme koşulunu ortadan kaldırmak ve bir sonraki için ayarlanmak için donanımla uğraşmanın inceliklerini anlamaktır. Bir GUI ile bir kilitlenme sadece uygulamayı öldürür. Bir kesinti işleyicisi ile bir kilitlenme, tüm sisteminizin kilitlenmesine neden olur.
G / Ç cihazları en fazla zorluğa neden olan alan gibi görünmektedir. Uninitiated için, bunu register okuma keşfetmeye oldukça sürpriz olabilir burada o kayıt üzerinde bir etkisi vardır orada . Bitleri temizlemek için 1'leri yazmak. Bir veri kaydı, vb. Okuduğunuzda kendilerini temizleyen durum bitleri. G / Ç donanımında, cihaz veri sayfalarının nasıl bulunacağını ve yorumlanacağını öğrenmek dışında, bununla başa çıkmanın genel bir kuralının bulunmadığı pek çok olasılık vardır. Seri port için bir aygıt sürücüsü yazmak, düşük seviyeli G / Ç programlama hakkında size çok şey öğretecektir.
Bunları öğrenmek için kişinin kollarını sarmaktan ve çıplak metal üzerinde düz bir C ve / veya birleştirme dili programlamaktan başka bir seçenek yoktur. Yukarıda belirtilen java tabanlı gömülü sistem bile sonunda G / Ç için bir aygıt sürücüsüne ihtiyaç duyar ve bu sonuçta C ile başa çıkmak anlamına gelir. Deneyim en iyi öğretmendir. Bir mikroişlemci seçin, MSP430, TMS320, AVR, ARM, PIC, 68HC11, ne olursa olsun, bir değerlendirme seti bulun ve bazı sistemler oluşturun.