随想录(rt-patch和linux)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/feixiaoxing/article/details/85145577

【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

    因为linux本身不是rtos系统,所以用linux来完成一些对实时性有要求的工作,这本身就是很复杂的一项工作。但是,后来开源社区为linux提供了rt-patch,在很大程度上改善了linux的实时性。只是这个patch修改内容较多,不过最主要的部分还是集中在自选锁互斥化、中断线程化和修正优先级翻转的问题上面。

1、常用的rt-patch地址如下所示

https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/

2、给kernel打上patch,配置rt-linux然后编译

patch -p1 < *.patch

如果需要对kernel配置,基本上配置好“Fully Preemptible Kernel”即可

编译方法和一般的kernel编译是一样的

3、注意事项

基本上使用rt-patch的时候,需要将kernel中所有的DEBUG信息全部关掉

4、目前使用rt-patch的项目

商业上目前使用rt-patch的项目据我所知只限于百度的apollo,链接地址如下

https://github.com/ApolloAuto/apollo-kernel/tree/master/linux

5、风险和优势

rt-patch最大的风险,就是需要了解目前自身项目团队中是否有人精通kernel,是否可以解决产品压力测试出现的和rt-patch相关的所有问题

优势就是成本低

6、推荐方案

多准备开发板进行压力测试,总结测试中发现的各种问题,优先修改上层代码、其次是驱动代码、最后才是内核核心代码

猜你喜欢

转载自blog.csdn.net/feixiaoxing/article/details/85145577