我正面临一个设计“问题”。我有一个包含Xilinx Zynq Soc的主板,包括双核ARM9,我需要开发一个应用程序来支持实时属性控制应用程序(响应时间的最后期限)以及应用程序来执行繁重的处理(图像等)和一些基本的它们之间的通信,但最重要的是我需要能够控制Linux部分(至少例如以某种方式暂停它,“暂停它”在最好的情况下有可能关闭它然后再次运行它)。所以我想知道如何结合它。
其中一个选项,可能是RTLinux,至少在描述中,我发现提供了将它作为一个线程运行在它旁边的实时内核和linux内核的可能性,但它似乎现在由WindRiver专有。
然后我加强了MicroBlaze,可以在可编程逻辑上“创建”软处理器,但我不确定我是否可以在ARM和Linux上运行RTOS?
有两件事似乎被称为rtlinux。你提到的那个,风河复兴的MERT系统是该公司的产品。另一个看似“RT Linux”,是主线内核的实时补丁,提供确定性调度和细粒度内核抢占。
我认为这是你想要的后者。 10s的谷歌表明这个SoC有一个kconfig目标,所以你需要的所有部分应该在那里。
请记住,实时系统不仅仅是实时的能力;子系统也必须表现良好。
根据您的描述,您(至少)有以下设计选项:
不幸的是,您的特定SoC不支持ARM的虚拟化扩展。否则会出现多操作系统方法的附加选项:在一个ARM内核上运行Linux操作系统,在另一个ARM内核上运行实时代码(裸机或使用像ERIKA Enterprise这样的RTOS),通过像Jailhouse这样的虚拟机管理程序或者Xen。