我必须设置 RTLinux 并运行实时 ST 语言解释器。官方 RTLinux 已被废弃,其官方下载站点也无法使用。我决定使用社区 RT_PREEMPT 补丁。如何配置才能达到最准确的计时?
我目前在 NP-R540-JS01PL 笔记本上使用 Debian Wheezy。我下载了3.18.9内核和3.18.9-rt5补丁。我将 /boot/.config 复制到 Wiki 上提到的源目录,并将抢占模式更改为完全抢占内核。我还需要更改哪些其他选项?
当我用打过补丁的内核替换旧的 Debian 内核时,我能得到准确的结果吗?请注意,我正在使用 XFCE 桌面环境运行完整的 Debian Wheezy。
另一种选择是创建一个仅包含修补内核和基本命令行工具的单独 Linux 发行版。驱动程序和内核模块怎么样?我的 CPU 有虚拟化支持。如果我在 Win7 或 Debian Squeezy 上的 VirtualBox 上设置 RTLinux,虚拟化 RTLinux 仍然会实时运行吗?
请注意,ST 语言解释器将与另一个应用程序或服务进行通信,这些应用程序或服务会将 ST 代码加载到机器中、读/写内存、闪烁 LED、设置时间、参数等。
答案1
我已经多次编译了抢占式 Linux 内核,恕我直言,您最好尝试编译旧版本的内核,例如 3.4,而不是 3.18。
话虽这么说,你走在正确的轨道上。您需要下载内核和补丁。修补下载的内核,设置所需的设置,编译并安装。详细设置和操作方法可在此页面上找到:http://www.osadl.org/Realtime-Preempt-Kernel.kernel-rt.0.html。如果一切顺利,您可以重新启动进入实时内核。您不能只是手动将内核替换为实时内核。
最后,虽然我没有尝试在虚拟机中运行抢占内核,但恕我直言,它最终不会成为一个硬实时系统,因为如果与外部应用程序的通信是通过主机操作系统,那么主机操作系统优先级会影响整个系统的性能。