rtlinux 的配置和测试

       rtlinux顾名思义,就是realtime linux操作系统。行业内比较有名的实时操作系统有:VxWorks,uC/OS-II,QNX等。我们可以先了解一下实时操作系统的定义。

实时操作系统:

实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系 统作出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求 在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改 变之后就可以变成实时操作系统。

      其实linux系统是非实时操作系统,在很多高精度的场合上linux的实时性就尤为重要了,比如在车载linux系统上需要在毫秒级或者更短的时间获取串口的数据。不过可以通过修改,使linux系统变成Rtlinux,linux社区有针对于此修改的patch。

配置

RTlinux 的patch  https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/ 然后下载版本一致的patch。

比如我这里的linux系统是4.14.34

下载后解压 并打上patch  : patch -p1 < ../patch-4.14.34-rt27.patch

然后再make menuconfig

选中Fully Preemptible Kernel(RT)

编译,即可使用了。

测试

使用cyclictest 程序来进行实时性的测试

使用的cmd:apt-get source rt-tests(ps:apt-get source可以获取源码,若是install既可以直接安装)

获取源码当然也可以通过github上去获取,总之能够获取使用就行了。

tar xzvf rt-tests_0.87.orig.tar.gz

cd rt-tests-0.87/

然后vim Makefile (修改安装的目录和指定交叉编译工具链)默认是安装到本地的linux系统上的

make

会生成 cyclictest 可执行的镜像程序,把它放在开发板。

测试如下:cmd:    ./cyclictest -p 80 -t5 -n(运行5个线程,线程优先级为80,无线循环)

运行其中的cyclictest测试工具,默认创建5个SCHED_FIFO策略的realtime线程

不加rtlinux的patch

 

加了rtlinux的patch

以上数字的单位都是微秒,可见加了实时rtlinux  patch的实时性确实提高了

关于cyclictest 可参考以下网页(友情链接):

https://blog.csdn.net/kl1125290220/article/details/78560220

https://blog.csdn.net/longerzone/article/details/16897655

 

  • 1
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值