ระบบฝังตัว - เครื่องมือและอุปกรณ์ต่อพ่วง
คอมไพเลอร์และแอสเซมเบลอร์
คอมไพเลอร์
คอมไพเลอร์คือโปรแกรมคอมพิวเตอร์ (หรือชุดโปรแกรม) ที่แปลงซอร์สโค้ดที่เขียนด้วยภาษาโปรแกรม (ภาษาต้นทาง) เป็นภาษาคอมพิวเตอร์อื่น (โดยปกติรูปแบบไบนารี) สาเหตุส่วนใหญ่ของการแปลงคือการสร้างโปรแกรมปฏิบัติการ ชื่อ "คอมไพเลอร์" ส่วนใหญ่ใช้สำหรับโปรแกรมที่แปลซอร์สโค้ดจากภาษาโปรแกรมระดับสูงไปเป็นภาษาระดับต่ำ (เช่นภาษาแอสเซมบลีหรือรหัสเครื่อง)
ข้ามคอมไพเลอร์
หากโปรแกรมที่คอมไพเลอร์สามารถทำงานบนคอมพิวเตอร์ที่มี CPU หรือระบบปฏิบัติการที่แตกต่างจากคอมพิวเตอร์ที่คอมไพลเลอร์คอมไพเลอร์โปรแกรมคอมไพเลอร์นั้นจะเรียกว่า cross-compiler
ตัวถอดรหัส
โปรแกรมที่สามารถแปลโปรแกรมจากภาษาระดับต่ำเป็นภาษาระดับสูงเรียกว่าตัวถอดรหัส
แปลงภาษา
โปรแกรมที่แปลโปรแกรมที่เขียนด้วยภาษาระดับสูงต่างๆโดยปกติเรียกว่าตัวแปลภาษาตัวแปลต้นทางไปยังตัวแปลต้นทางหรือตัวแปลงภาษา
คอมไพเลอร์มีแนวโน้มที่จะดำเนินการดังต่อไปนี้ -
- Preprocessing
- Parsing
- การวิเคราะห์เชิงความหมาย (การแปลที่มุ่งเน้นไวยากรณ์)
- การสร้างรหัส
- การเพิ่มประสิทธิภาพรหัส
ผู้ประกอบ
แอสเซมเบลอร์คือโปรแกรมที่ใช้คำสั่งพื้นฐานของคอมพิวเตอร์ (เรียกว่าภาษาแอสเซมบลี) และแปลงเป็นรูปแบบของบิตที่โปรเซสเซอร์ของคอมพิวเตอร์สามารถใช้เพื่อดำเนินการขั้นพื้นฐานได้ แอสเซมเบลอร์สร้างอ็อบเจ็กต์โค้ดโดยการแปลแอสเซมบลีคำสั่งช่วยจำเป็น opcodes แก้ไขชื่อสัญลักษณ์เป็นตำแหน่งหน่วยความจำ ภาษาแอสเซมบลีใช้ตัวช่วยในการจำเพื่อแสดงการทำงานของเครื่องระดับต่ำ (opcode)
เครื่องมือดีบักในระบบฝังตัว
การดีบักเป็นกระบวนการที่เป็นระบบในการค้นหาและลดจำนวนข้อบกพร่องในโปรแกรมคอมพิวเตอร์หรือฮาร์ดแวร์อิเล็กทรอนิกส์เพื่อให้ทำงานได้ตามที่คาดไว้ การดีบักเป็นเรื่องยากเมื่อระบบย่อยเชื่อมโยงกันอย่างแน่นหนาเนื่องจากการเปลี่ยนแปลงเล็กน้อยในระบบย่อยหนึ่งสามารถสร้างจุดบกพร่องในอีกระบบหนึ่งได้ เครื่องมือดีบักที่ใช้ในระบบฝังตัวแตกต่างกันอย่างมากในแง่ของเวลาในการพัฒนาและคุณสมบัติการดีบัก เราจะพูดถึงเครื่องมือแก้ไขจุดบกพร่องต่อไปนี้ -
- Simulators
- ชุดสตาร์ทไมโครคอนโทรลเลอร์
- Emulator
เครื่องจำลอง
โค้ดได้รับการทดสอบสำหรับ MCU / ระบบโดยจำลองบนคอมพิวเตอร์โฮสต์ที่ใช้สำหรับการพัฒนาโค้ด เครื่องจำลองพยายามจำลองพฤติกรรมของไมโครคอนโทรลเลอร์ที่สมบูรณ์ในซอฟต์แวร์
หน้าที่ของเครื่องจำลอง
เครื่องจำลองทำหน้าที่ดังต่อไปนี้ -
กำหนดตระกูลโปรเซสเซอร์หรืออุปกรณ์ประมวลผลตลอดจนเวอร์ชันต่างๆสำหรับระบบเป้าหมาย
ตรวจสอบข้อมูลโดยละเอียดของส่วนซอร์สโค้ดด้วยเลเบลและอาร์กิวเมนต์เชิงสัญลักษณ์เมื่อการดำเนินการดำเนินไปสำหรับแต่ละขั้นตอนเดียว
แสดงสถานะของ RAM และพอร์ตจำลองของระบบเป้าหมายสำหรับการดำเนินการในแต่ละขั้นตอนเดียว
ตรวจสอบการตอบสนองของระบบและกำหนดปริมาณงาน
จัดเตรียมการติดตามผลลัพธ์ของเนื้อหาของตัวนับโปรแกรมเทียบกับการลงทะเบียนโปรเซสเซอร์
ให้ความหมายโดยละเอียดของคำสั่งปัจจุบัน
ตรวจสอบข้อมูลโดยละเอียดของคำสั่งจำลองเนื่องจากป้อนจากแป้นพิมพ์หรือเลือกจากเมนู
รองรับเงื่อนไข (สูงสุด 8 หรือ 16 หรือ 32 เงื่อนไข) และเบรกพอยต์ที่ไม่มีเงื่อนไข
จัดเตรียมจุดพักและการติดตามซึ่งเป็นเครื่องมือทดสอบและดีบักที่สำคัญร่วมกัน
อำนวยความสะดวกในการซิงโครไนซ์อุปกรณ์ต่อพ่วงภายในและความล่าช้า
ชุดเริ่มต้นไมโครคอนโทรลเลอร์
ชุดสตาร์ทไมโครคอนโทรลเลอร์ประกอบด้วย -
- บอร์ดฮาร์ดแวร์ (บอร์ดประเมินผล)
- โปรแกรมเมอร์ในระบบ
- เครื่องมือซอฟต์แวร์บางอย่างเช่นคอมไพเลอร์แอสเซมเบลอร์ลิงค์เกอร์ ฯลฯ
- ในบางครั้ง IDE และโค้ดขนาด จำกัด เวอร์ชันการประเมินของคอมไพลเลอร์
ข้อได้เปรียบที่สำคัญของชุดอุปกรณ์เหล่านี้เหนือเครื่องจำลองคือการทำงานแบบเรียลไทม์จึงช่วยให้สามารถตรวจสอบฟังก์ชันอินพุต / เอาต์พุตได้ง่าย อย่างไรก็ตามชุดเริ่มต้นนั้นเพียงพออย่างสมบูรณ์และเป็นตัวเลือกที่ถูกที่สุดในการพัฒนาโครงการไมโครคอนโทรลเลอร์อย่างง่าย
อีมูเลเตอร์
อีมูเลเตอร์คือชุดฮาร์ดแวร์หรือโปรแกรมซอฟต์แวร์หรืออาจเป็นได้ทั้งสองอย่างที่เลียนแบบการทำงานของระบบคอมพิวเตอร์หนึ่ง (แขก) ในระบบคอมพิวเตอร์อื่น (โฮสต์) ซึ่งแตกต่างจากระบบแรกเพื่อให้พฤติกรรมที่จำลองมีความคล้ายคลึงกันอย่างใกล้ชิด ของระบบจริง (แขก)
การเลียนแบบหมายถึงความสามารถของโปรแกรมคอมพิวเตอร์ในอุปกรณ์อิเล็กทรอนิกส์ในการเลียนแบบ (เลียนแบบ) โปรแกรมหรืออุปกรณ์อื่น การจำลองเน้นไปที่การสร้างสภาพแวดล้อมคอมพิวเตอร์ดั้งเดิมขึ้นมาใหม่ อีมูเลเตอร์มีความสามารถในการรักษาการเชื่อมต่อที่ใกล้ชิดกับความถูกต้องของวัตถุดิจิทัล โปรแกรมจำลองช่วยให้ผู้ใช้ทำงานกับแอปพลิเคชันหรือระบบปฏิบัติการประเภทใดก็ได้บนแพลตฟอร์มในลักษณะเดียวกับที่ซอฟต์แวร์ทำงานในสภาพแวดล้อมดั้งเดิม
อุปกรณ์ต่อพ่วงในระบบฝังตัว
ระบบฝังตัวสื่อสารกับโลกภายนอกผ่านอุปกรณ์ต่อพ่วงเช่นการติดตาม & mins;
- Serial Communication Interfaces (SCI) เช่น RS-232, RS-422, RS-485 เป็นต้น
- Synchronous Serial Communication Interface เช่น I2C, SPI, SSC และ ESSI
- บัสอนุกรมสากล (USB)
- การ์ดมัลติมีเดีย (การ์ด SD, แฟลชขนาดกะทัดรัด ฯลฯ )
- เครือข่ายเช่นอีเธอร์เน็ต LonWorks ฯลฯ
- Fieldbuses เช่น CAN-Bus, LIN-Bus, PROFIBUS เป็นต้น
- imers เช่น PLL (s), Capture / Compare และ Time Processing Units
- IO แบบแยกหรือที่เรียกว่า General Purpose Input / Output (GPIO)
- อนาล็อกเป็นดิจิตอล / ดิจิตอลเป็นอนาล็อก (ADC / DAC)
- การดีบักเช่นพอร์ต JTAG, ISP, ICSP, BDM Port, BITP และ DP9
หลักเกณฑ์ในการเลือกไมโครคอนโทรลเลอร์
ในขณะที่เลือกไมโครคอนโทรลเลอร์ตรวจสอบให้แน่ใจว่าตรงตามงานที่ทำอยู่และคุ้มค่า เราต้องดูว่าไมโครคอนโทรลเลอร์ 8 บิต 16 บิตหรือ 32 บิตสามารถรองรับความต้องการด้านคอมพิวเตอร์ของงานได้ดีที่สุด นอกจากนี้ควรคำนึงถึงประเด็นต่อไปนี้ในขณะที่เลือกไมโครคอนโทรลเลอร์ -
Speed - ไมโครคอนโทรลเลอร์รองรับความเร็วสูงสุดเท่าไหร่?
Packaging- เป็น DIP 40 พิน (แพ็คเกจคู่อินไลน์) หรือ QFP (แพ็คเกจ Quad แบน) สิ่งนี้มีความสำคัญในแง่ของพื้นที่การประกอบและการสร้างต้นแบบผลิตภัณฑ์ขั้นสุดท้าย
Power Consumption - นี่เป็นเกณฑ์สำคัญสำหรับผลิตภัณฑ์ที่ใช้แบตเตอรี่
Amount of RAM and ROM บนชิป
Count of I/O pins and Timers บนชิป
Cost per Unit - นี่เป็นสิ่งสำคัญในแง่ของต้นทุนขั้นสุดท้ายของผลิตภัณฑ์ที่จะใช้ไมโครคอนโทรลเลอร์
นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณมีเครื่องมือเช่นคอมไพเลอร์ตัวดีบั๊กและแอสเซมเบลอร์ที่พร้อมใช้งานกับไมโครคอนโทรลเลอร์ ที่สำคัญที่สุดคุณควรซื้อไมโครคอนโทรลเลอร์จากแหล่งที่เชื่อถือได้