升级Linux为RTLinux

为了满足实时需求,我们在SDK源码的内核基础上升级Linux到RTLinux。

下载RTlinux固件

我们提供了rtlinux固件下载:rtlinux Ubuntu固件(64位)

(有反馈说在使用hdmi测试实时性能,最达延时有超过200us的现象。 为此我们重新优化了内核,修复了使用hdmi出现高延迟现象,并提升实时性能。)

测试实时效果

测试实时性能需要编译cyclictest。

#下载rt_tests源码
git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
#切换分支:
git checkout origin/stable/v1.0

然后在源码的Makefile中增加的交叉编译工具路径,根据自己源码包修改。如:

export CC=/home/dengkx/project/rk356x/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc

然后执行make命令,生成cyclictest

测试RTLinux的实时效果

拷贝cyclictest到板子上,执行以下命令对20个线程进行实时测试。

sudo ./cyclictest -t 20 -p 99 -n #加上-a 实时效果会更好

以下的的截图是在minimalubuntu的cpu满压力下测得的结果,T:0 序号为0的线程;P:99 线程优先级为99 ;C: 9397 计数器。线程的时间间隔每达到一次,计数器加1;I: 1000 时间间隔为1000微秒(us) ;Min: 最小延时(us);Act: 最近一次的延时(us);Avg:平均延时(us);Max: 最大延时(us)。

_images/RK3568_RTLinux_text.png