ในซอฟต์แวร์คำว่า "สมองกลฝังตัว" เกี่ยวข้องกับอะไร?


9

ดังนั้นฉันจึงได้ศึกษาความรู้เพิ่มเติมเกี่ยวกับการเขียนโปรแกรมฮาร์ดแวร์ระดับล่างและระดับล่างอย่างไรก็ตามทุกครั้งที่ฉันค้นหางานที่กล่าวถึง"ฝังตัว"เป็นสิ่งระดับสูงเสมอ สำหรับฉันมันไม่สมเหตุสมผลเลย

ดังนั้น "ฝังตัว" สิ่งที่ไม่เกี่ยวข้อง เมื่อฉันคิดถึงการฝังตัวฉันคิดถึงการเขียนโปรแกรมไมโครคอนโทรลเลอร์ระดับล่างและเช่นนั้น หากสมองกลฝังตัวไม่เหมาะกับชื่อเรื่องนี้ฉันควรจะค้นหาอะไร

คำตอบ:


4

กำหนดสิ่งที่คุณหมายถึงโดยสิ่งที่ระดับสูงกว่า การเขียนไดรเวอร์และซอฟต์แวร์ประเภทอื่น ๆ ที่สื่อสารกับฮาร์ดแวร์อาจเป็นสิ่งที่คนส่วนใหญ่คิดเมื่อคุณพูดถึงซอฟต์แวร์ฝังตัว ในขณะที่เป็นส่วนหนึ่งของมันนั่นเป็นเพียงส่วนเล็ก ๆ เมื่อคุณมีการตั้งค่าทั้งหมดยังคงมีแอปพลิเคชั่นทั้งหมดที่จะเขียนซึ่งอาจไม่เคยพูดถึงฮาร์ดแวร์โดยตรงและมากกว่าในกรณีส่วนใหญ่นี่คือความพยายามส่วนใหญ่ในการพัฒนา สิ่งนี้สามารถบางระดับเทียบได้กับการโปรแกรมระดับ "สูง" อย่างไรก็ตามในโลกฝังตัวคุณอาจทำงานภายใต้ข้อ จำกัด บางอย่างโดยเฉพาะอย่างยิ่งในแง่ของพลังการคำนวณและหน่วยความจำ นี่คือรายการของสิ่งที่ฉันคิดในชีวิตประจำวันที่อาจมีความสำคัญน้อยกว่าในการพัฒนาระดับที่สูงขึ้นในกรณีส่วนใหญ่

  • การทำงานพร้อมกันของเธรด (ทั้งการป้องกันและเวลา)
  • การจัดสรรหน่วยความจำและการจัดสรรคืนและการใช้งาน
  • การจัดการฮีป (หลีกเลี่ยงการแตกแฟรกเมนต์)
  • ประชุมกำหนดเวลาตามเวลาจริง
  • การจัดลำดับความสำคัญของเธรด
  • ประสิทธิภาพ I / 0
  • การถ่ายโอน DMA
  • ขนาดสแต็ค
  • ประสิทธิภาพของห้องสมุด
  • คุณสมบัติภาษา (ข้อยกเว้นขยายโค้ดของคุณ)

นอกจากนี้แพลตฟอร์มแบบฝังตัวยังมีความเชี่ยวชาญสูงในการบรรลุเป้าหมายเฉพาะอย่างหนึ่งซึ่งตรงข้ามกับพีซีที่ได้รับการออกแบบให้เป็นแพลตฟอร์มสำหรับการคำนวณแบบต่างกันโดยทั่วไป ซึ่งหมายความว่าคุณอาจมีรหัสที่กำหนดเองจำนวนมากที่อาจจะใช่หรือไม่ใช่พกพาก็ได้


7

จากWikipedia / ระบบฝังตัว :

ระบบสมองกลฝังตัวเป็นระบบคอมพิวเตอร์ที่ออกแบบมาเพื่อทำหน้าที่หนึ่งหรือสองสามฟังก์ชั่นโดยเฉพาะมักจะมีข้อ จำกัด ในการคำนวณแบบเรียลไทม์

กล่าวโดยย่อคำศัพท์นี้สามารถนำไปใช้กับระบบประเภทใดก็ได้ที่ไม่ใช่เครื่องคอมพิวเตอร์เอนกประสงค์ สิ่งนี้มีตั้งแต่ไมโครคอนโทรลเลอร์แบบธรรมดาไปจนถึงฮาร์ดแวร์ระบบเครือข่ายไปจนถึงเกมคอนโซลที่ทันสมัย

หากคุณพิจารณาว่า "สิ่งระดับสูง" หมายถึง "ใช้ภาษาการเขียนโปรแกรมระดับสูง" หรือแม้แต่ "เป็นโครงการเชิงวัตถุขนาดใหญ่" แน่นอนว่าเป็นไปได้เสมอที่คุณจะมีซอฟต์แวร์ระดับสูงในระบบฝังตัว .

โดยทั่วไปการระบุว่าซอฟต์แวร์ของคุณกำลังจะอยู่ในระบบ "สมองกลฝังตัว" คุณหมายถึงว่าซอฟต์แวร์ของคุณจะถูกควบคู่ไปกับระบบสมองกลฝังตัว - และอาจไม่สามารถพกพาได้สูง

มันเป็นคำที่กว้างมาก ๆ บางสิ่งที่ฉันไม่คาดหวังว่าจะได้ยินชื่อ "ฝังตัว" อาจเป็นซอฟต์แวร์พีซีแอปพลิเคชันเว็บและซอฟต์แวร์เซิร์ฟเวอร์โดยทั่วไป ไม่มีการรับประกันว่าซอฟต์แวร์ฝังตัวจะยกเว้นการเขียนโปรแกรมหรือการออกแบบระดับสูงใด ๆ


นอกจากนี้ฉันอาจชี้ให้เห็นว่าจุดประสงค์ของการระบุว่าซอฟต์แวร์ของคุณถูกฝังไว้เพื่อแสดงว่าคุณจะมีห้องสมุดน้อยลงและมีโซลูชันที่มีอยู่เพื่อสร้างโซลูชันของคุณ
มหัศจรรย์

+1 ตัวอย่างทั่วไปสำหรับระบบฝังตัวคือคอมพิวเตอร์ในเครื่อง POS หรือ ATM แม้ว่าพวกเขาจะเรียกใช้ระบบปฏิบัติการที่ล้าสมัยเช่น Windows หรือ Linux
nikie

1

ฉันสงสัยว่าคุณกำลังมองหางานที่ "ฝังตัว" หมายถึง "คอมพิวเตอร์ในกล่อง" โดยทั่วไปเป็นงานที่ทำเฉพาะงาน มีแนวโน้มที่จะใช้ Linux distro หรือ Microsoft OS ได้เกือบทั้งหมด แต่มันจะค่อนข้างสมบูรณ์และคุณจะสามารถใช้ GUI IDE มาตรฐานและอื่น ๆ ได้ ส่วนที่ฝังตัวมาจริงๆเมื่ออุปกรณ์ส่งออกเป็นเครื่องบันทึกวิดีโอหลายช่องทางอุปกรณ์สตรีมมิ่งสื่อหรือสัญญาณกันขโมย

วันนี้คุณสามารถทำการประมวลผลจำนวนมากในอุปกรณ์ 1W ดังนั้นคำจำกัดความของการฝังตัวจึงเพิ่มขึ้นตามไปด้วย แต่แม้กระทั่ง 20 ปีที่แล้วเรามีอุปกรณ์ฝังตัวที่ใช้พลังงานแบตเตอรีที่ใช้มาตรฐาน DOS อย่างเป็นธรรมและสร้างโปรแกรมสำหรับพวกเขาโดยใช้ IDE ประจำวัน (สแกนบาร์โค้ดสัญลักษณ์มีห้องสมุดสำหรับ C และ Pascal ดังนั้นเราจึงใช้ Turbo Pascal บน Win3.1 สร้าง executables) แต่เรายังส่ง "พีซีอุตสาหกรรม" ที่บู๊ต DOS จากนั้นซอฟต์แวร์ของเราและการป้อนข้อมูลถูก จำกัด เพียงปุ่มกันน้ำขนาดใหญ่สองสามตัวที่ติดตั้งบนกล่องสแตนเลส จอ LCD ขนาด 15 นิ้วที่อยู่ด้านหลังกระจกในกล่องนั้นหมายความว่าเรามีตัวเลือกเอาต์พุตจำนวนมาก แต่การติดแป้นพิมพ์หมายถึงการเปิดกล่อง (ภายในโรงงานอาหาร) สิ่งเหล่านั้นอาจถูกพิจารณาว่าฝังอยู่ในบางมุมมอง - พลังรอบมันหรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.