我知道它运行Linux,并且有适用于Linux的实时补丁。这些补丁程序行得通吗?

有人在Raspberry Pi上尝试过另一个实时操作系统吗?严重。

评论

我认为,为什么不能这样做,唯一的唯一原因就是封闭的GPU解决方案。如果您可以决定在执行实时任务时忽略GPU,那么我认为可以进行实时扩展。

整个树莓派系统尚未打开,您无法修改。问题是,在运行实时任务时,不是GPU的部分是否愿意远离,或者是否不可避免地要求总线周期访问ram甚至“注意” ”以某种方式破坏了硬性计时目标。

显然,RISCOS非常适合某些实时应用,并且Raspberry Pi端口运行良好。 * 8')

RISCOS不是实时操作系统(根据您的Wikipedia链接),它有什么帮助?

CONFIG_PREEMPT_RT补丁已在运行Linux的多个ARM处理器上进行了演示。可能存在一些延迟问题,但是这些问题应该可以以微秒为单位进行测量。

#1 楼

您可能对在RaspberryPi上运行Xenomai感兴趣。简而言之,Xenomai是一个创建自定义Linux内核的项目(它们提供了必须应用于内核源代码的补丁),使它能够运行另一个内核( Xenomai核心)是实时的。这样就可以在各种硬件上运行Xenomai应用程序,而无需为其编写驱动程序(因为Linux在各种硬件上都可以工作)。这允许使用几个可用的不同RT API编写RT用户空间应用程序。

评论


我可以使用此工具获得的最大频率是多少?我对以1 kHz左右的速率控制直流电动机感兴趣

–尼古拉斯·阿里亚斯(NicolásArias)
16 Sep 25'0:55



#2 楼

在Linux内核中,启用PREEMPT_RT将提供有限的延迟和实时API。除了配置PREEMPT_RT之外,还需要选择SCHED_FIFOSCHED_RR策略。应用程序需要通过调用适当的API或使用适当的实用程序来设置实时参数。

根据自由电子培训:嵌入式Linux中的实时,PREEMPT_RT是一个将实时功能引入内核的项目。它已完全折叠为2.6.33和3.0内核流。查看文档,您将找到所有内容。

基本上有两种方法可以将实时功能带到Linux内核:与普通内核并排在普通内核之下的实时部分已经出现了三代:PREEMPT_RTRTLinuxRTAI。 (Xenomai就像下面提到的Aedos一样?)
启用抢占有点冒险。请参阅有关2013年4月制作的最新内核补丁的讨论主题:“保证自旋锁!PRE​​EMPT_COUNT的隐式屏障”。


评论


欢迎使用Raspberry Pi,答案不错! Ingo Molnar的RT PREEMPT补丁与高分辨率计时器(HRT)支持一起使用,使内核可以实现硬实时功能。目前,它对3.4.11内核的支持,并且“好消息”是补丁正在“缩小”,因此似乎大多数补丁都已包含在主流内核资源中。您可以在此处找到有关如何应用和使用它的出色教程。

– Avio
2012-09-29 17:26



嗯,别忘了在其他选择中引用Adeos来在Linux中提供硬实时支持。

– Avio
2012-09-29 17:31



我必须提到,使PREEMPT_RT与Raspberry Pi内核一起工作并不是一件容易的事,只需应用补丁程序就可以产生无法工作的内核。另外,Raspberry Pi内核中有很多新驱动程序,这些驱动程序尚未经过PREEMPT_RT的测试,也没有清除过长的阻塞睡眠。也就是说,这是一项正在进行的工作。

–可以裸体
2012年9月29日18:05

有任何更新吗?驱动程序现在是否足够稳定,可以使用此内核补丁?我希望为尚未编译内核的人员提供一份实用的教程。

–fabb
13年1月13日在16:44

@fabb:即使经过很多年,仍然会有一些司机对rt要求有所误解。您只能通过运行来查找。顺便说一句,最近我看到一些网络故障一度提高了某些用户空间应用程序的优先级,这是出乎意料的。尽管所有这些情况都是高度配置和特定于应用程序的。

–明华
2013年1月26日18:58



#3 楼

Wyolum使aLaMode(我称为Almond Pi)以可堆叠的方式安装在Pi的顶部。它具有一个实时时钟,使用aTiny 328,提供GPIO真正的UART /电源,并且可以多种方式闪烁。很棒是因为Pi可以在Arduino以实时中断运行的同时完成您想做的任何事情,Web服务器/数据库。



评论


要运行2个微控制器似乎有些不切实际,但另一方面,如果其他方法不够快,则这可以确保实时操作。

–fabb
13年1月15日在9:46

是否有关于RPi如何与其他µC干净通信而又不减慢其控制环路的暗示?

–fabb
13年1月15日在9:49

是的,但是µC必须轮询我猜测的UART,才能不让UART中断推迟控制循环定时器中断。然后,我将在控制循环开始时轮询UART,并确保不会读取太多字节,以免花费太长时间吗?还是那样容易导致UART缓冲区溢出?还是控制环路频率比UART速度高得多,以至于每个环路读取一个字节(如果可用)是否绰绰有余?

–fabb
13年1月15日在11:35

很好的建议。 BTW Raspberry Pi Alamode已经是一个双关语。 Ala模式是将冰淇淋放在馅饼上的时候。

–丹
16-10-1在23:46

真的吗呵呵。我想知道那是什么意思。现在有意义:)

– Piotr Kula
16-10-2在11:01

#4 楼

我所见过的最好的解决方案是X10i-Heber的Raspberry Pi实时控制板。


X10i是一种通用,功能强大且安全的实时控制器,
/>允许通过USB从任何
PC系统控制多个输入/输出。 Heber现在提供了许多编程语言的支持,使程序员,发明家和开发人员可以更轻松地从其PC与外界联系。


上面的链接提供了出色的链接。和大量的文档,他们尝试使驱动程序与最新版本的Debian for Pi保持最新。

评论


所以您需要从Pi到此的带状连接器?找不到该东西的租用照片,但看起来确实很笨重。它列举了一些例子,所以我认为很好。 +1

– Piotr Kula
2013年1月15日11:27



我不能说我曾经使用过它,但是我希望如此,尽管我似乎记得在演示中使用USB接口的那个人。虽然可以,但它相当笨重。

–活动
2013年1月15日19:43

#5 楼

这是与Xenomai一起运行的Raspberry Pi的文章(由Google翻译的法语)。

评论


嗨,您好。通常,我们不鼓励只是链接的答案,以防链接页面移动。您能否在答案中总结该页面上的信息?然后,您可以将该链接作为参考。谢谢!

–活动
2012年10月26日17:00



#6 楼

RODOS是另一种选择。
这是由德国航空航天中心和黑山教授的大学团队和学生共同开发的一个开放源代码项目。

它使用C ++,完全以面向对象的方式编写并支持ARM7,Atmel AVR,STM32 / Cortex-M3,Xilinx,Raspberry Pi:),...

如果我没弄错的话,它目前已用于卫星TET和LoTTo机器中。 br />
当然,我更希望在Linux上运行它(可能的话)以兼顾两者的优势-但是实时问题仍然存在,因为我不确定Linux是否可以提供正确的API。

要获得RODOS,必须向Sergio Montenegro教授或DLR(德国航空航天中心)写一条消息。

评论


如果我必须写信给塞尔吉奥教授索要副本,那真的是“开源”吗?

–卡尔·史密斯
20-2-17在7:38

也许老派的笔和纸是开源的。一些直接联系。我真的很喜欢这个家伙。也许它可以得到量身定制的反馈,以决定它是否适合该任务。我认为德国航空航天中心出于安全担忧(卫星开采)而希望采取某种控制方式。让我们找到一个折衷方案:它是“开源的一种”。有总比没有好 ;-)

–拉达格斯特
20-2-20在23:24

凉。很公平 :)

–卡尔·史密斯
20-2-21在8:16

#7 楼

除了linux,还有实时操作系统。 ChibiOS / RT在开源软件中非常受欢迎: br />

的简介是在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减轻重量:)

#8 楼

自2018年以来,Pi内核在github上带有一组-rt分支:如果我想在Pi上测试实时内核,这是我首先尝试的方法。当前修补的内核版本为4.19。单击“切换分支/标签”并在搜索框中键入“ rt”将显示最新的修补版本。

评论


有人测试过这确实有效吗?

– LarsPötter
20 Dec 18'在5:58

@LarsPötter这里有很多人尝试过。有(是?)一些问题,但是肯定会启动。

–德米特里·格里戈里耶夫(Dmitry Grigoryev)
20 Dec 18'8:50



#9 楼

看到具有RT_PREEMPT_FULL的这个版本的Hypriot Raspbian:

http://www.ehu.eus/ehusfera/pablogn/2016/01/20/real-time-kernel-for-the-raspberry-sbc /

评论


欢迎来到Raspberry Pi!尽管从理论上讲这可以回答问题,但最好在此处包括答案的基本部分,并提供链接以供参考。

–加纳马♦
16年2月6日在9:14