Raspberry Pi 3 รองรับ RTOS หรือไม่


12

ฉันใหม่สำหรับโลก RTOS ฉันวางแผนที่จะใช้ RTOS บน Raspberry Pi 3 (อาจเป็น FreeRTOS) ใครช่วยแนะนำ RTOS ที่เหมาะสำหรับผู้เริ่มต้นได้บ้าง

เนื่องจากยังไม่ได้เผยแพร่แผ่นข้อมูลใน BCM2837 จึงเป็นไปได้หรือไม่ที่จะโหลด RTOS ไปยัง Raspberry Pi 3

จะช่วยได้ไหม


1
ไม่มีเหตุผลใดที่คุณไม่สามารถโหลด RTOS ลงบน RPi ได้ อย่างไรก็ตามการขอคำแนะนำของระบบปฏิบัติการที่เฉพาะเจาะจงเป็นนอกหัวข้อ
Chenmunka

1
อาจรู้ว่าทำไมคุณต้องมี RTOS มันจะให้อะไรคุณที่ OS อื่น ๆ จะไม่ทำ? ข้อกำหนดแบบเรียลไทม์ที่คุณต้องปฏิบัติตามคืออะไร คุณช่วยอธิบายสิ่งที่ทำให้ RTOS ดีสำหรับผู้เริ่มต้นได้อย่างไร
joan

1
@Chenmunka "RTOS ใดดีที่สุดสำหรับ RPi" ("สำหรับผู้เริ่มต้น" หรืออื่น ๆ ) จะไม่ใช้หัวข้อตามความคิดเห็น นี่เป็นสิ่งนั้น แต่ชื่อนั้นแท้จริง "raspberry pi 3 รองรับ RTOS หรือไม่" -> เมื่อคุณชี้ให้เห็นว่าใช่ ถ้าคำถามที่เหลือนั้นหมายถึงอะไร RTOS นั้นอยู่ตรงไหนแล้วมันก็โอเค - ซึ่งเป็นธรรมชาติของคำตอบที่แท้จริงฉันคิดว่า มีอย่างน้อยหนึ่ง ... ประเภทของ
goldilocks

@joan ฉันต้องการ RTOS สำหรับโซลูชั่นแบบฝังตัวสำหรับการใช้งานด้านยานยนต์ ตั้งแต่ฉันใหม่กับ RTOS ฉันสงสัยว่ามันสามารถใช้กับฮาร์ดแวร์ที่มีอยู่ (rpi-3) ที่บ้านได้หรือไม่
ทราย

ลองดูที่แกน Ultibo มันอาจเป็นสิ่งที่คุณต้องการ ultibo.org
avra

คำตอบ:


7

แม้ว่าโปรเจ็กต์ดั้งเดิมจะสนับสนุนราสเบอร์รี่ Pi 1 เพียงอย่างเดียว แต่ฉันได้รวบรวมส้อมนี้บนราสเบอร์รี่ Pi 2 สำเร็จแล้วและมันก็บอกว่าให้การสนับสนุน 3 ด้วย

https://github.com/Forty-Tw0/RaspberryPi-FreeRTOS


คุณย้ายไปยัง Raspberry Pi3 สำเร็จหรือไม่
LandonZeKepitelOfGreytBritn

ไม่เพิ่งทำได้ใน Pi2 ขออภัย
jordi

5

จนถึงตอนนี้ฉันได้ทดสอบ 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


1
ฉันใช้ Xenomai 2.6.5 กับ Raspberry Pi 3 สำเร็จแล้ว (ใช้รหัสจากgithub.com/margro/linux )
steviethecat

4

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


ขอบคุณสำหรับการตอบกลับ. ดูเหมือนว่าไม่จำเป็นที่จะต้องใช้ระบบปฏิบัติการอื่นสำหรับ rpi-3 เพราะระบบปฏิบัติการที่ใช้งานอยู่นั้นเป็นแบบเรียลไทม์ แอปพลิเคชันของฉันกำหนดเป้าหมายไปยังฮาร์ดแวร์แบบฝังที่ไม่สามารถใช้ระบบปฏิบัติการแบบ Linux เช่น raspbian เนื่องจากข้อ จำกัด ด้านหน่วยความจำ ประเด็นคือฉันสามารถโหลด RTOS อื่น ๆ ที่มี footprint หน่วยความจำขนาดเล็กบน rpi-3 เพียงเพื่อทำความคุ้นเคยกับโลก RTOS ได้หรือไม่? มีข้อ จำกัด ใด ๆ สำหรับ rpi-3 หรือไม่?
ทราย

1
ฉันขอโทษ: เพื่ออธิบายนี้ไม่ได้เป็นฟอรั่มการสนทนา โปรดใช้เวลาทัวร์อีกครั้งและให้ความสนใจกับ"คำตอบในทางปฏิบัติคำถามรายละเอียด"ส่วนหนึ่ง ดูเหมือนคุณจะทิ้งรายละเอียดไว้ในคำถามของคุณเชิญผู้อื่นให้เสียเวลากับการให้คำตอบที่ไม่ใช่สิ่งที่คุณกำลังมองหาเพื่อให้คุณสามารถ จำกัดรูปแบบการสนทนาในภายหลัง นั่นไม่ใช่วิธีการทำงานของ SE หากคุณมีคำถามอื่นให้ถามคำถามอื่น อย่าแก้ไขอันนี้เพื่อเปลี่ยนความหมายดั้งเดิมมิฉะนั้นฉันจะปิดมัน ขอบคุณ.
goldilocks

1
ฉันจะให้คำแนะนำแก่คุณ: หากคุณกำลังมองหาระบบปฏิบัติการที่จะทำงานบนระบบที่มีหน่วยความจำย่อย MB คุณควรหาคำตอบก่อนว่าตัวเลือกของคุณคืออะไร เพียงแค่เลือกระบบปฏิบัติการแบบเรียลไทม์โดยการสุ่ม "เพื่อการฝึกฝน" อาจจบลงด้วยการสอนคุณอย่างไม่มีอะไรเกี่ยวกับสิ่งที่คุณต้องใช้จริงๆ ดังนั้นอย่าเสียเวลา ค้นหาสิ่งที่คุณต้องการใช้จากนั้นถามว่าคุณสามารถใช้กับปี่ ฯลฯ หรือไม่
goldilocks

0

เนื่องจากคำจำกัดความของ 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 (ตัวอย่างอื่น ๆ จากหน่วยความจำไม่มีให้บริการออนไลน์อีกต่อไป)

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