ระบบฝังตัว - เครื่องมือและอุปกรณ์ต่อพ่วง

คอมไพเลอร์และแอสเซมเบลอร์

คอมไพเลอร์

คอมไพเลอร์คือโปรแกรมคอมพิวเตอร์ (หรือชุดโปรแกรม) ที่แปลงซอร์สโค้ดที่เขียนด้วยภาษาโปรแกรม (ภาษาต้นทาง) เป็นภาษาคอมพิวเตอร์อื่น (โดยปกติรูปแบบไบนารี) สาเหตุส่วนใหญ่ของการแปลงคือการสร้างโปรแกรมปฏิบัติการ ชื่อ "คอมไพเลอร์" ส่วนใหญ่ใช้สำหรับโปรแกรมที่แปลซอร์สโค้ดจากภาษาโปรแกรมระดับสูงไปเป็นภาษาระดับต่ำ (เช่นภาษาแอสเซมบลีหรือรหัสเครื่อง)

ข้ามคอมไพเลอร์

หากโปรแกรมที่คอมไพเลอร์สามารถทำงานบนคอมพิวเตอร์ที่มี 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 - นี่เป็นสิ่งสำคัญในแง่ของต้นทุนขั้นสุดท้ายของผลิตภัณฑ์ที่จะใช้ไมโครคอนโทรลเลอร์

นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณมีเครื่องมือเช่นคอมไพเลอร์ตัวดีบั๊กและแอสเซมเบลอร์ที่พร้อมใช้งานกับไมโครคอนโทรลเลอร์ ที่สำคัญที่สุดคุณควรซื้อไมโครคอนโทรลเลอร์จากแหล่งที่เชื่อถือได้