EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 Tronlong123 于 2024-7-21 17:29 编辑
% R: @) ^. J a, K f& M% Y& @( Y# ? l' o
前 言2 G- W* J" ~# z( Y* y
本文档主要演示NXP i.MX 8M Mini工业开发板基于IgH EtherCAT控制伺服电机。
, \4 u' a, G$ \ 演示板卡是创龙科技的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和高低温测试验证,稳定可靠,可满足各种工业应用环境。' z) n: ?: u5 ~0 c
评估板接口资源丰富,引出MIPI CAMERA、MIPI/LVDS LCD、HDMI OUT、LINE IN/OUT、PCIe、FlexSPI、USB、RS485、RS232、千兆网口、百兆网口等接口,板载WIFI模块,支持Mini-PCIe 4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。
8 P, K/ f& \) \! _+ { 本文档适用开发环境:1 G% ~% A0 T% C1 b5 E8 ?" x
(1) Windows开发环境:Windows 7 64bit、Windows 10 64bit5 \* ?0 v& L* |
(2) Linux开发环境:Ubuntu 18.04.4 64bit
& b7 V9 |$ e4 ^/ R2 G' F! i3 u (3) 虚拟机:VMware15.1.0& i7 q! D+ V6 V( V6 v
(4) Linux SDK:5.4.70_2.3.0
: ^0 e; z9 i0 D( q" e (5) Kernel:linux-5.4.70-xenomai-g8d94618-v1.0
6 y7 |5 M1 g* G( t9 S |8 t (6) IgH EtherCAT:ethercat-stable-1.5-gcd0d17d-20210723* \: C: [0 ^* o" M$ l; Y& H/ `3 N
(7) Xenomai:xenomai-v3.1.1-g8b2052e
) h) i0 L5 s8 E( y5 E" } (8) 伺服驱动器:台达ASD-A2-0121-E# X. ^, Y1 r0 g% b+ }
(9) 伺服电机:台达ECMA-C10401GS( J" _7 g3 }- p A/ U
我司提供的IgH EtherCAT主站开发案例位于产品资料“4-软件资料\Demo\igh_ethercat_dc_motor\”目录下,主要包含igh_ethercat、kernel-xenomai、xenomai等文件夹,具体说明如下。/ _& ~2 B/ t; h+ e
表 1 1 IgH EtherCAT简介 IgH EtherCAT为运行于Linux系统的免费开源EtherCAT主站程序,框架如下所示,官方文档:https://www.etherlab.org/download/ethercat/ethercat-1.5.2.pdf。
2 l# N! H1 c1 B- `% j! s9 i- Z ' e* X) P; o3 |- d9 z6 U
( z6 T; b, [3 u4 M# T: h2 r$ m
1 o- A/ z! ~+ I f3 Y5 Z: D2 {- L
IgH EtherCAT主站通过构建Linux字符设备,应用程序通过对字符设备的访问实现与EtherCAT主站模块的通信。 IgH EtherCAT开发包提供EtherCAT工具,该工具提供各种可在Linux用户层运行的命令,可直接实现对从站的访问和设置,如设置从站地址、显示总线配置、显示PDO数据、读写SDO参数等。
% T" r' Y+ x$ ~1 g& M; ~; j IgH EtherCAT官网:https://www.etherlab.org/en/ethercat。& @; ]% o w/ J* H% e
2 案例说明 案例功能:控制伺服电机正转和反转。; O6 ~, k+ C* N+ E7 A
(1) 正转:伺服电机目标速度从0加速到10000,当达到10000速度后,控制伺服电机减速至0,循环运行。' ~; P& J/ k+ R* [6 \& R/ m) V/ F4 ^
(2) 反转:伺服电机目标速度从0加速到-10000,当达到-10000速度后,控制伺服电机减速至0,循环运行。
8 w+ ]: ~! g, z9 \) l, @ ![]()
5 u6 m$ q! [; t! s' j* {( S: h7 b3 J1 | P# x( u4 w) a
Q4 V- F! H9 i2 Y3 W 为便于测试,我司提供已验证的基于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/"目录下。
; P, x7 } p6 t# b: u5 k 备注:如需使用由内核源码重新编译生成的内核镜像文件、设备树文件和modules驱动,请参考Linux系统使用手册将编译的module驱动安装至Linux系统启动卡中,默认安装后module驱动目录为5.4.70。7 n$ u2 l( }! f0 ?4 ]) v
8 Q4 u% G4 n# Y, a1 R
0 { g `8 u" k+ o+ B' p; c
, W4 B" p" {' `8 i% I( \
3 案例测试 请按下图所示使用网线连接评估板RGMII ETH网口和伺服驱动器A的IN网口,将伺服驱动器A的OUT网口使用网线连接至伺服驱动器B的IN网口。, U$ H2 A; i+ H; `/ ~
& K, k& M' r" k6 q
3 L& `9 R5 C5 L7 X+ ^5 V, o
, l; ]/ U3 |& U/ _* L( ^0 {8 q
9 y/ A( U9 t( r0 ?1 D1 a
+ n8 ?& b* R w* a3 `
Z8 Z( E: h7 \7 n; `) U5 }& d 为便于测试,我司提供的经验证的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主站程序文件夹。+ G; Q2 s& ^8 s6 h
将IgH EtherCAT主站程序文件夹整个拷贝至评估板文件系统,执行如下命令查询评估板网卡物理地址。本次测试将IgH EtherCAT主站程序文件夹命名为__install。
. h" ]( O2 g2 Z- J9 Q Target# ifconfig, F* s, e7 X/ M
: ^' `' V) ~/ e! V- v
4 ]; |, r! V7 x7 b3 \( h( e* C1 B9 S
; o U( u: F0 X6 K* Y
执行如下命令,加载驱动模块。# l3 B1 P) F# `) O* ?( k7 S1 N
Target# insmod /home/root/EtherCAT/__install/modules/ec_master.ko main_devices=ce:bb:9d:3b:d3:6b
% ? ]3 a! H& `3 ?( X) z ![]()
* ]9 |1 ]( ^- D2 B
; \+ t0 v6 ]. W8 J* |( Q- i
- U& T1 x2 o! z8 ~0 Z" N* H0 E 执行如下命令,拷贝EtherCAT主站相关文件至评估板文件系统。
$ p8 }, m; P% W7 P t( p Target# cp /home/root/EtherCAT/__install/etc/sysconfig/ethercat /etc/sysconfig
$ y' {$ I0 @+ F Target# cp /home/root/EtherCAT/__install/modules/ec_master.ko /lib/modules/5.4.70-g8d94618 //模块驱动名称可通过"uname -r"查看
) R5 I% k* {$ i% E1 U" L# J Target# depmod //同步模块依赖关系3 ?3 R8 s; m5 P3 E) n4 _. a, o: p1 S
![]()
# M/ X+ \- u% e9 ~, m1 G1 D7 {) g# n5 {
执行如下命令,启动EtherCAT主站。" \4 ~0 U7 K4 @8 g
Target# /home/root/EtherCAT/__install/etc/init.d/ethercat start: c# ~" Z6 a) U& u J/ \5 m
![]()
- E( Y$ b) m8 G r' \' y7 Q7 _
. E, N7 E& S# c$ M; Q* A9 i
* Y4 O' m5 ~3 k& b 执行如下命令,加载ec_generic.ko驱动文件。
9 w( j# O" e' z# P4 `8 Z Target# insmod /home/root/EtherCAT/__install/modules/ec_generic.ko
i1 e$ `! G' g! P3 U7 _% e' r / q# K# |/ {2 j# w) @ v
- o h! q; n1 y6 C1 @' B+ K
' `, H* I0 c& B 执行如下命令,添加IgH动态链接库路径。
* U7 k1 G7 {1 m6 U7 o6 e1 q$ S4 O/ U8 [/ u Target# export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/root/EtherCAT/__install/lib
0 g. |9 K- q5 r" O v ![]()
% R! L ?* b t' ~# I2 N0 w. b5 I7 V t+ S, G9 J
4 S/ H; O) L2 p8 i6 ~& j( F; V) Z4 s
将案例igh_ethercat_dc_motor可执行文件拷贝至评估板文件系统,执行如下命令查看参数信息。
& h5 ?& Q3 J6 C7 { Target# ./igh_ethercat_dc_motor --help
" ?$ E+ O8 o) y ![]()
) C1 z- b$ x2 c7 `! z7 P1 Z, M6 o% f* x: ~( d) h
' F6 q0 |, h& r( e& k 执行如下命令,控制两台伺服电机同时正转。
2 w/ @9 ]8 G) |$ p/ C Target# ./igh_ethercat_dc_motor -d 0: t* \- `' [, E2 t5 i+ [; v
![]()
, s( K* ~4 P0 L3 { l5 r% d! ^( e$ z% _4 c
! ], G# p; q5 Z ![]()
7 v; u, S/ ]+ h G! H+ r4 Q
' q- P! q5 J8 |/ g# f
8 v( e W4 z/ r: o
按下"Ctrl + C",停止运行程序。
3 W* |1 y0 U' g0 t ; K" S" t N3 k! r7 h* b
8 b6 ~) p7 o5 g6 j+ h- A 执行如下命令,控制两台伺服电机同时反转。
# u |; ~. T) y- C, e, J4 N Target# ./igh_ethercat_dc_motor -d 12 d4 t9 h1 B) i( Y# O8 |! b3 W
![]()
4 o7 W* x) Y/ D+ Z6 o2 f# Y
, |, j4 A: W9 D5 Z
% l& a8 {+ R. X. [ F! b, B3 g 1 l9 c( l& B' o3 M: z
4 R; h" W* Q4 G; u5 g
" G d0 _" E4 c9 H6 l* `5 g; S: l
按下"Ctrl + C",停止运行程序。/ ~; m7 n! z4 \
![]()
3 k5 H7 t( Q# w' M4 Y) a
9 @" m( w% z' w f
- U9 K& Q7 H+ o' d5 a$ Y5 c% S
参数解析:
9 ?8 V$ o. H! B1 F# p5 i0 F( o (1) latency:等待唤醒时间(ns)。
8 z: `9 @7 Y% U2 [) y- |+ A/ \ (2) period:EtherCAT通讯周期时间(ns)。
+ X+ a2 o& ^+ b: A+ { (3) exec:接收和发送EtherCAT数据时间(ns)。
( ~5 F4 Z" @! _6 d3 s5 F 备注说明:
9 s9 Q Y/ Q% y U (1) 使用评估板千兆网口测试时,需设置EtherCAT通讯周期时间为1.1ms,即将igh_ethercat_dc_motor.c中的FREQUENCY配置为900(如下图所示)。如设置EtherCAT通讯周期时间为1ms时,会出现数据丢失的问题,原因在于IMX8官方千兆网口驱动兼容性不够完善,NXP官方正计划修复此问题。' K* z' b+ O3 i; Q' d
![]()
7 e, W+ n/ h4 M8 {- Y; \ `. e
: {9 c# Y8 x, W$ v# Z& q) f
5 p, K. K! d5 z5 A
(2) 使用评估板USB2 ETH百兆网口,设置EtherCAT通讯周期为1ms测试正常。
7 Y, c8 c6 v( [4 G6 v (3) 为获得更高的实时性能,亦可通过PCIe接口外扩IgH EtherCAT专用集成网卡进行测试,IgH EtherCAT支持外扩集成网卡如下所示。
: W% M- U4 F! P# D- r% D; P8 n 5 M7 b4 j; F; t; q: `. D6 V
. E% L8 V0 M6 y/ M$ P
4 案例编译 4.1 IgH EtherCAT主站程序编译
2 c) }$ V _$ c1 b% Q4 F0 p2 a. X IgH EtherCAT主站程序的编译需依赖于基于Xemomai生成的内核,请参考Linux系统使用手册将案例"igh_ethercat_dc_motor\kernel-xenomai\src\"目录下的linux-5.4.70-xenomai-g8d94618-v1.0内核源码进行编译后,再编译IgH EtherCAT主站程序。7 o: k" X1 f! r* S
请将案例"igh_ethercat_dc_motor\igh_ethercat\src\"目录下的IgH EtherCAT主站程序开发包ethercat-stable-1.5-gcd0d17d-20210723.tar.gz拷贝至Ubuntu工作目录,执行如下命令进行解压。
% Q1 m5 t$ T( J" |( K2 R Host# mkdir EtherCAT
: {& A9 o w$ L. b Host# tar -xvf ethercat-stable-1.5-gcd0d17d-20210723.tar.gz -C EtherCAT/, ^8 u; T: ~6 G, ~2 p
![]()
3 ]" `' r* | t0 j1 \' ^; `4 W9 {6 ~# A4 I4 R
# d. @- G$ [, G, {
进入解压目录,执行如下命令生成configure文件。
& _( B* T b |7 v4 s Host# ./bootstrap
# w' f1 s( I2 ]; h ![]()
) N% L6 L; r3 m% T0 W1 Y0 L- ~- ~$ e/ a& G; }- b( b" V6 C; l
执行如下命令,加载SDK环境变量并进行配置。, d5 r" v) C/ `6 H
Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux
9 L) k: ]7 C1 J# v' d Host# mkdir __install //创建__install文件夹用于存放生成的文件( ~/ u# I, |& L- ` j8 O
Host# ./configure --prefix=/home/tronlong/EtherCAT/__install --with-linux-dir=/home/tronlong/kernel-xenomai/ --enable-8139too=no --enable-generic=yes --host=aarch64-poky-linux
* B. e( U- p2 H# M* P; R3 m* x 备注:"/home/tronlong/kernel-xenomai/"为案例提供的内核源码目录。
) a! }* y. T, |0 S8 }9 ?4 d4 q ![]()
{4 C8 p4 D& Z a1 ~0 \) M/ ~: d7 K) G+ |# K6 ?( L+ Q
) G0 d _( q. ? {
' y5 s+ v; S; [. x
' e( a6 ?0 a) ?5 N
1 g0 `# K; R" X& Q/ n- r 执行如下命令,进行编译。
2 H- r+ v8 _1 @0 c; K% k4 c* C, { Host# make* ~% W$ Y, c2 B# l
8 `0 t' R- z" ~8 [% X1 m/ t' O
) P& f& n8 B, R* X* @# H, d
G% K! q% ^* D* } C1 u
3 p/ |( I$ T1 q
) b5 T1 T/ d- a$ e5 A
7 h4 W& L3 Y! T
执行如下命令,编译驱动。
; Z# E. _0 |$ v0 Q" E Q# s- a Host# make modules
' s ~% X& d: j$ P G ]3 ` k0 m* ~' y5 Y
; n. q8 O2 A! u9 |1 X
![]()
! y* X u! B9 L8 y" K' P" i: O {: w
' L. @: B; M! s2 {, X( n2 L2 { 执行如下命令,将生成的IgH EtherCAT主站程序安装至指定路径下。! u* n4 j) l6 X0 J
Host# make install systemdsystemunitdir=/home/tronlong/EtherCAT/__install: i: Z; h/ c" |2 o m; W
![]()
7 L1 @3 M* D/ F$ v6 U4 z8 e) u, ?- Y! W$ ~- _7 [4 j/ E) T
![]()
9 r% l; d+ p$ k% p% p. V# M1 T' ]8 }
7 H% Y* _" a S+ j, g6 L1 U( h 执行如下命令,将驱动文件拷贝至"__install/modules/"目录下。
4 s% C# h: v0 |- H2 C; h6 {$ M8 q! F Host# mkdir -p __install/modules0 q& G4 b! e4 {1 q0 F% N$ c2 _* X# e8 u
Host# cp ./master/ec_master.ko ./__install/modules/7 `' g0 B" R- s% B/ E, k
Host# cp ./devices/ec_generic.ko ./__install/modules/& q8 P! ?1 L1 s/ o/ c. b- c9 g
![]()
- [9 u0 i( b' I* Z. _! `
) Z; P% U; w0 ?& p4 j8 {+ B
) {( t( T/ g2 C! g+ e9 h
4.2 igh_ethercat_dc_motor案例编译2 g, m4 C9 L" K# t
igh_ethercat_dc_motor案例的编译需基于IgH EtherCAT主站程序,请先编译IgH EtherCAT主站程序。
$ `7 O; g+ W7 @& D- j$ n7 ` 请将案例"igh_ethercat_dc_motor\src\"目录拷贝至Ubuntu工作目录下,进入src目录执行如下命令修改Makefile相关内容为IgH EtherCAT主站程序对应目录。
. L9 k/ K# I% @; e+ \8 h; r- \0 | Host# vi Makefile5 a7 e+ V. ~6 N) C
![]()
- X; B: E7 s. a3 H4 ]8 ~0 N0 N U" ?+ [$ T4 l/ n# Z% k
8 e1 r$ _& N1 |6 i' N
![]()
( B6 {9 L1 P2 `8 d& I+ Q, B* @% n; O8 I+ R0 a" j3 j
3 ^5 v8 }) j5 t. p1 c, U
然后执行如下命令,加载SDK环境变量并进行编译。编译完成后,将在当前目录下生成可执行文件。- f4 d1 I8 q* i* t+ A
Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux( D ?' g' s; W$ n& \5 b
Host# make
8 N6 P# \: B2 L% z* Q ![]()
; i. l# T! C) U! e. h v. h \0 A( T2 u- g# e
& s0 r- k" o- o; \7 V4 y/ e 5 关键代码 (1) 创建EtherCAT Master。) m0 Y' T: X; K. Q$ u
3 _) f$ A( v& {2 x. M. H8 i
s% d2 W5 a( }) ?
, B) x! ]% s) s( i) Y
(2) 创建域。 p/ q) b$ F8 `4 p
6 o; l4 `6 i4 x7 M, u
3 `( ^' B; d. l
& |# A! X4 w. G# L1 R (3) 配置PDO。
- ?) _. N: Z4 L) P; F O ![]()
2 \# G, S# ^1 ~2 Z% N( N3 P; ~0 @0 G( p
% n M. r/ C2 N7 h1 l$ h# m3 L( ~6 [ (4) 为域注册PDO条目。
" B+ h) a7 ?2 u' g" S3 U 0 {' h" q( k! X8 T- `7 T6 U& @
2 H* V3 B7 [& C% ^) a* R
(5) 激活Master。
2 ?) Q0 @+ O: |: H* U/ X ![]()
2 N2 `" Z) I" K4 a% ?5 B/ \9 q! J' \8 O8 A% o/ P
" V4 O0 Y2 T* @, o( o! E
(6) 修改当前进程优先级。* z1 s) ]* G! f9 F( O6 f* ?
![]()
2 s- j& o8 k# X1 F5 Z' J3 D1 k8 S8 k7 n; o+ c- y
6 w6 l/ }7 m& G2 S1 a
(7) 进入循环周期任务。1 |' m) q$ ^& Z) k ]. O
& F1 x+ C" ~0 W/ r7 L; P4 N! l' m) ~
$ h& L1 n+ B+ F- V8 f, W
5 Q0 b2 h) |8 R: e (8) 在周期任务中设置驱动器操作模式、加速度和减速度,分别发送0x6、0x7、0xF使驱动器处于ON状态。7 m' D/ {1 o; Q4 [/ Q( Y
![]()
8 \8 ^* F# z, I/ r$ S
3 n' `$ @+ P5 H9 I& i7 X8 B
3 R8 X" {+ f9 C (9) 发送目标速度,转动电机。 ) o+ L6 U/ J# m( ^% \
5 D- B# u: u: t6 k7 H: s* q
1 [! T/ j5 ]0 k$ k, ^& B: N/ ^
- n: I" l( p$ |9 c 6 Xenomai简介 Xenomai是一个免费开源的Linux平台实时框架,通过使用与Linux内核并行运行的实时协同内核(real-time co-kernel)处理所有对时间要求严格的活动,例如处理中断和调度实时线程。Cobalt core比原生Linux与RT-Linux内核具有更高的优先级。# T! [" A+ Y1 A# q. k9 v- r
![]()
0 `7 A0 I& m) A; B
$ w$ ?$ ?4 Y8 X
3 @6 H; U( e) W2 p3 G ![]()
2 u% w$ q' N* C( Z3 `* @" m. X5 B. d) {! A& n
6.1 编译说明1 M: M1 `6 z: F
案例使用的Xenomai版本为3.1.1,开发包为案例"igh_ethercat_dc_motor\xenomai\src\"目录下的xenomai-v3.1.1-g8b2052e.tar.gz,将其拷贝至Ubuntu工作目录下,执行如下命令进行解压。4 O! x* W+ H, U C- E! C1 n
Host# mkdir Xenomai
/ z4 I4 Z; b! i. w! X Host# tar -xvf xenomai-v3.1.1-g8b2052e.tar.gz -C Xenomai/1 K. s y W4 }" c% R$ [( }
![]()
0 v: j1 V5 z* |, n+ _: w+ L p N7 P2 B V; ~5 {7 J$ t" \* K5 \7 P
* U& _7 p1 b! V( t o, t 进入解压目录,执行如下命令在当前目录生成configure文件。) n& H4 t' J* T! ~6 x7 b! s
Host# ./scripts/bootstrap
) Q2 c7 |. I" ]: a; Q! B ![]()
# ^4 X" H/ q# g' U9 K
% f3 W! \' S( l3 |; P, x" l9 K 执行如下命令,加载SDK环境变量并进行配置,请确保已正确安装交叉编译工具。
8 k6 \! H, ^4 D( t2 @/ H0 ^ Host# source /home/tronlong/SDK/environment-setup-aarch64-poky-linux! \) U' O: ~: X8 S$ G
Host# ./configure --build=i686-pc-linux-gnu --host=aarch64-poky-linux --disable-debug --enable-smp --with-core=cobalt5 x( V$ z: V# W8 C
![]()
; M+ h# [( r A6 `% {6 @* R# V9 @4 l( h- F: S Q& o/ b
7 P' i5 }4 i, j % q. v. ^ a( R4 B
; E# \% d( N$ C% O5 p* }: U: J8 E
- s* d) X9 b3 m- K! f9 X0 z
Host# mkdir __install //创建__install文件夹用于存放生成的文件2 x4 i$ }* s; ^! C# G/ ?
Host# make DESTDIR=/home/tronlong/Xenomai/__install install; Q6 p0 D& M7 T& M% j: W
![]()
' O$ ]! E1 T% V3 c; ?' r/ | N* Y4 s0 S" `0 l8 G+ y2 ] l
4 c" K, n, [" } 编译完成后,将在__install目录下生成usr文件夹。! o8 F4 o& T8 b& u# @9 x
+ d- \. ?% M: l: o, d* s s
9 C) z+ \( I% a3 o, ]/ T6 o
4 u& l! ]: q( {. r# R1 t* F 6.2 测试说明7 c# X' s$ ~* q: [$ _( D8 V( i
为便于测试,我司提供的经验证的Xenomai测试程序为案例"igh_ethercat_dc_motor\xenomai\images\xenomai-v3.1.1-g8b2052e\"目录下xenomai-v3.1.1-g8b2052e.tar.gz压缩包,在Ubuntu下解压即可得到Xenomai测试程序文件夹。, B/ ?- W! R* b" X1 Y4 [
请使用已替换内核的Linux系统启动卡启动评估板,将Xenomai测试程序文件夹整个拷贝至评估板文件系统,执行如下命令拷贝Xenomai相关文件和设置动态链接库。本次测试将Xenomai测试程序文件夹命名为__install。3 j& ?# h$ O- B, U+ o1 o q- e$ z
Target# cp -r Xenomai/__install/usr/xenomai/ /usr/+ \3 ?. G @4 G6 x9 K; F; X+ y
Target# export LD_LIBRARY_PATH=/usr/xenomai/lib LD_LIBRARY_PATH. t2 J7 y" O9 f
- ?/ r* `4 Q8 X4 r, }. w# Q B
z( N/ M9 f- L+ P7 S4 G' _. N
9 E* z/ `5 @0 ?4 y" D! I; {# \ Xenomai的测试工具均位于"/usr/xenomai/bin/"目录下,可调用对应测试工具进行测试。
O6 Y' V9 M2 o: H0 e 2 B; k" t2 x @$ ?/ H; }. d
& \0 w7 }& S& V- J' G' e
( b: ]* c$ f0 {( ?8 e 使用Cyclictest工具进行实时性能基准测试。. c- j0 U3 I/ Y
Target# echo 0 > /proc/xenomai/latency" `2 |+ A# ~8 V8 S; o& e* f4 w
Target# /usr/xenomai/demo/cyclictest -t5 -p98 -m -n. C$ e+ e0 A; d# n6 n* a' E3 W2 ^4 m
. [) }8 D# r: [ y
. J) ^( H& V0 {, }" l2 H9 ]# q1 E
0 A" D$ A) R% }/ I. {
* \) g9 F8 l; y4 M) n+ O0 Z6 u) ~
: c5 h. }6 Z7 ?% ]7 u2 N& R
! N1 E0 H" ^! ] 如果你还想了解更多嵌入式应用的相关知识,欢迎关注Tronlong创龙科技
) ^& `' R, b9 |" d" b+ c7 p. O- ~4 j( _% Z
|