我是RTOS世界的新手。我打算在Raspberry Pi 3上使用一些RTOS(可能是FreeRTOS)。任何人都可以建议哪种RTOS对初学者有利吗?
由于他们尚未在BCM2837上发布数据表,是否有可能将RTOS加载到Raspberry Pi 3上?
我是RTOS世界的新手。我打算在Raspberry Pi 3上使用一些RTOS(可能是FreeRTOS)。任何人都可以建议哪种RTOS对初学者有利吗?
由于他们尚未在BCM2837上发布数据表,是否有可能将RTOS加载到Raspberry Pi 3上?
Answers:
尽管原始项目仅支持Raspberry Pi 1,但我已经在Raspberry Pi 2上成功编译了此fork,并说它也支持3。
到目前为止,我对树莓派3测试了以下RTOS均未成功,这将帮助某人避免浪费时间(我浪费了3个月的时间):FreeRTOS,Xenomai,RTEMS,BitThunder,ChibiOS / RT
对于RISC OS,它不是RTOS。
到目前为止,我只能在Raspberry Pi 3上运行的是Fuchsia OS的内核(洋红色),但是该文件处于早期阶段,因此文献记载不多。
另一种方法是建立你RTOS由你自己,是有可能的,使用ULTIBO核心,下面这些教程: - http://www.valvers.com/open-software/raspberry-pi/step01-bare-metal-编程功能于CPT-1 / - https://www.youtube.com/watch?v=TCfpb8M0WeQ
ARM 是Broadcom处理器在所有当前Raspberry Pi型号上使用的ISA系列,它基于RISC,并为此编写了RISC OS。我认为RISC操作系统在他们的第一个十年就占据了ARM设备的主导地位,这是同一家英国技术公司(Acorn)最初设计ARM和RISC操作系统。实际上,ARM最初代表“橡子RISC机器”,这是Raspberry Pi之所以被称为“ Raspberry Pi”的部分原因,是因为英国的传统是用水果或坚果命名计算机系统。
RISC OS不是真正的实时操作系统,但是,它确实使用了协作式多任务处理,这意味着您可以运行一个进程,该进程可以自愿拒绝将自己交还给另一个进程。我可能不知道这会有什么后果,但是我认为:
您可以配置一些东西以使其没有问题,但是可能会限制操作系统的功能(例如,在网络方面)。
上下文切换到内核模式只会发生,因为进程为了完成其目标而进行了系统调用。
这与实时功能非常接近,具体取决于您需要获得的“实时”程度。此外,已经证实RISC OS在Pi 3上运行。
由于RTOS的定义因应用程序而异,通常是一台计算机,看起来很简单,因此RISC OS是中等复杂应用程序的RTOS,不一定是高复杂应用程序的RTOS,尽管高度复杂的RTOS听起来像是一个矛盾。Mahmoud Almostafa RABBAH的示例没有使用操作系统,而是直接从引导加载程序(也不是RTOS)运行单任务程序。
理解这一点的唯一合理方法是将RTOS定义分为三个级别:
低复杂度就像是洗衣机或数据记录器,并且首先使用更简单的硬件(例如Arduino或更简单的MCU,甚至只是顺序逻辑)可能会更好。它将消耗更少的功率,并且不必担心太多:永远不要使事情变得比必须的复杂。
高复杂度就像一个完整的多任务系统,而RTOS则不是。如果需要,最好在单独的设备上运行GUI。高复杂度也可以监视调用其他进程的进程,其中某些进程必须优先处理,但是同样,最好在此处进行某种并行处理,否则它无法进行实时响应。
中等复杂度将是您需要普通OS可以提供的接口(例如USB)以及小的显示输出的地方,但是您希望处理数据流并且不受任何干扰。这听起来像汽车应用程序的水平。
为此,您可以在没有OS的情况下进行编译,使用主机进行开发,或者使用RISC OS的版本直接启动到BASIC并在目标计算机上进行开发,这通常会更容易。
这将运行一个任务,该任务的速度足以轮询多个事件,而不会被其他事件打扰。除非禁用了硬件中断(相当容易做到),否则硬件中断仍然会运行,并且这些中断是使显示器/ USB等正常工作所必需的。其他硬件中断会运行计时器和您可能未使用的IO。
RISC OS在RTOS应用程序中的另一个优点是,您只能使用所需的模块,而这在传统的GUI应用程序中是没有意义的,并且已被STD / AdvantageSix [1]使用,尽管它们使用术语“嵌入式系统”。而不是“ RTOS”。这带来的优点是简化的设计,更低的功耗要求,更低的内存使用量以及更快的启动时间(某些I / O设备接口需要自己进行迷你启动,并且OS必须参与其中,尽管通常时间范围太短而无法注意到)。
我希望两者都能填补上述信息中的一些空白,并弄清我自己的知识方面的空白。
[1] http://www.advantagesix.co.uk/about_us.html (内存中的其他示例不再在线提供。)