'สมองกลฝังตัว' เป็นคำศัพท์ที่โหลดเล็กน้อย ..
ในบางกรณีระบบใด ๆ ที่อุทิศให้กับการเรียกใช้แอปพลิเคชันเดียวอาจเรียกว่าระบบฝังตัวตราบใดที่มีฮาร์ดแวร์บางอย่างที่ต้องควบคุม คุณสามารถเรียก PPC6060 ขนาด 400MHz ที่มี RAM 2GB เรียกใช้แอปพลิเคชัน java ที่ด้านบนของ linux และระบบฝังตัวหากเกิดการควบคุมกระบวนการผ่านโมดูล I / O ภายในเครื่อง ในทางตรงกันข้าม arduino ที่ใช้งานแอปพลิเคชั่นเครือข่ายขั้นต่ำบางประเภทจะไม่เป็นระบบฝังตัวมากนัก แต่อาจ 'ฝัง' ทำให้คนส่วนใหญ่คิดว่าตัวควบคุมแฟลชที่มี RAM เพียงไม่กี่ร้อยไบต์ไม่มีระบบปฏิบัติการที่จะพูดและอุปกรณ์ต่อพ่วงบนชิปมากมาย
ที่ถูกกล่าวว่าอาจเป็นอุปสรรคที่ใหญ่ที่สุดสองโปรแกรมเมอร์ที่ไม่ฝังตัวมักจะเผชิญกับการเรียนรู้ระบบฝังตัวคือการลงทะเบียน I / O และขัดจังหวะ
อินเทอร์รัปต์อาจง่ายกว่าสำหรับแนวคิดสองประการสำหรับโปรแกรมเมอร์ที่ไม่ได้ฝังตัวเนื่องจากปัญหาหลักของการเขียนโปรแกรมเหล่านี้การทำงานพร้อมกันและการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์ สิ่งที่ทำให้ความเจ็บปวดขัดจังหวะคือการตระหนักถึงความไวสูงสุดของระบบต่อคุณภาพของการจัดการขัดจังหวะและความซับซ้อนของการจัดการกับฮาร์ดแวร์เพื่อล้างเงื่อนไขการขัดจังหวะและตั้งค่าสำหรับระบบถัดไป ด้วย GUI การหยุดชะงักจะฆ่าเพียงแค่แอปพลิเคชัน ด้วยตัวจัดการขัดจังหวะการหยุดชะงักทำให้ระบบทั้งหมดของคุณล็อค
อุปกรณ์ I / O ดูเหมือนจะเป็นพื้นที่ที่ทำให้เกิดปัญหามากที่สุด สำหรับมือใหม่ก็สามารถจะค่อนข้างแปลกใจที่จะค้นพบว่าการอ่านการลงทะเบียนนี้ที่นี่มีผลต่อการลงทะเบียนที่มี เขียน 1 เพื่อล้างบิต บิตสถานะที่ล้างตัวเองเมื่อคุณอ่านการลงทะเบียนข้อมูล ฯลฯ มีความเป็นไปได้มากมายกับฮาร์ดแวร์ I / O ที่ไม่มีกฎทั่วไปในการจัดการกับมันยกเว้นเรียนรู้วิธีการค้นหาและตีความแผ่นข้อมูลอุปกรณ์ การเขียนไดรเวอร์อุปกรณ์สำหรับพอร์ตอนุกรมจะสอนคุณเกี่ยวกับการเขียนโปรแกรม I / O ระดับต่ำมาก
ไม่มีอะไรมาแทนที่การเรียนรู้สิ่งเหล่านี้นอกจากจะม้วนแขนเสื้อแล้วเขียนโปรแกรมภาษาซีและ / หรือภาษาประกอบบนโลหะเปลือย แม้แต่ระบบฝังตัวที่ใช้ java ดังกล่าวก็ต้องการไดร์เวอร์อุปกรณ์สำหรับ I / O และท้ายที่สุดก็หมายความว่าการจัดการกับ C. ประสบการณ์บางอย่างเป็นครูที่ดีที่สุด เลือกไมโครคอนโทรลเลอร์ไม่ว่าจะเป็น MSP430, TMS320, AVR, ARM, PIC, 68HC11 อะไรก็ตามค้นหาชุด eval และสร้างระบบบางระบบ