ฉันใหม่สำหรับโลก RTOS ฉันวางแผนที่จะใช้ RTOS บน Raspberry Pi 3 (อาจเป็น FreeRTOS) ใครช่วยแนะนำ RTOS ที่เหมาะสำหรับผู้เริ่มต้นได้บ้าง
เนื่องจากยังไม่ได้เผยแพร่แผ่นข้อมูลใน BCM2837 จึงเป็นไปได้หรือไม่ที่จะโหลด RTOS ไปยัง Raspberry Pi 3
ฉันใหม่สำหรับโลก RTOS ฉันวางแผนที่จะใช้ RTOS บน Raspberry Pi 3 (อาจเป็น FreeRTOS) ใครช่วยแนะนำ RTOS ที่เหมาะสำหรับผู้เริ่มต้นได้บ้าง
เนื่องจากยังไม่ได้เผยแพร่แผ่นข้อมูลใน BCM2837 จึงเป็นไปได้หรือไม่ที่จะโหลด RTOS ไปยัง Raspberry Pi 3
คำตอบ:
แม้ว่าโปรเจ็กต์ดั้งเดิมจะสนับสนุนราสเบอร์รี่ Pi 1 เพียงอย่างเดียว แต่ฉันได้รวบรวมส้อมนี้บนราสเบอร์รี่ Pi 2 สำเร็จแล้วและมันก็บอกว่าให้การสนับสนุน 3 ด้วย
จนถึงตอนนี้ฉันได้ทดสอบ RTOS ต่อไปนี้โดยไม่ประสบความสำเร็จสำหรับ raspberry pi 3 ซึ่งจะช่วยให้ใครบางคนไม่เสียเวลา (ฉันใช้เวลา 3 เดือน): FreeRTOS, Xenomai, RTEMS, BitThunder, ChibiOS / RT
สำหรับ RISC OS ไม่ใช่ RTOS
สิ่งเดียวที่ฉันสามารถรันบนราสเบอร์รี่ pi 3 ได้จนถึงขณะนี้คือเคอร์เนลของ Fuchsia OS (Magenta) แต่มันอยู่ในระยะก่อนหน้าและมีเอกสารต่ำ
อีกวิธีหนึ่งคือการสร้าง RTOS ของคุณด้วยตัวเองใช่มันเป็นไปได้โดยใช้ ULTIBO CORE และทำตามบทเรียนเหล่านี้: - http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal- programming-in-cpt1 / - https://www.youtube.com/watch?v=TCfpb8M0WeQ
ARM ตระกูล ISA ที่ใช้โดยโปรเซสเซอร์ Broadcom ในรุ่น Raspberry Pi ปัจจุบันทั้งหมดใช้ RISCซึ่งRISC OSเขียนขึ้น RISC OS ฉันคิดว่าส่วนใหญ่อยู่บนอุปกรณ์ ARM ในช่วงทศวรรษแรกของพวกเขาเช่นเดียวกับ บริษัท ด้านเทคโนโลยีในสหราชอาณาจักร (Acorn) เดิมที่ออกแบบทั้ง ARM และ RISC OS ในความเป็นจริง ARM เริ่มต้นสำหรับ "Acorn RISC machine" และส่วนหนึ่งของเหตุผลที่ Raspberry Pi เรียกว่ามันเป็นเพราะประเพณีในสหราชอาณาจักรในการตั้งชื่อระบบคอมพิวเตอร์หลังผลไม้หรือถั่ว
RISC OS ไม่ใช่ระบบปฏิบัติการแบบเรียลไทม์อย่างไรก็ตามมันใช้สหกรณ์แบบมัลติทาสกิ้งซึ่งหมายความว่าคุณสามารถเรียกใช้กระบวนการที่สามารถปฏิเสธที่จะยอมจำนนต่อกระบวนการอื่นโดยสมัครใจ สิ่งนี้จะเกิดขึ้นกับฉันไม่รู้ แต่ฉันจะสมมติว่า:
คุณสามารถกำหนดค่าสิ่งต่าง ๆ เพื่ออนุญาตสิ่งนี้ได้โดยไม่มีปัญหา แต่อาจเกี่ยวข้องกับข้อ จำกัด เกี่ยวกับสิ่งที่ระบบปฏิบัติการสามารถทำได้ (เช่นเกี่ยวกับการเชื่อมต่อเครือข่าย)
บริบทสลับไปที่โหมดเคอร์เนลจะเกิดขึ้นเนื่องจากการเรียกของระบบโดยกระบวนการเพื่อให้บรรลุเป้าหมาย
มันค่อนข้างใกล้เคียงกับฟังก์ชั่นเรียลไทม์ขึ้นอยู่กับ "เวลาจริง" ที่คุณต้องได้รับ นอกจากนี้มีบางอย่างที่ยืนยัน RISC OS ทำงานบน Pi 3
เนื่องจากคำจำกัดความของ RTOS แตกต่างกันไปในแอปพลิเคชันโดยปกติคอมพิวเตอร์ที่อ้างว่าเป็นอะไรที่ง่ายกว่า RISC OS จึงเป็น RTOS สำหรับแอปพลิเคชั่นที่มีความซับซ้อนระดับกลางและไม่จำเป็นต้องเป็นคอมเพล็กซ์ระดับสูง ฟังดูขัดแย้งกันในแง่ ตัวอย่างโดยมาห์มุดเดอฟาฟ่า RABBAH หมายถึงไม่มีระบบปฏิบัติการและการรันโปรแกรมแบบมอบหมายภารกิจเดี่ยวโดยตรงจากตัวโหลดบูตซึ่งไม่ใช่ RTOS
วิธีเดียวที่สมเหตุสมผลในการทำความเข้าใจสิ่งนี้คือการแบ่งคำจำกัดความ RTOS ออกเป็นสามระดับ:
ความซับซ้อนที่ต่ำจะเป็นเครื่องซักผ้าหรือเครื่องบันทึกข้อมูลและคุณอาจจะดีกว่าด้วยฮาร์ดแวร์ที่ง่ายกว่าเช่น Arduino หรืออาจเป็น MCU ที่ง่ายกว่าหรือแม้กระทั่งตรรกะตามลำดับในตอนแรก มันจะใช้พลังงานน้อยลงและมีอะไรให้กังวลน้อยลง: อย่าทำให้สิ่งต่าง ๆ ซับซ้อนเกินกว่าที่มันจะเป็น
ความซับซ้อนสูงจะเป็นอะไรที่เหมือนกับระบบมัลติทาสกิ้งเต็มรูปแบบซึ่ง RTOS ไม่ใช่ อาจเป็นการดีกว่าถ้าคุณเรียกใช้ GUI ของคุณบนอุปกรณ์แยกต่างหากหากคุณต้องการ ความซับซ้อนสูงอาจเป็นกระบวนการตรวจสอบที่เรียกกระบวนการอื่น ๆ และบางอย่างต้องจัดลำดับความสำคัญ แต่คุณจะดีขึ้นเมื่อใช้การประมวลผลแบบขนานบางประเภทที่นั่นหรือไม่สามารถตอบสนองแบบเรียลไทม์ได้
ความซับซ้อนปานกลางจะเป็นที่ที่คุณต้องการอินเทอร์เฟซที่ระบบปฏิบัติการปกติสามารถให้ได้เช่น USB และอาจเป็นจอแสดงผลขนาดเล็ก แต่คุณต้องการประมวลผลสตรีมข้อมูลและไม่ถูกรบกวน ดูเหมือนว่าระดับของแอปพลิเคชันยานยนต์
สำหรับสิ่งนั้นคุณสามารถรวบรวมสิ่งที่ไม่มีระบบปฏิบัติการโดยใช้เครื่องโฮสต์เพื่อพัฒนามันหรือคุณสามารถใช้รุ่นของ RISC OS ที่บูทเข้าสู่ BASIC โดยตรงและพัฒนาบนเครื่องเป้าหมายซึ่งมักจะง่ายกว่า
ที่จะทำงานเดียวซึ่งสามารถเร็วพอที่จะสำรวจความคิดเห็นสำหรับเหตุการณ์จำนวนมากโดยไม่ถูกขัดจังหวะโดยสิ่งอื่น ๆ การขัดจังหวะของฮาร์ดแวร์จะยังคงทำงานจนกว่าพวกเขาจะปิดการใช้งาน (ค่อนข้างง่ายในการทำ) และสิ่งเหล่านี้จำเป็นสำหรับการแสดง / USB ฯลฯ การขัดจังหวะของฮาร์ดแวร์อื่นรันตัวจับเวลาและ IO ที่คุณอาจไม่ได้ใช้
ข้อดีอีกอย่างของ RISC OS ในแอพพลิเคชั่น RTOS คือคุณสามารถใช้โมดูลที่คุณต้องการเท่านั้นสิ่งที่ไม่สมเหตุสมผลในแอปพลิเคชัน GUI แบบดั้งเดิมและถูกใช้โดยเช่น STD / AdvantageSix [1] แม้ว่าพวกเขาจะใช้คำว่า แทน "RTOS" ข้อดีที่นำมานี้คือการออกแบบที่เรียบง่ายความต้องการพลังงานที่ลดลงการใช้หน่วยความจำลดลงและเวลาการบู๊ตที่เร็วขึ้น (อินเตอร์เฟสอุปกรณ์ I / O บางตัวจำเป็นต้องใช้การบูทขนาดเล็กด้วยตนเองและระบบปฏิบัติการต้องเข้าร่วม )
ฉันหวังว่าทั้งคู่เติมข้อมูลบางอย่างในช่องว่างด้านบนและทำให้ช่องว่างในความรู้ของฉันชัดเจนขึ้น
[1] http://www.advantagesix.co.uk/about_us.html (ตัวอย่างอื่น ๆ จากหน่วยความจำไม่มีให้บริการออนไลน์อีกต่อไป)