2

我想为 8051 制作一个 RTOS,并且非常困惑在 8051 中制作一个操作系统应该遵循什么最低要求,因为在 RAM 和 ROM 的情况下 8051 的资源非常有限。这只是分配类型的问题,但我真的很困惑,因为我们为 8051 制作软件,它们不是操作系统吗?哪些功能将微控制器的正常常规编码与 RTOS 区分开来?请帮忙谢谢

4

2 回答 2

4

典型的 RTOS 至少提供以下功能:

  • 确定性任务调度
  • 任务同步机制
  • 进程间通信机制
  • 定时器服务

RTOS 调度程序通常基于优先级和抢占式 - 准备运行的最高优先级任务将运行,而不管低优先级任务的状态如何。

Jack Ganssle 在 TechOnline 上有一个关于 RTOS 基础的演讲,可能对您有用。它由 Micrium 赞助并使用 uC/OS-II 作为案例研究,但它普遍适用于大部分。

特别是 8051 能够特别高效地切换任务上下文,因为它具有多个寄存器组,可通过单个指令进行切换。

于 2013-01-31T23:44:18.603 回答
1

RTOS的功能很大程度上取决于它以确定性和及时的方式执行特定工作负载的能力。这些通常包括线程、同步操作和具有专门算法的调度程序,该算法旨在以确定的方式执行线程。

在 8051 中实现这一点将是一项艰巨的任务(由于处理器的硬件架构,甚至可能是不可能的)。此类 uC 上更常见的方法是使用循环执行程序和中断处理程序的优先级嵌套来强制执行优先级。您可以将这种方法视为某种 RTOS。

于 2013-01-31T18:23:23.850 回答