rtlinux 的配置和测试

2019-07-12 22:52发布

       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