เรียนรู้ C และรับบอร์ดพัฒนาไมโครคอนโทรลเลอร์ราคาถูกเช่น MSP430 หรือ ARM Cortex และอย่างน้อยก็เขียนและโหลดโปรแกรม C บางโปรแกรม
ฉันมีปริญญาวิทยาศาสตร์คอมพิวเตอร์และพื้นหลังการพัฒนาซอฟต์แวร์ซึ่งส่วนใหญ่การเขียนโปรแกรม C ++ สำหรับเกมและตอนนี้เกมและแอพ iOS แต่งานสุดท้ายของฉันคือเซกเตอร์ EE กึ่งอาชีพที่เริ่มต้นด้วยการเขียนโปรแกรมเฟิร์มแวร์สำหรับระบบ ARM Cortex M3 และต่อมาฉันก็เรียนรู้วิธีการออกแบบวงจรพื้นฐานและเค้าโครงบอร์ดและออกแบบบอร์ดง่ายๆสองสามแผ่น ดังนั้นโดยทั่วไปฉันต้องเผชิญหน้ากับปัญหาในการใช้ภาษาการเขียนโปรแกรมที่ดีที่สุดในการเชื่อมโยงการออกแบบฮาร์ดแวร์ / ซอฟต์แวร์เป็นคนที่รับผิดชอบทั้งสองด้านของมัน
C เป็นภาษาที่คุณต้องรู้ เป็นเรื่องง่ายสำหรับคนที่เขียนโปรแกรมใน C ++ และไม่จำเป็นต้อง จำกัด ตัวเองกับคุณลักษณะของ C ที่ตั้งว่า "มันเป็นสิ่งเดียวกัน" แต่ไม่ใช่ โดยเฉพาะอย่างยิ่งวิธีการที่ C ++ ได้มีการพัฒนาและรวบรวมฟีเจอร์ต่าง ๆ และวิธีการที่นักเขียนโปรแกรม C ++ ใช้คุณลักษณะเหล่านั้นมันเป็นสิ่งที่แตกต่างกันมากในการทำงานกับแอพพลิเคชั่น C ขนาดใหญ่พอสมควร SDK เฟิร์มแวร์ของคุณจะเป็นไลบรารี C จำนวนมากสิ่งอื่น ๆ ที่เหมาะกับ MCU จะเป็นไลบรารี C ระบบปฏิบัติการใด ๆ ที่เหมาะสมกับ MCU จะถูกเขียนใน C เป็นต้น
ที่กล่าวว่าเนื่องจากเครื่องมือ MCU ส่วนใหญ่นั้นใช้ GCC เป็นคอมไพเลอร์ของพวกเขาคุณจะต้องมีคอมไพเลอร์ C ++ แน่นอนถ้าคุณใช้ตระกูล MCU ที่เหมาะสม แต่คุณต้องระวังอย่างมากเกี่ยวกับคุณสมบัติที่คุณใช้โดยเฉพาะอย่างยิ่งจากไลบรารีมาตรฐานเพราะมันง่ายที่จะจบลงด้วยเลขฐานสองที่ใหญ่เกินไปที่จะใส่ลงในอุปกรณ์ของคุณ ฉันคิดว่ามีกรณีที่ดีสำหรับการใช้ C ++ บนอุปกรณ์ฝังตัว C ++ มีคุณสมบัติที่ดีไม่กี่อย่างที่มีเศษซากพืชหรือไม่มีขนาดหรือการลงโทษด้วยความเร็วคุณเพียงแค่ต้องรู้ว่าคุณกำลังทำอะไรและเขียนโค้ดอย่างถูกวิธี เพิ่มเติมเกี่ยวกับปลาย C-style ของสเปกตรัมกว่า STL สิ้นสุดของสเปกตรัมในแง่ของการใช้คุณสมบัติที่ชาญฉลาด
อย่าให้ความสนใจมากเกินไปกับคนที่พูดว่าคุณสามารถใช้ Lua หรือ Python บน MCU ด้วย blah interpreter blah, blah นั่นเป็นความจริงฉันได้ทำแล้วและมันก็สนุก แต่ในขณะนี้มันมีมากกว่าสำหรับโครงการของเล่นและสิ่งต่าง ๆ ที่ปรากฏใน Hack a Day ฉันคิดว่าเราจะเห็นสิ่งต่าง ๆ มากขึ้นเนื่องจากกฎของมัวร์ใช้กับโปรเซสเซอร์ขนาดเล็กอย่างไม่หยุดยั้งนี่เป็นสิ่งที่เกิดขึ้นกับเกมที่เคยมีการชุมนุมจำนวนมากจากนั้นพวกเขาก็จัดการกับ C และ C ++ ได้นานขึ้น มากกว่าทุกคนและตอนนี้ทุกอย่างรวดเร็วและประสิทธิภาพของนักพัฒนาเป็นสิ่งสำคัญที่การพัฒนาจำนวนมากกระทำโดยใช้ภาษาระดับสูงที่ฝังอยู่หรือในภาษาระดับสูงทันที ถึงกระนั้นมันจะเป็นไม่กี่ปีก่อนที่คุณจะเห็น บริษัท ที่จ้างโปรแกรมเมอร์เฟิร์มแวร์ที่มีภูมิหลังของ Python และ Lua
อย่าใช้เวลาประกอบมากเกินไป มันไม่เลวเลยที่คุณจะคุ้นเคยกับแนวคิดนี้ แต่ไม่น่าเป็นไปได้ที่คุณจะพบว่าตัวเองทำอะไรได้มากหากมีการเขียนโปรแกรมประกอบ มีเหมือนภูมิปัญญาดั้งเดิมที่มีเกมและฝังตัวอยู่ซึ่งเป็นแอสเซมบลี "ดีน่ารู้" ซึ่งมักจะพูดซ้ำโดยผู้ที่ไม่ได้ทำงานจริงในสาขาเหล่านั้น แต่ในความเป็นจริงมันไม่น่าเป็นไปได้มากที่คุณจะเขียนชุดประกอบใด ๆ เลยทีเดียวและถ้าคุณทำมันอาจจะเป็นเพียงไม่กี่บรรทัดสำหรับการเพิ่มประสิทธิภาพหรือบางสิ่งบางอย่างกับฮาร์ดแวร์ที่คุณเพิ่งไม่มี API สำหรับ (แต่คุณจะ หลังจากที่คุณเขียนหนึ่งที่ล้อมสองสามบรรทัดของการประกอบ) ฉันทำงานหลายเกมและโครงการออกแบบบอร์ด / เฟิร์มแวร์และจำนวนชุดประกอบทั้งหมดที่ฉันเขียนสำหรับโครงการเชิงพาณิชย์น่าจะอยู่ในช่วงวัยรุ่น มัน'