我想在指定负载下使用延迟测试来测试 Xenomai 功能,但是当我尝试执行该命令时,出现了以下错误。
# ./latency -p 100
sh: ./latency command not found
该系统是用Buildroot构建的。在/proc/xenomai 文件夹中,版本文件包含:
$ cat /proc/xenomai/version
2.6.4
以下是我用于构建系统的配置文件的相关部分:
-- Target Packages
-- Real Time
-- Xenomai Userspace
(2.6.4) Custom Xenomai version
[*] Install testsuite
[ ] RtCan utilities
[*] Analogy libs and utils
[*] Native skin library
[*] POSIX skin library
[ ] VX-Works skin library
[ ] PSOS skin library
[ ] RTAI skin library
[ ] uiTron skin library
[ ] VRTX skin library
此配置文件是否正确?在哪里可以找到Xenomai提供的所有测试程序?
编辑
USR/中没有Xenomai文件夹。我在/usr/bin 中注意到以下程序:
# ls /usr/bin | grep xeno
xeno-regression-test
xeno-test-run
xeno-test-run-wrapper
如何使用此文件?
唯一名为 xenomai 的文件夹是/proc 中的文件夹
# ls /proc/xenomai
acct apc faults heap interfaces/ irq latency registry/
rtdm/ sched schedclasses/ stat timebases timer timerstat/
version
# cd /proc/xenomai
# ./latency -p 100
sh: /latency: Permission denied
# sudo ./latency -p 100
sudo: ./latency: command not found
编辑2
输出/目标/usr/bin 的内容不包含延迟程序:
userk@dopamine:~/Development/Linux/RaspberryPi/buildroot-2013.11-Copy2015/output/target/usr/bin$ l | grep latency
userk@dopamine:~/Development/Linux/RaspberryPi/buildroot-2013.11-Copy2015/output/target/usr/bin$
嗯,
# ./latency -p 100
sh: ./latency command not found
在这里,您尝试运行延迟,位于您所在的目录中。(我猜你站在/root 中)。
尝试跑步
# latency -p 100
看看是否有帮助。
为了帮助您,我使用如下所示的Xenomai配置进行了测试构建:
[*] Xenomai Userspace │ │
│ │ () Custom Xenomai version │ │
│ │ [*] Install testsuite │ │
│ │ [ ] RTCan utilities │ │
│ │ [ ] Analogy libs and utils │ │
│ │ [*] Native skin library │ │
│ │ [*] POSIX skin library │ │
│ │ [ ] VX-Works skin library │ │
│ │ [ ] PSOS skin library │ │
│ │ [ ] RTAI skin library │ │
│ │ [ ] uiTron skin library │ │
│ │ [ ] VRTX skin library
这会在输出/目标/usr/bin/延迟中放置延迟。(即它位于目标上的/usr/bin/latency 中)。
这是树莓派的可能解决方法。源
wget http://download.gna.org/xenomai/stable/xenomai-2.6.4.tar.bz2
tar xjf xenomai-2.6.4.tar.bz2
cd xenomai-2.6.4
## Here you should invoke the script to prepare the kernel with the adeos patch but since I'm using Buildroot we can jump this step
mkdir raspPI
PATH=$PATH:insert_the_cross_compiler_path_here
./configure --host=arm-linux CFLAGS='-march=armv6' LDFLAGS='-march=armv6'
make
make DESTDIR=$(pwd)/raspPI install
cd raspPI/
raspPI$ tar cjf xenomai-rpi.tar.bz2 usr/xenomai/bin/ usr/xenomai/sbin/ usr/xenomai/lib/
最后,使用 ssh 将压缩的存档复制到树莓派并解压缩它。
SCP Xenomai-RPI.tar.bz2 root@IP_Address_of_the_RPi:/
存档将被复制到根目录中。从树莓派,解压缩 xenomai-rpi.tar.bz2 到文件系统的根
目录tar -xvjf xenomai-rpi.tar.bz2
ls usr/xenomai/bin/
arith cmd_write insn_bits latency rtcansend wf_generate xeno-test
check-vdso cond-torture-native insn_read mutex-torture-native rtdm wrap-link.sh xeno-test-run
clocktest cond-torture-posix insn_write mutex-torture-posix sched-tp xeno xeno-test-run-wrapper
cmd_bits cyclictest irqloop regression switchtest xeno-config
cmd_read dohell klatency rtcanrecv wakeup-time xeno-regression-test
或者您可以手动执行此操作:
CD/usr/xenomairaspPI/usr/xenomai$ scp bin/* root@ip_address:/usr/binraspPI/usr/xenomai$ scp sbin/* root@ip_address:/usr/sbinraspPI/usr/xenomai$ scp lib/* root@ip_address:/usr/lib
您现在拥有测试Xenomai实时功能的所有模块!