【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】
因为linux本身不是rtos系统,所以用linux来完成一些对实时性有要求的工作,这本身就是很复杂的一项工作。但是,后来开源社区为linux提供了rt-patch,在很大程度上改善了linux的实时性。只是这个patch修改内容较多,不过最主要的部分还是集中在自选锁互斥化、中断线程化和修正优先级翻转的问题上面。
1、常用的rt-patch地址如下所示
2、给kernel打上patch,配置rt-linux然后编译
patch -p1 < *.patch
如果需要对kernel配置,基本上配置好“Fully Preemptible Kernel”即可
编译方法和一般的kernel编译是一样的
3、注意事项
基本上使用rt-patch的时候,需要将kernel中所有的DEBUG信息全部关掉
4、目前使用rt-patch的项目
商业上目前使用rt-patch的项目据我所知只限于百度的apollo,链接地址如下
5、风险和优势
rt-patch最大的风险,就是需要了解目前自身项目团队中是否有人精通kernel,是否可以解决产品压力测试出现的和rt-patch相关的所有问题
优势就是成本低
6、推荐方案
多准备开发板进行压力测试,总结测试中发现的各种问题,优先修改上层代码、其次是驱动代码、最后才是内核核心代码