ด้วยระบบฝังตัวที่ใช้ไมโครคอนโทรลเลอร์ขนาด 8 และ 16 บิตจึงทำให้การพัฒนาซอฟต์แวร์ง่ายขึ้นซึ่งสามารถพอดีกับทรัพยากรที่มี จำกัด ของข้อ จำกัด ในการเก็บข้อมูลขนาดเล็กเหล่านี้ (อาจจะน้อย 100 ไบต์ RAMสำหรับไมโครคอนโทรลเลอร์ 8 บิตต่ำ ด้วย ROM ขนาด 2-8 KiB หรือ EPROM / Flash สำหรับการจัดเก็บรหัส)
ในกรณีดังกล่าวภาษาขนาดเล็กเช่น C หรือแอสเซมบลีมักจะเป็นภาษาที่ใช้กันมากที่สุด เป็นการเปรียบเทียบแบบคร่าวๆอย่างมากแอสเซมเบลอร์ที่สมบูรณ์และ C99 คอมไพเลอร์สามารถใส่ลงในฟล็อปปี้ดิสก์เดียวในขณะที่คุณต้องการMiBหลายตัวสำหรับระบบการพัฒนา C ++ สมัยใหม่ (พร้อม STL และอื่น ๆ )
เมื่อคุณมองหาไมโครไซต์ระดับสูง (ระดับไฮเอนด์ 16 บิตและส่วนใหญ่ 32 บิตมี 64 บิตที่ค่อนข้างหายาก) และDSPในสภาพแวดล้อมแบบฝังตัวข้อ จำกัด ที่อ่อนแอลงและการพัฒนาซอฟต์แวร์อาจทำให้เกิดการพัฒนาเป็นจำนวนมาก ดังนั้นจึงเหมาะสมที่จะใช้เครื่องมือการพัฒนาที่มีประสิทธิผลมากที่สุดรวมถึงภาษาขั้นสูงเพิ่มเติมด้วยคุณสมบัติเช่นภาษา Object-Oriented Programming (OOP) เช่น C ++ และภาษาที่ใหม่กว่า (Java, Perl, Ruby, Python)
มีความเป็นไปได้ในการประกอบและ C เพื่อคาดการณ์จำนวนหน่วยความจำที่ถูกใช้เพื่อให้การออกแบบพื้นที่ จำกัด เป็นไปได้ แต่คุณสมบัติขั้นสูงเช่นแม่แบบการจัดการข้อยกเว้นและการรวมเวลาทำงานทำให้เป็นไปไม่ได้ที่จะรู้ว่า สำหรับโปรแกรม C ++ มาตรฐานล่วงหน้า ฉันไม่รู้มากพอเกี่ยวกับMISRA C ++ซึ่งเป็นชุดย่อยของ C ++ ที่ให้ความเห็น
ภาษาที่ใช้เครื่องเสมือนที่ใช้รหัสไบต์ (Java, Perl, Python) มีความเป็นผู้ใหญ่น้อยกว่าในประสบการณ์ของนักพัฒนาที่ฝังตัวและเนื่องจากภาษาเหล่านี้ได้รับการออกแบบมาเพื่อป้องกันโปรแกรมเมอร์จากฮาร์ดแวร์เฉพาะมันยังทำให้ยากขึ้นด้วย ข้อ จำกัด และข้อ จำกัด ของระบบฮาร์ดแวร์ฝังตัวดังกล่าว นี่เป็นปัญหาที่เกิดขึ้นกับโปรเซสเซอร์ 32 บิตที่รวดเร็ว (เช่น ARMv7) กับ MiB หากไม่ใช่ GiB ของ RAM
การใช้งานขั้นพื้นฐานทั้งหมดที่ฉันรับรู้นั้นค่อนข้างง่ายในลักษณะของภาษาซึ่งส่วนใหญ่ยังคงเป็นความจริงสำหรับมรดกของดาร์ทเมาท์เบสิคในช่วงทศวรรษที่ 1960 ซึ่งหมายความว่าภาษานั้นไม่มีไลบรารี่รันไทม์ที่ซับซ้อนหรือการจัดการข้อยกเว้นและล่ามหรือคอมไพเลอร์ค่อนข้างง่ายต่อการเขียนและมีขนาดเล็กเช่นกัน ไมโครคอนโทรลเลอร์ส่วนใหญ่มีคอมไพเลอร์ BASIC อย่างน้อยหนึ่งตัวสำหรับมัน
ฉันหวังว่าการสรุปอย่างคร่าว ๆ ถึงเหตุผลที่คุณจะพบว่า C และแอสเซมบลีส่วนใหญ่ใช้กับระบบฝังตัวที่เล็กลงหรือเก่ากว่าและด้วยข้อ จำกัด ของระบบฝังตัวที่ใหม่กว่าถึงกลาง