EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Tronlong123 于 2024-7-21 17:29 编辑 5 T8 |' K, j4 H F# V$ j4 ?2 }
5 J3 s6 M. `5 \% O前 言
. V U( a; P) G 本文档主要演示NXP i.MX 8M Mini工业开发板基于IgH EtherCAT控制伺服电机。
2 a6 z: T% |! |5 ^ 演示板卡是创龙科技的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和高低温测试验证,稳定可靠,可满足各种工业应用环境。
; t' ^( g% k1 [* b0 ~! g7 y 评估板接口资源丰富,引出MIPI CAMERA、MIPI/LVDS LCD、HDMI OUT、LINE IN/OUT、PCIe、FlexSPI、USB、RS485、RS232、千兆网口、百兆网口等接口,板载WIFI模块,支持Mini-PCIe 4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。$ c) ]' J9 g8 A! o4 E9 ~
本文档适用开发环境:+ f* T$ l o7 h7 k5 a. z' U6 A' ]
(1) Windows开发环境:Windows 7 64bit、Windows 10 64bit
/ ?6 [: D5 ?: [ (2) Linux开发环境:Ubuntu 18.04.4 64bit% w \# }( o: \* d* O
(3) 虚拟机:VMware15.1.0
) C* m1 r- t- `8 c) d1 J (4) Linux SDK:5.4.70_2.3.0
8 P% Q3 p1 k- [/ @ (5) Kernel:linux-5.4.70-xenomai-g8d94618-v1.0# t% J! ?/ G4 B/ M
(6) IgH EtherCAT:ethercat-stable-1.5-gcd0d17d-20210723* O+ g5 b2 N( E: }9 d
(7) Xenomai:xenomai-v3.1.1-g8b2052e
+ u5 o6 }. X# _9 T5 h1 p (8) 伺服驱动器:台达ASD-A2-0121-E1 R ~+ H7 J& v8 y6 u5 c8 j5 [
(9) 伺服电机:台达ECMA-C10401GS$ Q. ^. B& S0 p4 }$ \
我司提供的IgH EtherCAT主站开发案例位于产品资料“4-软件资料\Demo\igh_ethercat_dc_motor\”目录下,主要包含igh_ethercat、kernel-xenomai、xenomai等文件夹,具体说明如下。
8 ^5 f. L9 a+ a! I% G. [4 e 表 1 1 IgH EtherCAT简介 IgH EtherCAT为运行于Linux系统的免费开源EtherCAT主站程序,框架如下所示,官方文档:https://www.etherlab.org/download/ethercat/ethercat-1.5.2.pdf。; p; P. D; i1 G. a7 _8 x2 W
, c% K4 l |( t* D, I% g2 Y
: @) `! R! f! T9 _0 p2 p7 p1 g
4 f1 X+ v4 S5 ?! K IgH EtherCAT主站通过构建Linux字符设备,应用程序通过对字符设备的访问实现与EtherCAT主站模块的通信。 IgH EtherCAT开发包提供EtherCAT工具,该工具提供各种可在Linux用户层运行的命令,可直接实现对从站的访问和设置,如设置从站地址、显示总线配置、显示PDO数据、读写SDO参数等。1 D+ l* T: r# ?" F5 j9 l, O
IgH EtherCAT官网:https://www.etherlab.org/en/ethercat。
3 E) s2 J7 S- q9 C( A7 [) r 2 案例说明 案例功能:控制伺服电机正转和反转。3 B5 s! J2 F3 b% P# b# J2 a
(1) 正转:伺服电机目标速度从0加速到10000,当达到10000速度后,控制伺服电机减速至0,循环运行。
: z# m6 F, Y9 W. X (2) 反转:伺服电机目标速度从0加速到-10000,当达到-10000速度后,控制伺服电机减速至0,循环运行。& X. M3 X6 P* j$ g" D Y
+ t$ R ~3 B6 \' X+ n
0 R* L# B& H* e7 R: v2 t+ z
为便于测试,我司提供已验证的基于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/"目录下。2 p; j' p& G% z" G3 l9 m
备注:如需使用由内核源码重新编译生成的内核镜像文件、设备树文件和modules驱动,请参考Linux系统使用手册将编译的module驱动安装至Linux系统启动卡中,默认安装后module驱动目录为5.4.70。
( p. ]/ f. v; G5 u/ S; l S# b z) S5 ^2 i* ` F
6 @6 ?: n7 }* V' t! b- m
3 案例测试 请按下图所示使用网线连接评估板RGMII ETH网口和伺服驱动器A的IN网口,将伺服驱动器A的OUT网口使用网线连接至伺服驱动器B的IN网口。
" m: N9 ~! t8 Y& {% k: ~ / P6 ]8 j$ W$ P/ s( b% `
r6 ?( B" b! q3 y/ u$ M I. ^
/ a9 Z! m$ N) i7 y- _% N' n3 q
![]()
+ d" B7 H3 r( B% q. Y
" T, G2 v4 W/ S$ O
+ K( f0 ^, V0 @$ V0 Y" |4 J 为便于测试,我司提供的经验证的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主站程序文件夹。
5 W( }9 f0 ~) x0 Z8 Q, |" g 将IgH EtherCAT主站程序文件夹整个拷贝至评估板文件系统,执行如下命令查询评估板网卡物理地址。本次测试将IgH EtherCAT主站程序文件夹命名为__install。6 Q6 m. E s& @0 y' n/ r p
Target# ifconfig
8 E# g4 Z( Z8 t2 ^7 N x" d ![]()
& {; T: w* o# ]
! q) N* H( T7 U
4 E" k6 z, {6 D$ X1 V
执行如下命令,加载驱动模块。
8 [$ N+ q" b8 r+ ?0 W Target# insmod /home/root/EtherCAT/__install/modules/ec_master.ko main_devices=ce:bb:9d:3b:d3:6b3 M& ]5 K' R: R8 C: Q
![]()
% }# D5 Q9 h+ X- S* C+ t* [1 _ i3 j5 [. W6 @( G- U
# G, n0 ]: W. D) F; o W
执行如下命令,拷贝EtherCAT主站相关文件至评估板文件系统。
" F+ j: Z0 |4 Z) U Target# cp /home/root/EtherCAT/__install/etc/sysconfig/ethercat /etc/sysconfig2 {$ }4 ]; d: D
Target# cp /home/root/EtherCAT/__install/modules/ec_master.ko /lib/modules/5.4.70-g8d94618 //模块驱动名称可通过"uname -r"查看
, Q A: {( C: J4 I! r" Y Target# depmod //同步模块依赖关系
a z. k! ^: r0 t" w4 h ! O1 X( B$ Y7 H( L/ P
+ n5 _8 n8 N: M1 S 执行如下命令,启动EtherCAT主站。
# ?2 R7 {6 I' G7 ]4 c" V$ t Target# /home/root/EtherCAT/__install/etc/init.d/ethercat start
5 J2 f$ [( }( Z ' \# ^7 l3 R5 o; i2 ^
* W6 W3 v5 U9 _1 }7 H
% \" m7 X0 f F; f
执行如下命令,加载ec_generic.ko驱动文件。4 H: h- c# U$ V' i/ U6 e1 y
Target# insmod /home/root/EtherCAT/__install/modules/ec_generic.ko1 R7 g* Y! U1 q( j* ~! c2 n% }+ f! M
! e5 N& {" m; G q( z8 t
. _& u6 H. k6 y* H6 ?! j
* a0 H6 T# ~" d8 V7 I9 ^ 执行如下命令,添加IgH动态链接库路径。! q& C, P$ j; y9 B" R. N
Target# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/root/EtherCAT/__install/lib
0 k8 }+ M0 c3 e i2 R v ![]()
3 H6 h% c$ v+ R# [, M
0 R+ _( X1 f) [3 m( n
& R7 f; p4 q8 m
将案例igh_ethercat_dc_motor可执行文件拷贝至评估板文件系统,执行如下命令查看参数信息。
. h( ~8 E: I6 V6 X/ S Target# ./igh_ethercat_dc_motor --help4 i K+ [7 Q$ M7 S/ \' T, y4 C
![]()
8 F ]9 [4 Z- w4 K# D
5 ^* f* v1 ?; g6 F/ L
9 v$ y8 @) s h g" [
执行如下命令,控制两台伺服电机同时正转。! Y; n! f$ G- j
Target# ./igh_ethercat_dc_motor -d 0
, Q' n) ]: Q. p) Y! D; B+ Y1 Z2 V6 R / @2 b3 a5 F/ K. o
) }0 N* d$ t2 U8 R4 H: H
, |3 n0 I6 q- n& T+ F) l4 V, t% G ![]()
9 s* B" v: G1 G5 X- m& ]/ T, Y" M4 L. k& x* s
5 S! [* y2 [3 k' ?) B
按下"Ctrl + C",停止运行程序。
- a, _) F, q, l , e( R6 \* o8 j+ W
# {" s$ r/ i; M4 o6 k8 @" H( v
5 m0 e3 d8 I$ X+ d' V 执行如下命令,控制两台伺服电机同时反转。9 ^) M3 B$ S1 N& x
Target# ./igh_ethercat_dc_motor -d 1
$ @6 k3 ?- [; _( @; ] ![]()
; {2 Y9 w# N- Z
9 {/ A! {! h4 D$ I& K% w1 l
& V5 M/ _! x1 r- K
![]()
) |3 P. a0 g' @ n9 U% {* G
7 p7 g+ G# h$ A6 j! k$ {( I" W
$ i) O8 Q& M# r6 g3 H ^+ B/ f
按下"Ctrl + C",停止运行程序。8 ~: P6 e2 p9 D7 B: b
. M7 b) E2 m. t* \
# |3 ~ D: k* r+ [/ `' v3 s
* |' E! [6 y. ]- g8 ~" H6 V 参数解析:
$ e( j$ `4 h* S+ i b0 a (1) latency:等待唤醒时间(ns)。) y$ J& Q' E& F
(2) period:EtherCAT通讯周期时间(ns)。- W/ m5 H6 s- ^2 R! X! P+ B' b& E
(3) exec:接收和发送EtherCAT数据时间(ns)。
8 S; R4 c0 X$ m6 W6 K8 r 备注说明:4 s. j( o1 D5 G+ c1 W2 i; K
(1) 使用评估板千兆网口测试时,需设置EtherCAT通讯周期时间为1.1ms,即将igh_ethercat_dc_motor.c中的FREQUENCY配置为900(如下图所示)。如设置EtherCAT通讯周期时间为1ms时,会出现数据丢失的问题,原因在于IMX8官方千兆网口驱动兼容性不够完善,NXP官方正计划修复此问题。
! b% p* X2 T* f" D# [' F ; |7 {- S( Y. N+ u0 j
3 D, K4 C1 ^7 Z/ _3 y( X% I+ T) B- c- m3 E
# P) H4 f1 |1 J- U: O( X
(2) 使用评估板USB2 ETH百兆网口,设置EtherCAT通讯周期为1ms测试正常。
9 _8 m0 G- [6 Z$ K (3) 为获得更高的实时性能,亦可通过PCIe接口外扩IgH EtherCAT专用集成网卡进行测试,IgH EtherCAT支持外扩集成网卡如下所示。- W3 h9 o: D# j: u+ I% y
& U& |2 R- g, i5 A" K$ U0 I9 I
! k& h; Q8 L6 x! p1 L4 }9 a
# t9 R$ |! j5 ~ G, ], I
4 案例编译 4.1 IgH EtherCAT主站程序编译
) F) v3 F9 @2 _7 a; v IgH EtherCAT主站程序的编译需依赖于基于Xemomai生成的内核,请参考Linux系统使用手册将案例"igh_ethercat_dc_motor\kernel-xenomai\src\"目录下的linux-5.4.70-xenomai-g8d94618-v1.0内核源码进行编译后,再编译IgH EtherCAT主站程序。1 g; S* {: U7 l" v9 N' f3 C
请将案例"igh_ethercat_dc_motor\igh_ethercat\src\"目录下的IgH EtherCAT主站程序开发包ethercat-stable-1.5-gcd0d17d-20210723.tar.gz拷贝至Ubuntu工作目录,执行如下命令进行解压。
0 ? ~0 K5 k9 a, R u7 C1 ^ Host# mkdir EtherCAT
% o6 ^% ^! }: f& B Host# tar -xvf ethercat-stable-1.5-gcd0d17d-20210723.tar.gz -C EtherCAT/
, @; b. ^+ D8 N3 N0 E, h F% @( ^% ] ![]()
# G: H4 W1 z8 t9 ?1 }) [3 f: }$ Y' q
6 d1 D! I; O/ D8 T, A$ m8 V2 p 进入解压目录,执行如下命令生成configure文件。% d0 r7 Y3 @& Z% p! b
Host# ./bootstrap! O+ e o9 [$ w; \
![]()
( z# g( v$ }1 J1 j% p Y' J4 y& e- d/ U5 t
执行如下命令,加载SDK环境变量并进行配置。
3 M* ^# Y7 V. C Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux7 Z/ c# h9 s ?1 j7 q8 | A3 n, M
Host# mkdir __install //创建__install文件夹用于存放生成的文件. t% {; ?: A. u, c0 M7 L/ e
Host# ./configure --prefix=/home/tronlong/EtherCAT/__install --with-linux-dir=/home/tronlong/kernel-xenomai/ --enable-8139too=no --enable-generic=yes --host=aarch64-poky-linux/ [1 n T& F1 ~! c3 [
备注:"/home/tronlong/kernel-xenomai/"为案例提供的内核源码目录。6 R2 k1 l/ k% r8 B
![]()
4 |' D; o$ P* S& O$ k1 z: \$ h H$ h5 V3 c
4 P& Q1 P' ]1 m/ r% R $ t7 x0 ?/ w$ R, J( |
5 s$ U! L! w6 x6 x0 D
4 D0 W) @' k, h
执行如下命令,进行编译。
" K6 b1 H% q6 W9 F# C5 t' c; h Host# make# K8 {5 Q0 H- K# P" }
7 \8 z0 u( k4 N7 i' q0 s% {
6 k$ g$ T6 j1 n
![]()
. u. J5 Z! C. T- O! Q. s1 j2 Z) I, s+ I$ I) n# ]
6 { P3 J+ ~& @, o! Q" U Z9 `
执行如下命令,编译驱动。
! y% o/ y, n y. t e Host# make modules
, n4 D; |' O$ M3 h* @6 E 0 _) X3 T" _5 c/ `
0 E8 X7 C+ |& a5 A4 d7 M. ^6 u- K
. f, [! b0 Y1 g3 k
![]()
l( [5 L0 b( Y: l* o5 S4 B3 b
- _8 b+ `+ }: |7 S$ o5 _
" y/ q' i; V' H- O1 \# K
执行如下命令,将生成的IgH EtherCAT主站程序安装至指定路径下。' {2 |! t! i) {3 l) }, ~
Host# make install systemdsystemunitdir=/home/tronlong/EtherCAT/__install; e* X* f' F' j9 e
7 M; K5 M8 K8 N- _8 r7 |7 ?
- Q; o# X8 j: |8 o/ \- T( ^
& F0 z: b8 T6 J7 N
![]()
* S$ q2 \1 C3 K: s& [$ y6 t. n2 A- _4 L J; P9 v
执行如下命令,将驱动文件拷贝至"__install/modules/"目录下。; p9 H. q# ?# ?- {! a" b" \
Host# mkdir -p __install/modules% c( Y8 A. ~- [; A% f
Host# cp ./master/ec_master.ko ./__install/modules/
2 n* k( P2 u; l5 \* p Host# cp ./devices/ec_generic.ko ./__install/modules/
. S. d9 s" Y9 G1 O6 N& E ![]()
% X9 q, P5 P Y' z, ~: g
, k3 i. `! @1 A2 Y, v" c/ V# q
6 ~$ S- g0 C j# d6 C 4.2 igh_ethercat_dc_motor案例编译- |' r" r5 C. a$ O X) r/ n0 [
igh_ethercat_dc_motor案例的编译需基于IgH EtherCAT主站程序,请先编译IgH EtherCAT主站程序。. u2 `$ d5 ^0 n( c$ s, b
请将案例"igh_ethercat_dc_motor\src\"目录拷贝至Ubuntu工作目录下,进入src目录执行如下命令修改Makefile相关内容为IgH EtherCAT主站程序对应目录。5 {9 d' o. T. N. g' N. q) V9 C8 }
Host# vi Makefile
6 w% c7 K9 l1 f% R0 r( k# ]5 N9 Z ![]()
6 ]. i j& P" a
; ]. e8 `% s6 |
6 t% O3 \7 b8 @, {- [
![]()
* n2 G" w; ]7 \3 d2 g" O" J" s, A+ `$ }
! w0 I$ I( h g& ?
然后执行如下命令,加载SDK环境变量并进行编译。编译完成后,将在当前目录下生成可执行文件。5 M5 S) n: S1 o& m! Q
Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux5 \/ J8 p8 O2 B f: f& Y
Host# make' d/ H# k1 \( X! k- X
/ ? T3 Q A7 J5 \) d
) k* U! J& d1 b
$ [4 q6 [8 v, ]' ` 5 关键代码 (1) 创建EtherCAT Master。
* E3 }* d4 z# M2 j ) `% R- s/ U- A$ f
4 o8 i3 W6 F( i. B
) D2 B7 r$ I) T/ S" I0 W$ v' J9 [5 b (2) 创建域。
3 A6 d6 |; B. W# d, s6 @" R ![]()
2 Y/ J* q, j$ Q2 p K3 L* K
& ?7 Y9 Y$ q- _( S
) G: |* g- f3 o% \/ v- G0 V
(3) 配置PDO。
# U5 E @& y u. c B& f- F ' j1 b0 A, m5 {
+ `5 g" |' o, B$ `
# {% W: I1 u& k, j+ T% ]) u (4) 为域注册PDO条目。
1 K4 c! D' `# O% e; n6 M) l" y 3 c, c' [1 `* e# l/ ^ J9 q
3 @9 p0 n. B/ C1 j2 [$ b/ U, g1 X
- g$ Y, h3 Y, e( W0 A9 P6 _$ X
(5) 激活Master。7 V* ]6 Y! J! k+ e3 f$ d
![]()
& ? X+ k+ W6 X7 I+ L6 E7 j
8 X2 |' R2 D; }9 E6 r: @( ]& t; P
$ E1 O- n9 K. [0 C" E4 N4 B
(6) 修改当前进程优先级。
7 E3 m4 Q& M9 ?9 b! d& C & U$ m7 l0 p/ ~5 K
8 q- z3 t; Y4 v! O5 }
. t3 a9 P/ c, f( y (7) 进入循环周期任务。
% C: j% L1 s/ ]% ]+ ~9 p ![]()
. S8 @) }6 u" ]: x1 v/ M9 C- V7 R9 G
6 V1 x5 q2 ^; C! e( I
(8) 在周期任务中设置驱动器操作模式、加速度和减速度,分别发送0x6、0x7、0xF使驱动器处于ON状态。
' Y, w6 s4 C9 a( T" d; [ ![]()
5 O' X, e& A& d: J# q9 h
* n* \' |& x+ u, c/ J4 ?
' R, r1 |. `- x5 e& t (9) 发送目标速度,转动电机。
# y5 U8 F( y) F# p& j. [$ u: @; g * i6 {% Y, Y4 ?8 S2 H5 Y
7 U, S" C) t1 t7 \ @3 W ?
+ x! I" E% `$ o2 O( S 6 Xenomai简介 Xenomai是一个免费开源的Linux平台实时框架,通过使用与Linux内核并行运行的实时协同内核(real-time co-kernel)处理所有对时间要求严格的活动,例如处理中断和调度实时线程。Cobalt core比原生Linux与RT-Linux内核具有更高的优先级。
9 @( N# M' H) P; x# E5 s% g ![]()
' f* ~. }. E* n" F/ h5 F" T3 R
9 y: D' n' `+ J5 {9 h' l7 y
8 F; g& g, K& D9 X5 A" Z
![]()
5 k* l* t1 ]1 [3 X* i! T' q6 w$ W J5 A
6.1 编译说明2 T1 n% [! Q5 J7 d
案例使用的Xenomai版本为3.1.1,开发包为案例"igh_ethercat_dc_motor\xenomai\src\"目录下的xenomai-v3.1.1-g8b2052e.tar.gz,将其拷贝至Ubuntu工作目录下,执行如下命令进行解压。
/ ^$ l1 j7 R" @+ l+ z8 p% ~ Host# mkdir Xenomai2 M1 f; k& k1 |, r k' j; p
Host# tar -xvf xenomai-v3.1.1-g8b2052e.tar.gz -C Xenomai/+ J( L, s: s# e- x
![]()
( z0 A9 w: V' Z% I7 f9 R. f! i# i0 y3 D2 T" [9 k4 I
( e9 I6 h& n/ w, C 进入解压目录,执行如下命令在当前目录生成configure文件。$ q1 D( d5 ?. u1 N( @
Host# ./scripts/bootstrap
7 T6 t, @, l x7 I& x6 }7 F9 X / f; L0 c3 d. y0 ~2 O. s( L: z5 T
* {8 w J# k( Y; q3 s5 X. t2 x6 Y2 i 执行如下命令,加载SDK环境变量并进行配置,请确保已正确安装交叉编译工具。8 \* f8 x }* U( @3 b
Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux, l) V2 y+ T( [6 E. D0 R1 k
Host# ./configure --build=i686-pc-linux-gnu --host=aarch64-poky-linux --disable-debug --enable-smp --with-core=cobalt) \* x; o0 F/ @ V! J7 ^# Y; t
# u Y* v8 Y& e$ E
" d& I/ M1 }6 T0 A! h" b, I; w
6 X- X. {6 Z0 f# a" ~ ![]()
# i: U$ v; M4 M8 O( e2 P6 M" P' m U, P1 t. g
Host# mkdir __install //创建__install文件夹用于存放生成的文件2 F% }. R6 E0 ~" ~
Host# make DESTDIR=/home/tronlong/Xenomai/__install install
" X7 E6 L. `2 s r$ l6 x) | ![]()
; B/ }- O# P/ G9 X% C7 M
! \( c0 g9 O$ J! W7 x2 L& ~% H4 H
" S$ o4 a% t8 n% ?. y& r! l
编译完成后,将在__install目录下生成usr文件夹。& q# d# s n3 U0 j" l, B
- w* E% L! n1 S; ^$ i& V
, y7 U* {" B3 ^7 C
) w! a$ {0 y6 l; K# G
6.2 测试说明0 @" }# u* P8 \& I" z+ T
为便于测试,我司提供的经验证的Xenomai测试程序为案例"igh_ethercat_dc_motor\xenomai\images\xenomai-v3.1.1-g8b2052e\"目录下xenomai-v3.1.1-g8b2052e.tar.gz压缩包,在Ubuntu下解压即可得到Xenomai测试程序文件夹。
" U- D6 E: p+ Y% | 请使用已替换内核的Linux系统启动卡启动评估板,将Xenomai测试程序文件夹整个拷贝至评估板文件系统,执行如下命令拷贝Xenomai相关文件和设置动态链接库。本次测试将Xenomai测试程序文件夹命名为__install。
+ o) m* ]/ R2 u3 [4 q7 S Target# cp -r Xenomai/__install/usr/xenomai/ /usr/
4 W+ }8 [6 K; y- { Target# export LD_LIBRARY_PATH=/usr/xenomai/lib LD_LIBRARY_PATH& }( t) m: U" E; g5 T
![]()
]! K+ n: f% W3 X! L: o7 L7 S3 F, u4 m
, L) `4 ~4 b" Y$ v! G% U6 A& c* G1 w
Xenomai的测试工具均位于"/usr/xenomai/bin/"目录下,可调用对应测试工具进行测试。- @5 H$ z5 N6 P. a5 Z% \# D
![]()
" _7 P! }5 L( @3 q
) i7 M5 |/ n9 z! u/ v
0 |# Q, R; Q- X6 ? 使用Cyclictest工具进行实时性能基准测试。- a! j) q" v& h& _4 A
Target# echo 0 > /proc/xenomai/latency
* W# N( X0 ^7 ?" w+ t* v% t! U8 Y Target# /usr/xenomai/demo/cyclictest -t5 -p98 -m -n
4 x8 f; K- \* ~1 ?' g. { ![]()
; ~# ]8 B( d/ q7 O, K n5 ^) C- R. p- Z
1 y2 b0 }5 F+ v% N1 @: _ ![]()
% l. }, S! a. q" k- f
( P9 b& K- F: ~; W1 c
. _" z7 J9 [2 O 如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技
, }( s- E F J$ Z0 n6 u. D* x* Y4 b4 d/ w& u& m2 `. k. g/ R2 @3 F
|