ฉันรู้ว่ามันรัน Linux และมีแพทช์เรียลไทม์สำหรับ Linux แพทช์เหล่านั้นจะใช้งานได้หรือไม่
มีใครลองใช้ Raspberry Pi แบบเรียลไทม์อีกไหม
ความคิดคือการใช้คณะกรรมการเพื่อการควบคุมและงานควบคุมที่มีเวลาที่สำคัญ
ฉันรู้ว่ามันรัน Linux และมีแพทช์เรียลไทม์สำหรับ Linux แพทช์เหล่านั้นจะใช้งานได้หรือไม่
มีใครลองใช้ Raspberry Pi แบบเรียลไทม์อีกไหม
ความคิดคือการใช้คณะกรรมการเพื่อการควบคุมและงานควบคุมที่มีเวลาที่สำคัญ
คำตอบ:
คุณอาจสนใจใช้Xenomaiบน RaspberryPi ที่นี่คุณสามารถหาได้สอนเกี่ยวกับวิธีการทำเช่นนี้ สรุป Xenomai เป็นโครงการที่สร้างเคอร์เนล Linux ที่กำหนดเอง (พวกเขามีแพทช์ที่จะต้องนำไปใช้กับแหล่งที่มาของเคอร์เนล) ทำให้มันสามารถเรียกใช้เคอร์เนลอื่น (Xenomai core) ที่เป็นเรียลไทม์ สิ่งนี้ทำให้สามารถเรียกใช้แอปพลิเคชัน Xenomai บนฮาร์ดแวร์ที่หลากหลายโดยไม่จำเป็นต้องเขียนไดรเวอร์สำหรับพวกเขา (เนื่องจาก Linux ทำงานบนฮาร์ดแวร์ที่หลากหลายมาก) สิ่งนี้ช่วยให้การเขียนแอปพลิเคชันผู้ใช้ RT โดยใช้ RT API ที่แตกต่างกัน
ในเคอร์เนล Linux การเปิดใช้งานPREEMPT_RT
จะให้เวลาแฝงและขอบเขตแบบเรียลไทม์ นอกจากนี้การกำหนดค่าPREEMPT_RT
การSCHED_FIFO
และSCHED_RR
นโยบายยังต้องได้รับการคัดเลือก และแอปพลิเคชันจำเป็นต้องตั้งค่าพารามิเตอร์เรียลไทม์โดยการเรียก API ที่เหมาะสมหรือโดยใช้ยูทิลิตี้ที่เหมาะสม
จากการฝึกอบรมอิเล็กตรอนอิสระ: Realtime ใน Embedded Linux PREEMPT_RT เป็นโครงการที่นำความสามารถแบบเรียลไทม์มาสู่เคอร์เนล มันได้พับอย่างเต็มที่ใน 2.6.33 และ 3.0 กระแสเคอร์เนล ดูเอกสารที่คุณจะพบทุกสิ่ง
โดยทั่วไปมีสองวิธีในการนำความสามารถแบบเรียลไทม์มาสู่เคอร์เนล Linux:
PREEMPT_RT
โครงการRTLinux
, และRTAI
Xenomai
( Aedos
ตามที่Avio
ระบุไว้ด้านล่าง?)แก้ไข:
RT PREEMPT patch
โดยIngo Molnarใช้ร่วมกับHigh Resolution Timers
(HRT)สนับสนุนให้เคอร์เนลเพื่อให้บรรลุยากเรียลไทม์ความสามารถ ปัจจุบันการสนับสนุนของมันมาถึง3.4.11 เมล็ดและ "ข่าวดี" ก็คือแพตช์ "กำลังลดขนาด" ดังนั้นดูเหมือนว่าส่วนใหญ่จะรวมอยู่ในแหล่งเคอร์เนลหลัก คุณสามารถค้นหากวดวิชาที่ดีเยี่ยมสำหรับวิธีการใช้และใช้งานได้ที่นี่
Wyolum mas aLaMode (ฉันเรียกว่า Almond Pi) เพื่อให้พอดีกับส่วนบนของ Pi ในลักษณะที่วางซ้อนกันได้ มันมีนาฬิกาเรียลไทม์ใช้ aTiny 328 ฟีดของ GPIO Real UART / กำลังไฟและสามารถแฟลชได้หลายวิธี มันยอดเยี่ยมเพราะ Pi สามารถทำอะไรก็ได้ที่คุณต้องการเว็บเซิร์ฟเวอร์ / ฐานข้อมูลในขณะที่ Arduino ทำงานในอินเตอร์รัปต์แบบเรียลไทม์
ทางออกที่ดีที่สุดที่ฉันเคยเห็นคือX10i - คณะกรรมการควบคุมแบบเรียลไทม์สำหรับราสเบอร์รี่ Piจากฮีเบอร์
X10i เป็นตัวควบคุมแบบเรียลไทม์ที่ทรงพลังและปลอดภัยที่อนุญาตให้ควบคุมอินพุต / เอาต์พุตหลายช่องทางผ่าน USB จากระบบพีซีใดก็ได้ ตอนนี้ Heber ให้การสนับสนุนในภาษาการเขียนโปรแกรมจำนวนมากเพื่อให้ง่ายขึ้นสำหรับโปรแกรมเมอร์นักประดิษฐ์และนักพัฒนาเพื่อเชื่อมต่อกับโลกภายนอกจากพีซี
ลิงค์ข้างต้นเป็นเอกสารที่ยอดเยี่ยมและครอบคลุมและพวกเขาพยายามปรับปรุงไดรเวอร์ให้ทันสมัยด้วย Debian for Pi เวอร์ชันล่าสุด
นี่คือบทความ (ฝรั่งเศสแปลโดย Google แปล) ในราสเบอร์รี่ Pi ทำงานด้วย Xenomai
RODOS เป็นอีกทางเลือกหนึ่ง มันเป็นโครงการโอเพ่นซอร์สที่พัฒนาโดยศูนย์การบินและอวกาศเยอรมันและทีมมหาวิทยาลัยและนักศึกษาของ Montenegro
มันใช้ C ++ เขียนด้วยวิธีเชิงวัตถุอย่างสมบูรณ์และรองรับ ARM7, Atmel AVR, STM32 / Cortex-M3, Xilinx, Raspberry Pi :), ...
ปัจจุบันใช้กับดาวเทียม TET และในเครื่อง LoTTo ถ้าฉันไม่ผิด
แน่นอนว่าฉันต้องการใช้งานบน Linux (เป็นไปได้มากที่สุด) เพื่อให้ได้ทั้งสองโลกที่ดีที่สุด - แต่คำถามแบบเรียลไทม์ยังคงอยู่เพราะฉันไม่แน่ใจว่าเป็นไปได้หรือไม่ที่ Linux สามารถให้ API ที่ถูกต้องได้
ในการรับ RODOS ต้องเขียนข้อความถึงศ. Sergio Montenegro หรือ DLR (German Aerospace Center)
นอกเหนือจาก linux ยังมีระบบปฏิบัติการแบบเรียลไทม์ ค่อนข้างเป็นที่นิยมในหมู่คนที่เปิดแหล่งที่มาคือ ChibiOS / RT:
เป็น RTOS ที่สมบูรณ์แบบพกพามาได้ขนาดกะทัดรัดและรวดเร็วมาก (ระบบปฏิบัติการเรียลไทม์)
แนะนำสั้น ๆ ที่http://chibios.org/dokuwiki/doku.php?id=chibios:documents:introduction จะแตกต่างจาก linux คุณอาจชอบอ่านของ
มีตัวเลือกการออกแบบบางอย่างที่ควรอธิบายและสนับสนุนเพื่อทำให้ ChibiOS / RT เป็นงานออกแบบที่แปลกประหลาด ไม่มีอะไรใหม่ในตัวเอง แต่ทั้งหมดน่าสนใจ
หรือไม่. ถ้าคุณชอบการทดลอง pi อาจคุ้มค่ากับประสบการณ์ที่https://github.com/steve-bate/ChibiOS-RPi :
ChibiOS fork สำหรับการทดลอง Raspberry PI
ผู้เขียนเพิ่มคำแนะนำที่ดีที่
http://www.stevebate.net/chibios-rpi/GettingStarted.html
โดยส่วนตัวเมื่อพูดถึง rtos สำหรับฉัน linux ก็เหมือนกับการพกพาอุปกรณ์ข้ามเทือกเขาแอลป์สำหรับความต้องการในประเทศธรรมดา คุณอาจไม่ต้องการมัน แม้ปี่อาจจะมากเกินไป ตรวจสอบhttp://forum.arduino.cc/index.php?topic=144715.0สำหรับน้ำหนักที่ลดลง :)
ดู Hypriot Raspbian รุ่นนี้ด้วย RT_PREEMPT_FULL:
http://www.ehu.eus/ehusfera/pablogn/2016/01/20/real-time-kernel-for-the-raspberry-sbc/