8 ve 16 bit mikrodenetleyici tabanlı gömülü sistemlerle, bu çok mütevazı depolama sınırlamalarının sınırlı kaynaklarına sığabilecek yazılım geliştirmek daha kolaydır (belki de düşük uçlu 8 bit mikrodenetleyiciler için birkaç 100 bayt RAM (2-8 KiB ROM veya EPROM / Flash ile kod saklama için).
Bu durumlarda, C veya derleme gibi küçük diller en yaygın kullanılan geliştirme dilleri olma eğilimindedir. Çok kaba bir göreceli karşılaştırma olarak, eksiksiz bir montajcı ve C99 derleyicisi tek bir diskete sığabilirken, modern bir C ++ geliştirme sistemi (STL vb.) İçin birkaç MiB'ye ihtiyacınız vardır .
Daha yüksek uç (oldukça nadir 64-bit ile üst seviye 16 bit ve çoğunlukla 32 bit) mikro düzeyde ve bakarken DSP gömülü ortamlarda daha sonra kısıtlamalar zayıflatmak ve yazılım geliştirme geliştirme toplu oluşturuyor olabilir bu nedenle, C ++ gibi Nesne Tabanlı Programlama (OOP) dilleri ve daha yeni diller (Java, Perl, Ruby, Python) gibi daha gelişmiş diller de dahil olmak üzere en verimli geliştirme araçlarını kullanmak mantıklıdır.
Montaj ve C'de ne kadar bellek kullanıldığını tahmin etmek mümkündür, böylece alan kısıtlı bir tasarım mümkündür, ancak şablonlar, istisna işleme ve çalışma zamanı bağlama gibi gelişmiş özellikler, gerekli bellek ayak izini tam olarak bilmeyi imkansız hale getirir. önceden standart bir C ++ programı için. Üzerinde yorum yapmak için C ++ alt kümesi olan MISRA C ++ hakkında yeterli bilmiyorum .
Bayt kodunu çalıştıran sanal makinelere (Java, Perl, Python) dayanan diller, gömülü geliştiricinin deneyiminde daha az olgunlaşır ve bu diller programcıyı belirli bir donanımdan yalıtmak için tasarlandığından, vicdanlı olmayı da zorlaştırır bu tür gömülü donanım sisteminin sınırlamaları ve kısıtlamaları. Bunlar, GiB RAM olmasa bile MiB ile hızlı 32 bit işlemcilerde (örn. ARMv7) daha az sorun yaratır.
Fark ettiğim tüm BASIC uygulamaları, dil özelliklerinde oldukça basit, 1960'lardan itibaren Dartmouth BASIC'in mirasına büyük ölçüde sadık kalıyor. Bu, dilin karmaşık çalışma zamanı kitaplıklarına veya özel durum işleme özelliğine sahip olmadığı ve bir yorumlayıcı veya derleyicinin yazılmasının oldukça basit olduğu ve dosya boyutunda da küçük olduğu anlamına gelir. Çoğu mikrodenetleyicide en az bir BASIC derleyicisi vardır.
Umarım geniş vuruşlarda C ve montajın daha küçük veya daha eski gömülü sistemlerde kullanılmasının nedenlerini ve yeni orta ve üst seviye gömülü sistemlerin sınırlamalarını geleneksel masaüstü kişisel bilgisayarından biraz farklı bulmanızı sağlar.