cyclictest交叉编译与测试

1、获取rt-test源码

新建一个文件夹,用于存放cyclitest,在该文件夹下打开终端,输入命令:

git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git

下载完成,即可发现文件夹中多了一个rt-tests的文件夹。

cyclictest交叉编译与测试_第1张图片

进入该文件夹,切换分支:

cd rt-tests
git checkout stable/v1.0

2、交叉编译cyclitest

修改Makefile,将CC与AR改为自己的交叉编译器路径:

cyclictest交叉编译与测试_第2张图片

注:如果你已经在/etc/profile等文件中配置好了环境变量,可直接写:

CC=arm-linux-gnueabihf-gcc

AR=arm-linux-gnueabihf-ar

然后,在该文件夹下打开终端,输入命令:

make

编译完成后,刷新文件夹,可发现编译生成的cyclitest等工具。

cyclictest交叉编译与测试_第3张图片

3、实时性测试

将cyclitest下载到板子上运行,若权限不够,先修改权限,以免不能运行:

chmod 777 cyclictest

执行命令:

/xxx/cyclictest -t 5 -p 80 -n  # 运行五个线程,线程优先级为80,无限循环

显示:

cyclictest交叉编译与测试_第4张图片

图中运行参数注释:

T: 0——序号为0的线程

P: 80 ——线程优先级为80

C: 15267 ——计数器,线程的时间间隔每达到一次,计数器加1

I: 1000 ——时间间隔为1000微秒(us)

Min: 7——最小延时7(us)

Act: 10——最近一次的延时(us)

Avg:10——平均延时(us)

Max:52—— 最大延时(us)

参考资料:

实时性测试:cyclictest详解 - 知乎延时的概念:不论系统运行在任何代码路径,当事件发生时,系统响应该事件的时间即为延时。 延时在不同的上下文有不同的含义,而cyclictest所测得的延时是中断延时加调度延时,如下图。中断延时(interrupt latency)…https://zhuanlan.zhihu.com/p/336381111编译RT-tests进行Linux实时性测试_艾玛-CSDN博客_linux实时性测试前言:虽然自己搞Linux内核已经有一段时间,但是对于一些应用层面的东西反而认识不够。最近也突然兴起,想了解下Andorid下的游戏外挂和内存修改原理。在网上摸索了一段时间后,了解相关概念后便动手写了一个Linux内存修改器。来实现对一个进程的变量进行修改。关键字:ptrace 、/proc/%pid/memhttps://blog.csdn.net/kl1125290220/article/details/78560220实时Linux内核(PREEMPT_RT)的编译安装以及测试_v6543210的专栏-CSDN博客_preempt_rt​1.什么是实时性操作系统?https://blog.csdn.net/ywx123_/article/details/53861274实时性是指调度的时候,任务响应时间。windows一般是15ms,最大的问题是不能保证。比如平均值是1ms,但是随着系统负载的变化,有时甚至达到100ms,在这工业上是无法使用的。工业上一些应用要求必须有更高的时间精度,比如,一个电力监测系统必须在10ms内运行一次任务对电力运行状况进行监测,一旦时间不准,调度不到该程序运行,则无法保证对电力故障的及时https://blog.csdn.net/v6543210/article/details/80941906

你可能感兴趣的:(linux,git,github,linux,ubuntu)