C'yi öğrenin ve MSP430 veya ARM Cortex gibi ucuz bir mikroişlemci geliştirme kurulu edinin ve en azından birkaç C programı yazıp yükleyin.
Bilgisayar bilimi derecem ve yazılım geliştirme geçmişim var, çoğunlukla oyunlar için C ++ programlama ve şimdi iOS oyunları ve uygulamaları, ancak son işim bir ARM Cortex M3 sistemi için bir grup firmware programlama yapmakla başlayan yarı profesyonel bir EE konseriydi. ve daha sonra bazı temel devre tasarımlarının ve kart düzenlerinin nasıl yapıldığını ve birkaç basit kart tasarlamanın nasıl yapıldığını öğrendim. Bu yüzden temel olarak donanım / yazılım tasarımını her iki uçtan sorumlu bir kişi olarak köprülemek için en iyi programlama dilini kullanma sorunuyla karşı karşıya gelmem gerekiyordu.
C kesinlikle bilmeniz gereken dildir. C ++ 'da program yapan ve hiçbir zaman kendilerini "aynı şey" demek için kendilerini C'nin özelliğiyle sınırlamak zorunda kalmayan insanlar için kolaydır. Özellikle C ++ 'ın özellikleri geliştirip topladığı ve ana C ++ programcılarının bu özellikleri kullanma şekli, C ++ uygulamasının aksine oldukça büyük bir C uygulaması üzerinde çalışmak gerçekten çok farklı bir şey. Firmware SDK'nız bir sürü C kütüphanesi olacak, bir MCU'ya sığacak herhangi bir şey bir C kütüphanesi olacak, bir MCU'da anlamlı olan herhangi bir işletim sistemi C'ye yazılacak vs.
Bununla birlikte, MCU araçlarının birçoğu GCC'yi derleyici olarak kullanmaya başladığı için, iyi bir MCU ailesi kullanıyorsanız, neredeyse kesinlikle bir C ++ derleyiciniz olacak. Ancak, kullandığınız özellikler, özellikle de standart kütüphanedeki şeyler hakkında çok dikkatli olmalısınız, çünkü cihazınıza sığmayacak kadar büyük bir ikili sistem kullanmak son derece kolaydır. Gömülü cihazlarda C ++ kullanmak için yapılması gereken iyi bir durum olduğunu düşünüyorum, C ++ 'nın çöp veya boyut veya hız cezası olmayan çok az sayıda güzel özelliği var, sadece ne yaptığınızı bilmek zorundasınız ve bu şekilde kod yazmalısınız. Ayrıca, zekalı özellik kullanımı açısından, spektrumun C tarzı ucunda, spektrumun STL ucundan daha fazladır.
Bir MCU’da Lua veya Python’u sağ gömülü tercüman filanı ile kullanabileceğinizi söyleyenlere fazla dikkat etmeyin. Bu doğru, yaptım ve eğlenceli, ama şu anda Hack bir Günde ortaya çıkan oyuncak projeleri ve işleri için daha fazla. Moore Yasası en küçük işlemcilere bile acımasızca uygulandığı için bu türden daha fazla şey göreceğimizi düşünüyorum, bu daha önce çok sayıda montajın yapıldığı oyunlarda olan bir şey, daha sonra C ve C ++ ile daha uzun süre devam ettiler. herkesten daha fazla, ve şimdi her şey çok hızlı ve geliştirici verimliliği o kadar önemlidir ki, gömülü yüksek seviyeli dillerle veya yüksek seviyede bir dille çok fazla geliştirme yapılır. Buna rağmen, Python ve Lua geçmişine sahip firma yazılımı programlayıcıları işe alan şirketleri görmeden birkaç yıl alacak.
Montaj için de fazla zaman harcamayın. Kavramlara aşina olmak fena değil, ancak herhangi bir montaj programlaması varsa, kendinizi daha fazla bulmanız pek mümkün değildir. Oyunlarla ve bu alanlarda gerçekten çalışmayan insanlar tarafından sık sık tekrarlanan "bilmek iyi" bir derleme olduğu gömülü geleneksel bilgelik gibi. Fakat gerçekte, herhangi bir montajı hiç yazmazsınız ve bunu yaparsanız, muhtemelen optimizasyon için birkaç satır olacak veya donanıma sahip bir donanıma sahip olamayacaksınız. birkaç montaj hattını saran bir yazdıktan sonra). Birkaç oyun üzerinde çalıştım ve o tahta / ürün yazılımı tasarım projesi ve ticari projeler için yazdığım toplam montaj hattı sayısı muhtemelen düşük seviyelerde. O'