สำหรับ MCU โลหะที่แยกเขี้ยวการเปรียบเทียบกับโค้ดโฮมเมดที่มีพื้นหลังวนซ้ำพร้อมกับสถาปัตยกรรมขัดจังหวะตัวจับเวลาประโยชน์ของระบบปฏิบัติการที่ไม่ได้รับการยกเว้นคืออะไร ประโยชน์อะไรบ้างที่น่าดึงดูดพอสำหรับโครงการที่จะนำระบบปฏิบัติการที่ไม่ต้องเสียสละมาใช้แทนที่จะใช้โค้ดโฮมเมดที่มีสถาปัตยกรรมวนรอบด้านหลัง
.
คำอธิบายของคำถาม:
ฉันขอขอบคุณทุกคนที่ได้ตอบคำถามของฉัน ฉันรู้สึกว่าคำตอบเกือบจะอยู่ที่นั่นแล้ว ฉันเพิ่มคำอธิบายนี้ลงในคำถามของฉันที่นี่ซึ่งแสดงการพิจารณาของฉันเองและอาจช่วย จำกัด คำถามให้แคบลงหรือทำให้แม่นยำยิ่งขึ้น
สิ่งที่ฉันพยายามทำคือเข้าใจวิธีเลือก RTOS ที่เหมาะสมที่สุดสำหรับโครงการโดยทั่วไป
เพื่อให้บรรลุสิ่งนี้ความเข้าใจที่ดีขึ้นเกี่ยวกับแนวคิดพื้นฐานและประโยชน์ที่น่าสนใจที่สุดจาก RTOS ประเภทต่างๆและราคาที่สอดคล้องกันจะช่วยได้เนื่องจากไม่มี RTOS ที่ดีที่สุดสำหรับการใช้งานทั้งหมด
ฉันอ่านหนังสือเกี่ยวกับระบบปฏิบัติการเมื่อไม่กี่ปีที่ผ่านมา แต่ฉันไม่ได้มีมันกับฉันอีกต่อไป ฉันค้นหาบนอินเทอร์เน็ตก่อนที่ผมจะโพสต์คำถามของฉันที่นี่และพบว่าข้อมูลนี้จะเป็นประโยชน์มากที่สุด: http://www.ustudy.in/node/5456
มีข้อมูลที่เป็นประโยชน์อื่น ๆ อีกมากมายเช่นการแนะนำตัวในเว็บไซต์ของ RTOS ที่แตกต่างกันบทความเปรียบเทียบการกำหนดเวลาแบบจองล่วงหน้าและกำหนดการที่ไม่ต้องเสียภาษีเป็นต้น
แต่ฉันไม่พบหัวข้อใด ๆ ที่กล่าวถึงเมื่อเลือก RTOS ที่ไม่ต้องห้ามและเมื่อใดควรเขียนโค้ดของคุณเองโดยใช้ตัวจับเวลาอินเตอร์รัปต์และลูปพื้นหลัง
ฉันมีคำตอบบางอย่างของตัวเอง แต่ฉันก็ไม่พอใจกับพวกเขามากพอ
ฉันอยากจะรู้คำตอบหรือมุมมองจากคนที่มีประสบการณ์มากขึ้นโดยเฉพาะในอุตสาหกรรม
ความเข้าใจของฉันคือ:
ไม่ว่าจะใช้หรือไม่ใช้ระบบปฏิบัติการ, รหัสการตั้งเวลาบางประเภทเป็นสิ่งที่จำเป็นเสมอแม้ว่าจะอยู่ในรูปแบบของรหัสเช่น:
in the timer interrupt which occurs every 10ms
if(it's 10ms)
{
call function A / execute task A;
}
if(it's 50ms)
{
call function B / execute task B;
}
ประโยชน์ที่ 1:
ระบบปฏิบัติการที่ไม่ต้องเสียสิทธิ์กำหนดวิธี / รูปแบบการเขียนโปรแกรมสำหรับรหัสกำหนดเวลาเพื่อให้วิศวกรสามารถแบ่งปันมุมมองเดียวกันแม้ว่าจะไม่ได้อยู่ในโครงการเดียวกันมาก่อน จากนั้นด้วยมุมมองเดียวกันเกี่ยวกับงานแนวคิดวิศวกรสามารถทำงานในงานที่แตกต่างกันและทดสอบพวกเขาโปรไฟล์พวกเขาอย่างอิสระมากที่สุด
แต่เราสามารถได้รับประโยชน์จากสิ่งนี้มากแค่ไหน? หากวิศวกรกำลังทำงานในโครงการเดียวกันพวกเขาสามารถหาวิธีแชร์มุมมองเดียวกันได้ดีโดยไม่ต้องใช้ระบบปฏิบัติการที่ไม่ได้รับการยกเว้น
หากวิศวกรคนหนึ่งมาจากโครงการหรือ บริษัท อื่นเขาจะได้รับประโยชน์หากเขารู้จักระบบปฏิบัติการมาก่อน แต่ถ้าเขาไม่ทำเช่นนั้นอีกครั้งดูเหมือนว่าเขาจะไม่ได้สร้างความแตกต่างอย่างใหญ่หลวงให้เขาเรียนรู้ระบบปฏิบัติการใหม่หรือรหัสใหม่
ประโยชน์ที่ 2:
หากรหัสระบบปฏิบัติการได้รับการทดสอบอย่างดีดังนั้นจึงช่วยประหยัดเวลาในการแก้ไขข้อบกพร่อง นี่เป็นประโยชน์ที่ดีจริงๆ
แต่ถ้าแอปพลิเคชั่นมีเพียง 5 งานฉันคิดว่ามันไม่ยุ่งที่จะเขียนโค้ดของคุณเองโดยใช้ตัวจับเวลาขัดจังหวะและวนรอบพื้นหลัง
ระบบปฏิบัติการที่ไม่ต้องเสียค่าใช้จ่ายที่นี่จะอ้างถึงระบบปฏิบัติการเชิงพาณิชย์ / ฟรี / ระบบเดิมที่มีตัวกำหนดตารางเวลาที่ไม่ต้องเสียค่าธรรมเนียม
เมื่อฉันโพสต์คำถามนี้ฉันคิดว่าระบบปฏิบัติการบางอย่างเช่น:
(1) KISS Kernel (RTOS ขนาดเล็กที่ไม่ได้รับการยกเว้น - อ้างสิทธิ์โดยเว็บไซต์)
http://www.frontiernet.net/~rhode/kisskern.html
(2) uSmartX (RTOS ที่มีน้ำหนักเบา - อ้างสิทธิ์โดยเว็บไซต์)
(3) FreeRTOS (เป็น RTOS ที่ยึดเอาเสียก่อน แต่อย่างที่ฉันเข้าใจมันสามารถกำหนดค่าเป็น RTOS ที่ไม่ต้อง
เสียภาษีได้)
( 4) uC / OS (คล้ายกับ FreeRTOS) (5 ) รหัส OS / ตัวกำหนดตารางเวลาดั้งเดิมในบาง บริษัท (โดยปกติแล้วจะจัดทำและดูแลโดย บริษัท ภายใน)
(ไม่สามารถเพิ่มลิงก์เพิ่มเติมได้เนื่องจากข้อ จำกัด จากบัญชี StackOverflow ใหม่)
ดังที่ฉันเข้าใจระบบปฏิบัติการที่ไม่ต้องเสียสละคือชุดของรหัสเหล่านี้:
(1) ตัวจัดตารางเวลาโดยใช้กลยุทธ์ที่ไม่ต้องเสียภาษี
(2) สิ่งอำนวยความสะดวกสำหรับการสื่อสารระหว่างงาน, mutex, การซิงโครไนซ์และการควบคุมเวลา
(3) การจัดการหน่วยความจำ
(4) สิ่งอำนวยความสะดวกอื่น ๆ ที่เป็นประโยชน์ / ห้องสมุดเช่นไฟล์ระบบเครือข่าย stack, GUI และ ฯลฯ (FreeRTOS และ UC / OS ให้เหล่านี้ แต่ผมไม่แน่ใจว่าถ้าพวกเขายังคงทำงานเมื่อกำหนดการการกำหนดค่าเป็นไม่ใช่มาตรการ)
บางส่วนของ พวกเขาไม่ได้อยู่ที่นั่นเสมอ แต่ต้องใช้ตัวกำหนดตารางเวลา