EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Tronlong123 于 2024-7-21 17:29 编辑
# \/ U# q, w- v- q- a1 m: Y- ~; Y9 V7 H( z( g6 t
前 言 w6 D5 f* b+ p
本文档主要演示NXP i.MX 8M Mini工业开发板基于IgH EtherCAT控制伺服电机。
' `& b' E$ v5 C6 d9 F 演示板卡是创龙科技的TLIMX8-EVM工业开发板,它是基于NXP i.MX 8M Mini的四核ARM Cortex-A53 + 单核ARM Cortex-M4异构多核处理器设计的高性能评估板,由核心板和评估底板组成。ARM Cortex-A53(64-bit)主处理单元主频高达1.6GHz,ARM Cortex-M4实时处理单元主频高达400MHz。处理器采用14nm最新工艺,支持1080P60 H.264视频硬件编解码、1080P60 H.265视频硬件解码、GPU图形加速器。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。; f- {# f/ ~- h; ?6 Q
评估板接口资源丰富,引出MIPI CAMERA、MIPI/LVDS LCD、HDMI OUT、LINE IN/OUT、PCIe、FlexSPI、USB、RS485、RS232、千兆网口、百兆网口等接口,板载WIFI模块,支持Mini-PCIe 4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。
! q' K( N+ F$ p: P 本文档适用开发环境:5 r" P0 s* f/ H4 E: F
(1) Windows开发环境:Windows 7 64bit、Windows 10 64bit
" ^) Z5 S1 H& T. Q2 b6 A (2) Linux开发环境:Ubuntu 18.04.4 64bit
$ Y5 q, S1 l5 T3 o3 c( N (3) 虚拟机:VMware15.1.0 H& H) y$ Y9 H( B
(4) Linux SDK:5.4.70_2.3.0
: Q' J% r0 N, p2 M3 W0 L" d4 g% X! ] (5) Kernel:linux-5.4.70-xenomai-g8d94618-v1.00 F# z. G0 S q8 l. W
(6) IgH EtherCAT:ethercat-stable-1.5-gcd0d17d-20210723. T( M2 B5 L4 g0 K& @# H
(7) Xenomai:xenomai-v3.1.1-g8b2052e, E2 T6 r* i+ ~
(8) 伺服驱动器:台达ASD-A2-0121-E
. y) O4 y) `4 q (9) 伺服电机:台达ECMA-C10401GS5 h B) D/ w2 J0 H" Q4 H
我司提供的IgH EtherCAT主站开发案例位于产品资料“4-软件资料\Demo\igh_ethercat_dc_motor\”目录下,主要包含igh_ethercat、kernel-xenomai、xenomai等文件夹,具体说明如下。1 g6 w4 R' h' |5 v4 l; Q
表 1 1 IgH EtherCAT简介 IgH EtherCAT为运行于Linux系统的免费开源EtherCAT主站程序,框架如下所示,官方文档:https://www.etherlab.org/download/ethercat/ethercat-1.5.2.pdf。
- ]9 S" U/ ? G2 Z % E' R3 h& K$ ?
* y3 x% J# z3 V, Y IgH EtherCAT主站通过构建Linux字符设备,应用程序通过对字符设备的访问实现与EtherCAT主站模块的通信。 IgH EtherCAT开发包提供EtherCAT工具,该工具提供各种可在Linux用户层运行的命令,可直接实现对从站的访问和设置,如设置从站地址、显示总线配置、显示PDO数据、读写SDO参数等。
: z4 n7 J' z, L4 a% `9 h- Q/ [# p IgH EtherCAT官网:https://www.etherlab.org/en/ethercat。# Q4 u. A' J& S9 q
2 案例说明 案例功能:控制伺服电机正转和反转。
9 m% A6 d( B3 V4 s( H- W' \( P7 ?) S (1) 正转:伺服电机目标速度从0加速到10000,当达到10000速度后,控制伺服电机减速至0,循环运行。
% T* F- ~: _9 T/ R (2) 反转:伺服电机目标速度从0加速到-10000,当达到-10000速度后,控制伺服电机减速至0,循环运行。
0 ^# E) ?3 A4 t1 Q+ }. w1 K8 ]$ } : L5 y5 @4 g$ @4 f9 B* J* V
7 ?; C# v: ^1 U! s7 G" b 为便于测试,我司提供已验证的基于Xenomai编译生成的内核镜像文件和设备树镜像文件,位于案例"igh_ethercat_dc_motor\kernel-xenomai\images\linux-5.4.70-xenomai-g8d94618-v1.0\"目录下,请替换至Linux系统启动卡BOOT分区下。同时将linux-5.4.70-xenomai-g8d94618-v1.0目录下的module驱动压缩包5.4.70-g8d94618.tar.gz,解压至Linux系统启动卡rootfs分区"lib/modules/"目录下。
! U* l' E# J0 b6 F7 k+ V! i 备注:如需使用由内核源码重新编译生成的内核镜像文件、设备树文件和modules驱动,请参考Linux系统使用手册将编译的module驱动安装至Linux系统启动卡中,默认安装后module驱动目录为5.4.70。, ~3 f+ T/ e) N/ _/ T
A- r, Z- ]/ V3 Y; v( H
T8 N0 I9 l6 u1 ?) R 3 案例测试 请按下图所示使用网线连接评估板RGMII ETH网口和伺服驱动器A的IN网口,将伺服驱动器A的OUT网口使用网线连接至伺服驱动器B的IN网口。, R; X: @! E" J( E% D3 v" D
![]()
& _. M, S/ Z% Q/ d( P4 R# a0 O3 ?) i, k0 c. M) a* ?
; t c+ n" w1 k: O* l- R ![]()
$ G) S( s* L4 `/ @1 _4 K7 q9 }6 Y, ], A
9 B2 e# ?1 q" C
为便于测试,我司提供的经验证的IgH EtherCAT主站程序为案例"igh_ethercat_dc_motor\igh_ethercat\images\ethercat-stable-1.5-gcd0d17d-20210723\"目录下的ethercat-stable-1.5-gcd0d17d-20210723.tar.gz压缩包,在Ubuntu下解压即可得到IgH EtherCAT主站程序文件夹。
1 B* [- o4 C/ }6 T' k( G+ Y6 O 将IgH EtherCAT主站程序文件夹整个拷贝至评估板文件系统,执行如下命令查询评估板网卡物理地址。本次测试将IgH EtherCAT主站程序文件夹命名为__install。
9 z+ Z* r- h c5 i A/ t+ s* F5 G% q Target# ifconfig9 c# d3 |' S/ h* d
* L, a, g$ j6 n( U1 f, \
! K/ [8 ?" S9 Z1 {+ ?+ U; \0 r
# p+ f0 O% H; ] 执行如下命令,加载驱动模块。6 U& [' V0 ~3 w+ N5 u
Target# insmod /home/root/EtherCAT/__install/modules/ec_master.ko main_devices=ce:bb:9d:3b:d3:6b
& I' w% \7 q1 ~! D: p U ![]()
2 L+ ]& H+ o3 X; A4 U/ S. G+ ~
$ u- A1 h) q1 B5 S( K- T
" P9 S2 n0 o/ c0 C3 M& R ~
执行如下命令,拷贝EtherCAT主站相关文件至评估板文件系统。! y. O" Z# u' V: ~4 V7 E. N/ O& r
Target# cp /home/root/EtherCAT/__install/etc/sysconfig/ethercat /etc/sysconfig" g' ]0 V" ?2 w0 C; J N
Target# cp /home/root/EtherCAT/__install/modules/ec_master.ko /lib/modules/5.4.70-g8d94618 //模块驱动名称可通过"uname -r"查看9 m% Q" n$ U0 u# u& w
Target# depmod //同步模块依赖关系1 [' w% Q8 q2 E _- s% _* v
5 @" q8 O" N4 f5 B9 H2 P1 V
& v# E9 H& X# L0 a8 {+ S2 V O
) a* d" v5 r+ J9 D3 i X 执行如下命令,启动EtherCAT主站。" s, _& c5 m9 E# K. q
Target# /home/root/EtherCAT/__install/etc/init.d/ethercat start; w2 X- ?) A) U" e1 n( y2 s, l5 [
! l$ X1 H/ G! l) ]; C3 D! [" p
2 V$ _- q5 k$ N' j+ T
% C# H3 u, w/ m3 x" K
执行如下命令,加载ec_generic.ko驱动文件。5 e- g; @8 P. J- g M b
Target# insmod /home/root/EtherCAT/__install/modules/ec_generic.ko! r8 R) h, p5 e" g
5 q0 V# F& O6 D6 ~3 K9 r' y
% D% M8 N0 m( _7 S' y) m
2 d8 _* x; ^/ h& w0 ~- \( n 执行如下命令,添加IgH动态链接库路径。1 b: K) O+ g0 E3 O! x! s
Target# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/root/EtherCAT/__install/lib. _0 F% E K: _5 r i1 a
v ![]()
: v" @# s- n8 o* q8 k: \
; C: B; P( E: n; B v, t
i. ]3 z: F- ~1 s, \7 R
将案例igh_ethercat_dc_motor可执行文件拷贝至评估板文件系统,执行如下命令查看参数信息。 N# J8 y9 h5 m2 I( z. M2 g
Target# ./igh_ethercat_dc_motor --help
" H8 U) z( ~) @# c" D % w5 r3 O8 S, G; J# Q3 Y
9 i' j6 Y6 G; M' s a, R/ F9 _: V! z2 ^3 v
2 w/ J3 ?( Y* [6 ]4 K# ` 执行如下命令,控制两台伺服电机同时正转。' G- f a' E* s' S5 V
Target# ./igh_ethercat_dc_motor -d 0! N& D1 s9 V8 W5 F7 _, p5 I
![]()
8 r h) Q" W% g7 U
; t; U7 l6 F0 V" N0 Q$ |3 J
3 P0 H' C( ]4 w# r. Q
/ d5 I6 C7 u4 {3 D. D& m5 ]+ t
- _3 E" z/ F7 @5 F
( p9 m; d" ^# N2 v! t# L6 N. O
按下"Ctrl + C",停止运行程序。
7 S3 u5 b% u3 a0 L / E$ [0 X3 ~1 O9 h. S* k
3 @% B* g+ @% e
执行如下命令,控制两台伺服电机同时反转。
( _( u5 l$ T7 e Target# ./igh_ethercat_dc_motor -d 1+ f* q% g2 S0 G% }
6 q" v) B8 S+ O1 ?; l% H) X" c' n7 \
( F! Z u) T8 @2 g( ]0 O
! J S# @& Y+ |" ?1 X/ U: G
![]()
8 I! q5 h& e, {$ r! Y0 |0 N
% X6 H) U2 M/ y6 g& U$ }0 U
* ~7 t3 M! R/ r
按下"Ctrl + C",停止运行程序。" Y* b* D {/ [& K2 v! y' l, T* d
![]()
4 W K! _5 S- w. u+ z; B( a/ y3 a+ h
2 G, f) y) R- P. Z+ |$ v
, o: x$ R. h1 \0 ]1 A4 H4 T6 J
参数解析:
7 b. N- i2 c% Z X/ E# |! f (1) latency:等待唤醒时间(ns)。
# _2 Z! y7 L) h5 l: ~ (2) period:EtherCAT通讯周期时间(ns)。
U$ _& C0 X- U0 W2 \2 @# Z8 B2 |: S* h (3) exec:接收和发送EtherCAT数据时间(ns)。: C/ L9 Q* m; x9 o
备注说明:% a0 c& U# `4 ?7 v" P
(1) 使用评估板千兆网口测试时,需设置EtherCAT通讯周期时间为1.1ms,即将igh_ethercat_dc_motor.c中的FREQUENCY配置为900(如下图所示)。如设置EtherCAT通讯周期时间为1ms时,会出现数据丢失的问题,原因在于IMX8官方千兆网口驱动兼容性不够完善,NXP官方正计划修复此问题。8 c Z# S0 c) o0 M5 S8 Y
# H0 A7 |* D6 C/ R) F. u; c1 ~
7 v* {6 |, Y: D, t3 K
' m: I% e* }. z5 \; I6 _: f (2) 使用评估板USB2 ETH百兆网口,设置EtherCAT通讯周期为1ms测试正常。
# [9 h% ? f" X (3) 为获得更高的实时性能,亦可通过PCIe接口外扩IgH EtherCAT专用集成网卡进行测试,IgH EtherCAT支持外扩集成网卡如下所示。1 i, L M7 }8 b% f/ m
![]()
7 J3 Q1 ]/ J: g) E! U) k( U7 J' k& d T
4 案例编译 4.1 IgH EtherCAT主站程序编译
+ d' D! g0 l- Z IgH EtherCAT主站程序的编译需依赖于基于Xemomai生成的内核,请参考Linux系统使用手册将案例"igh_ethercat_dc_motor\kernel-xenomai\src\"目录下的linux-5.4.70-xenomai-g8d94618-v1.0内核源码进行编译后,再编译IgH EtherCAT主站程序。: c9 M. K2 A" b' [) X* S- _; b
请将案例"igh_ethercat_dc_motor\igh_ethercat\src\"目录下的IgH EtherCAT主站程序开发包ethercat-stable-1.5-gcd0d17d-20210723.tar.gz拷贝至Ubuntu工作目录,执行如下命令进行解压。
7 Z4 G3 r/ t+ |5 [! i/ r Host# mkdir EtherCAT. z1 N7 ]% v9 b1 g
Host# tar -xvf ethercat-stable-1.5-gcd0d17d-20210723.tar.gz -C EtherCAT/" P. ?4 z- V) D m7 n5 ?. L0 Y& m; \
![]()
7 j1 \; l; |9 a. x# ^
4 L. Z1 P V; U# `5 b5 B/ ^6 U7 B
$ Y/ g0 m- h/ c: E6 y: x6 M/ H' \ 进入解压目录,执行如下命令生成configure文件。. t, T7 z' c0 C
Host# ./bootstrap( l9 T7 {9 n0 y) J5 v& h
![]()
% o& l7 q! v$ m$ ^- J
/ ^" {4 i& m" N9 Y0 ~7 ?. U
0 k* u6 J3 M5 B$ G5 Z 执行如下命令,加载SDK环境变量并进行配置。2 f8 o1 A8 k. l5 @
Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux
- @, L# x$ D1 S6 J. R Host# mkdir __install //创建__install文件夹用于存放生成的文件7 ~ u. w& ?7 J Z
Host# ./configure --prefix=/home/tronlong/EtherCAT/__install --with-linux-dir=/home/tronlong/kernel-xenomai/ --enable-8139too=no --enable-generic=yes --host=aarch64-poky-linux$ J8 @! T+ a; A! x/ N
备注:"/home/tronlong/kernel-xenomai/"为案例提供的内核源码目录。
( a6 k7 u( a' ?( O8 @# r . G! f+ w- s& |3 }
) t8 Q6 G! H0 B
2 [ {) h+ T% j S: [1 g * `9 W% w- s) r/ w. p
% ?5 |( K9 r% m' W! p# v
9 e9 i9 T7 J |5 B
执行如下命令,进行编译。: R3 c$ p& v3 A4 k0 f8 ?6 c" v+ @
Host# make
, l; F# Q5 n) P' ?" G6 T ! q$ _( W A! _. P. p3 z1 K* X1 a
% n4 i" `! q, V$ ^3 A. X2 j( X- w
( r A; k+ z. a! |! v
- Q; x" T8 e! ]
$ t$ S) [- q3 S9 C9 H! W" M! C, M8 p3 b
( g4 @/ V( j7 S. y5 K& `' j
执行如下命令,编译驱动。
: U/ H$ y6 z3 p8 ^) x8 b Host# make modules
! l3 f, h2 l% \5 J+ @ ? - q) {6 g8 V# S/ N I
9 m8 U6 d$ x& ~9 M& D- \$ ~: m
: }* v1 D5 L/ F: F8 D/ I& `
![]()
# X, }6 m) V" S4 K& l. k' ?$ n& T" s, y& B5 R
1 X# o/ i) r0 d. o 执行如下命令,将生成的IgH EtherCAT主站程序安装至指定路径下。
2 ?- z) m) v9 E: O Host# make install systemdsystemunitdir=/home/tronlong/EtherCAT/__install: J' ^ I* g4 S i
; @2 Y! ~7 m: n8 m' ^* q
5 F& `; P: @* Y% l " _: Q3 y- t0 H2 W6 m+ ~! O. E
: b k2 m- r9 B4 A5 P2 G
执行如下命令,将驱动文件拷贝至"__install/modules/"目录下。
/ R6 v W8 `" g: f Host# mkdir -p __install/modules
; Q; f L, m8 c9 { P5 t. W0 s Host# cp ./master/ec_master.ko ./__install/modules/$ @" n" i9 X3 b; `
Host# cp ./devices/ec_generic.ko ./__install/modules/
# s6 I- ]+ w0 F1 A& O7 O % L7 \- J5 W8 K5 H* a! o: o) S( `
' T8 R7 f S( l
" V% {% m2 v1 g7 S 4.2 igh_ethercat_dc_motor案例编译4 z v1 G+ z# U
igh_ethercat_dc_motor案例的编译需基于IgH EtherCAT主站程序,请先编译IgH EtherCAT主站程序。
% n+ e4 z9 e! q& o) l 请将案例"igh_ethercat_dc_motor\src\"目录拷贝至Ubuntu工作目录下,进入src目录执行如下命令修改Makefile相关内容为IgH EtherCAT主站程序对应目录。
1 x# Y* s, F8 }% e7 c Host# vi Makefile
1 d' f6 ?* ]2 W; x3 W. g ![]()
+ ]) n# Q. ~6 K: v9 G
. d2 X0 H! [# g0 D8 u: Q
# g. g) c! {* w0 b/ m& V ![]()
8 q) H! {: U I+ t
- l: x8 h' W8 D) X: c* q6 v
% h& h2 c9 A1 i+ P- W 然后执行如下命令,加载SDK环境变量并进行编译。编译完成后,将在当前目录下生成可执行文件。
. k! A. A$ |/ W. Y% ]# x% B Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux' ^1 s% T% [7 ?- a2 e" x% k
Host# make( A) u: s3 D/ o& O% u+ u; l
& W4 u3 e. M3 }- E( ^, h5 B6 ?
5 y0 N4 F8 l% O& r
) ~& J7 f7 c9 C5 i 5 关键代码 (1) 创建EtherCAT Master。
4 Y( v2 d% `. X# v! ~( W; G ![]()
4 t) P% V+ T3 F' e% S8 p4 n! V7 U4 X2 s' V( K% U# M; Q; ?
( a7 ]$ o4 f* w4 q4 L( U }
(2) 创建域。1 K( R! f* A: `: [/ K* f
![]()
: |: S- G( F$ k) N& O# o2 A, j' R, ?+ D
`& E+ n; f" Q$ {. x2 d, X
(3) 配置PDO。 1 R2 x, E, l3 Q, s
![]()
$ r0 Y! D$ A4 P, c; k6 V x7 N! w1 K. e5 _1 S) {& ]3 T7 o
, E9 W3 R2 F/ p% L& Y- m (4) 为域注册PDO条目。
6 v9 u/ m ^8 P: j8 c( H! f' v ![]()
( U$ p& @. @ s; c: Q+ U: {8 f& f: X$ b0 p& R, [9 t
(5) 激活Master。
0 B6 x( |, J$ A' b2 N/ S4 _ ![]()
' w8 Q d6 W& }& {( r. ]7 I; ^
. {( {; @% N- X
1 V' a. X6 ]7 ~4 F& Y (6) 修改当前进程优先级。
4 }- B" h9 Y+ A5 }- L ![]()
9 A Z% P% Y( y9 P2 W0 N- c# j4 A6 g3 _3 B; @3 W
6 {3 l' f' r- L
(7) 进入循环周期任务。: h. r: B, o, ~& n) K
![]()
' n5 n2 ~& k) H9 H6 C
) ^+ Y, h3 o3 P7 k3 x( o- ~2 k
+ C, j* h/ B$ t. T9 L( ]
(8) 在周期任务中设置驱动器操作模式、加速度和减速度,分别发送0x6、0x7、0xF使驱动器处于ON状态。
_. g. ]; e1 O% ~7 x* K- [ 0 d1 X/ q, b$ |; p3 @" {
' V! j. I# \3 c
. X$ R# [! O8 W2 V# L/ P" [
(9) 发送目标速度,转动电机。 ' |8 m2 k6 Q" e. m: n* M; I8 s- k! H4 s
% }; g" l; X+ d- r9 x y5 z
1 R. j3 w$ n0 O% h" V4 ?/ r
9 s$ _( |5 }& Z+ J# L$ N 6 Xenomai简介 Xenomai是一个免费开源的Linux平台实时框架,通过使用与Linux内核并行运行的实时协同内核(real-time co-kernel)处理所有对时间要求严格的活动,例如处理中断和调度实时线程。Cobalt core比原生Linux与RT-Linux内核具有更高的优先级。
/ n6 f" M& ^7 ~; G* k ![]()
1 ?* Z( |* t) h" t5 x- g
9 z% Q3 r" |0 y! K+ H8 n9 x
( [% @5 `; g( v$ x7 [' I# {) n/ E+ z ![]()
! [. k* N; _* O5 Z4 h' _+ ]8 r
' B3 d ~/ X6 |# M! g 6.1 编译说明0 `% r" c4 D. U
案例使用的Xenomai版本为3.1.1,开发包为案例"igh_ethercat_dc_motor\xenomai\src\"目录下的xenomai-v3.1.1-g8b2052e.tar.gz,将其拷贝至Ubuntu工作目录下,执行如下命令进行解压。
# J' t7 f( e9 n, Q2 R- a Host# mkdir Xenomai6 y- q6 p2 t! G1 }7 l6 f; O
Host# tar -xvf xenomai-v3.1.1-g8b2052e.tar.gz -C Xenomai/
; @/ n. A* f) s- K. _ ![]()
/ H5 ^% v4 [5 y2 s7 A3 }1 `1 r8 ]* Q/ f: O `0 Q2 x1 K' {$ x
5 X) n/ M3 |& S% b 进入解压目录,执行如下命令在当前目录生成configure文件。
: g/ v6 q T: g' O Host# ./scripts/bootstrap: g/ k" d- k* \0 [5 S# h7 p% `
![]()
! R& V6 ?& c/ e& j0 k Q( u" U% y+ I0 I* I0 H6 n( [( a
执行如下命令,加载SDK环境变量并进行配置,请确保已正确安装交叉编译工具。& p y, x$ U5 J1 _
Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux
2 O, C: m& M$ s4 A/ q% Y+ \8 Q Host# ./configure --build=i686-pc-linux-gnu --host=aarch64-poky-linux --disable-debug --enable-smp --with-core=cobalt
3 [1 i% x/ B# J ![]()
/ j" \$ Q3 G* d" I& Y- U+ {; f" X
: R; Q, D# E0 Y2 Q5 e
7 H4 X; y) z3 z5 a/ m& d& ~
![]()
' ^2 c6 {, w; s% K
% ~) K! s0 y6 i7 ^1 s0 I% ? Host# mkdir __install //创建__install文件夹用于存放生成的文件
r0 ]* P, H( d Host# make DESTDIR=/home/tronlong/Xenomai/__install install6 H' j% g) i! @+ |
![]()
- k2 q4 L; S0 _0 x( |2 K" G0 P! x F1 B2 ], x3 R
1 h F% {3 ~0 \) E9 {
编译完成后,将在__install目录下生成usr文件夹。
5 q$ m- {8 o, V9 U- q * u- J% p# L* a: X2 [
& x* {2 F/ U0 \9 S, T6 n, ~: S
' z) b6 N8 Q- Y( I/ p# g 6.2 测试说明
0 d# v+ \$ N' l 为便于测试,我司提供的经验证的Xenomai测试程序为案例"igh_ethercat_dc_motor\xenomai\images\xenomai-v3.1.1-g8b2052e\"目录下xenomai-v3.1.1-g8b2052e.tar.gz压缩包,在Ubuntu下解压即可得到Xenomai测试程序文件夹。3 K! ~- u# L+ h- W
请使用已替换内核的Linux系统启动卡启动评估板,将Xenomai测试程序文件夹整个拷贝至评估板文件系统,执行如下命令拷贝Xenomai相关文件和设置动态链接库。本次测试将Xenomai测试程序文件夹命名为__install。- U; I3 l' K6 M7 {+ K n
Target# cp -r Xenomai/__install/usr/xenomai/ /usr/
7 _3 M- m1 ^ e Target# export LD_LIBRARY_PATH=/usr/xenomai/lib LD_LIBRARY_PATH
; B* j) n' a/ n e8 h6 w + C7 H: C1 {2 w/ Z
7 R, F1 `# R5 R6 j9 b" f% O
3 O% Q5 J9 f/ A Xenomai的测试工具均位于"/usr/xenomai/bin/"目录下,可调用对应测试工具进行测试。
/ `4 r' K4 q8 R + i4 o V7 E' a, B0 P
5 }% y; K6 g: U4 `( D
+ ?0 M2 E. p* o
使用Cyclictest工具进行实时性能基准测试。6 u. ]. d {7 C
Target# echo 0 > /proc/xenomai/latency
' p, ` _4 T( ~1 ~, X8 z; k Target# /usr/xenomai/demo/cyclictest -t5 -p98 -m -n& h5 V% {* C, ?8 s$ y3 A- [
7 l1 s7 T6 V2 v
( w) M: D7 _' X
' U \$ j+ h6 p! [9 \/ D8 U
8 s! R5 v& Z- v3 N
7 o4 O* s( b1 B5 q
+ Y0 z% g% E$ q' j p1 c/ v
如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技 x' x8 W% p& A
& D3 Y; y1 c% R6 r6 a, |) V* P4 B% T |