SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
1OpenPOWERLINK / Xenomai
openPOWERLINK over Xenomai
Pierre Ficheux (pierre.ficheux@smile.fr)
02/2017
2OpenPOWERLINK / Xenomai
$ whoami
●
French embedded Linux developer, writer and teacher
●
CTO @ Smile-ECS (Embedded & Connected Systems)
3OpenPOWERLINK / Xenomai
POWERLINK
4OpenPOWERLINK / Xenomai
Industrial bus
●
Used to connect industrial devices in real time mode
●
Main standards are both “serial” and/or Ethernet
– CAN
– MODBUS (-TCP)
– Profinet
– EtherCAT
– AFDX (Avionics Full DupleX)
– POWERLINK
●
Ethernet is a standard
– Easy to integrate, cheap hardware and good
performances (standard CAN is 1 Mbps)
– Homogeneous networking (routing, etc.)
– No RT because of collision detection
5OpenPOWERLINK / Xenomai
POWERLINK
●
Deterministic Ethernet based industrial bus
●
Originally created by B&R automation (Austria) in 2001
●
Managed since 2003 by open organization EPSG (Ethernet
POWERLINK Standardization Group)
●
Leverage advantages of Ethernet for RT networking systems
●
1.8 M systems installed (2016)
●
Min cycle time is 100 µs, 240 nodes on a single network
●
Software only → works on standard Ethernet
●
Avoid collisions thanks to a software only protocol :-)
●
Open-source version (2.x) openPOWERLINK available from
SourceForge
●
Now used by B&R hardware (PLC)
6OpenPOWERLINK / Xenomai
POWERLINK frame
Powerlink frame “inside” Ethernet payload
7OpenPOWERLINK / Xenomai
POWERLINK protocol
●
One “manager” node (MN) and several “controlled”
nodes (CN)
●
Cycle divided in 3 steps
– MN synchronizes CNs with a SoC (Start of Cycle)
frame which starts “isochronous phase” (RT)
– CN receives PReq (Poll Request) from MN, and replies
with PRes (Poll Response) and data (RT)
– Last step is “asynchronous phase” (no RT) started with
SoA. Addressed node should answer ASnd
●
Standard IP-based protocols and addressing can be
used during the asynchronous phase
8OpenPOWERLINK / Xenomai
POWERLINK protocol
RT
9OpenPOWERLINK / Xenomai
openPOWERLINK
●
Open source implementation of POWERLINK stack
●
BSD license
●
Support for Linux, Windows, Xilinx/Altera FPGAs
●
Official support for x86, ARM (Zynq)
● CMake based → CMAKE_TOOLCHAIN_FILE for cross-
compilation
●
Buildroot integration by Smile-ECS (latest stable 2.4.1)
●
Building process :
– Stack
– Drivers (if necessary)
– Demo applications MN/CN (console, Qt)
10OpenPOWERLINK / Xenomai
Architecture 1 (kernel)
●
Application in user space
●
Stack and drivers in kernel space
●
High performance and precision
● Specific drivers (stack/src/kernel/edrv for Ethernet
drivers)
– About > 10 supported controllers
– No Linux “mainlining”
●
Hard to debug (kernel space) user
kernel
11OpenPOWERLINK / Xenomai
Architecture 2 (user)
●
Move stack to user space
●
Use libpcap library (tcpdump) to talk with standard
Linux driver
●
Proven solution
●
Much easier to debug
●
Based on Linux NIC drivers
●
Better with PREEMPT_RT patch
●
100 µs jitter (only 40 µs in kernel)
user
12OpenPOWERLINK / Xenomai
Xenomai
13OpenPOWERLINK / Xenomai
Standard Linux & RT :-(
14OpenPOWERLINK / Xenomai
Linux/Xenomai & RT :-)
15OpenPOWERLINK / Xenomai
Linux & RT
●
Using Linux as “RTOS” is very interesting
– POSIX
– Hybrid approach → UNIX + some RT tasks
– Usable as a standard UNIX
●
2 solutions :
– Upgrading Linux kernel RT performance
(PREEMPT_RT, the “official” way)
– Adding a RT “co-kernel” sharing hardware with Linux
(RTLinux, RTAI, Xenomai)
16OpenPOWERLINK / Xenomai
PREEMPT_RT
●
Maintained by Thomas Gleixner
●
Mostly used on x86 (but runs on most recent ARM,
Nios2, Microblaze)
●
Needs a mainline kernel (or something like)
●
Very easy to install (just a kernel patch)
●
Same programming API as standard kernel (user and
kernel space)
●
50 µs jitter (x86/Atom), 150 µs on Raspberry Pi B+
●
Currently used with openPOWERLINK
●
Official project of Linux foundation since Oct. 2015 !
17OpenPOWERLINK / Xenomai
Co-kernel
●
Adding co-kernel for RT tasks
– RT subsystem inside kernel module(s)
– Needs kernel patch for hardware resource (IRQ)
virtualization
●
Main projects
– Kernel only (RTLinux, 1996) → “dead”
– Kernel & (partially) user space (RTAI, 1998)
– Full user space integration (Xenomai, 2001)
●
10 µs jitter on Atom/x86, 50 µs on Raspberry Pi B+
18OpenPOWERLINK / Xenomai
RTLinux architecture (kernel only)
19OpenPOWERLINK / Xenomai
Xenomai
●
Created by Philippe Gerum
●
Xenomai = realtime Linux subsystem
– RT tasks in user space
– RT driver API = RTDM for “Real Time Driver Model”
– RT network stack = RTnet !
●
Include “skins” for POSIX, VxWorks, VRTX, uITRON,
pSOS+, etc.
●
Runs on top of I-pipe (Interrupt pipeline)
– Xenomai domain (RT)
– Linux domain (No RT)
●
Currently 2.6.5 and 3.0.3
●
3.0 uses co-kernel (Cobalt) or PREEMPT_RT
(Mercury)
●
GPL license (kernel), LGPL (user)
20OpenPOWERLINK / Xenomai
Xenomai 3 architecture (Cobalt)
21OpenPOWERLINK / Xenomai
I-pipe
●
I-pipe = interrupt source for “domains” (Xenomai, Linux)
based on ADEOS technology
●
Highest priority to RT domain (Xenomai)
●
Stalled/unstall domain instead of hardware CLI/STI
22OpenPOWERLINK / Xenomai
Xenomai in industry
●
CANFestival (CANopen stack)
●
PEAK System CAN boards drivers
●
EtherCAT master
●
RTDM SPI driver (i.MX28)
●
BEREMIZ, integrated development environment for
machine automation
●
And much more...
23OpenPOWERLINK / Xenomai
openPOWERLINK over Xenomai
24OpenPOWERLINK / Xenomai
Proof of concept
●
Started as 2 internships
– Damien Lagneux for the first version on i.MX6 boards
and Buildroot (Armadeus APF6, RIOTboard → RTnet
support for “FEC” controller)
– Geoffrey Bonneville for improvement and Android
testing (AIOSP) on BeagleBone Black
●
No Raspberry Pi because of USB based Ethernet
(though there is Pi2 port for openPOWERLINK!)
●
Using openPOWERLINK in Xenomai domain
●
PREEMPT_RT / Xenomai comparison !
25OpenPOWERLINK / Xenomai
RTnet
●
Xenomai v2 contribution, merged with v3
●
Based on RTDM (protocol device)
●
Limited hardware support (dedicated driver API)
– FEC, AT91, AM335x (BB Black, external contrib)
– RTL8139, Natsemi, PCnet32
– MPC8xxx
●
Example session (BB Black)
# insmod rtnet .ko
# insmod rt_smsc.ko
# insmod rt_davinci_mdio.ko
# insmod rt_ticpsw.ko
# insmod rtpacket.ko
# insmod rtipv4.ko
# rtifconfig rteth0 up 192.168.1.1
# rtroute add 192.168.1.2 00:22:15:80:D5:88 dev rteth0
# rtping 192.168.1.2
26OpenPOWERLINK / Xenomai
Architecture
●
One openPOWERLINK architecture is based on
libpcap
●
Libpcap (Linux) is based on “packet” protocol
●
Xenomai RTnet stack includes packet socket support
(“rtpacket” module)
●
Porting libpcap to Xenomai is quite difficult !
●
Hardware is limited by RTnet driver availability (but it's
just an POC !)
27OpenPOWERLINK / Xenomai
Architecture
28OpenPOWERLINK / Xenomai
Architecture
●
PCAP layer removed
●
Sending / receiving packet (through packet socket)
directly from/to the openPOWERLINK stack
●
RTnet architecture is close to openPOWERLINK
“kernel” architecture
29OpenPOWERLINK / Xenomai
Test configuration
●
1 i.MX6 board as MN
●
2 B&R modules as CN
●
1 B&R capture module (timestamping)
●
1 PC for saving frames
30OpenPOWERLINK / Xenomai
Test and results
●
Xenomai solution is close to Linux “kernel” version of
openPOWERLINK (architecture 1)
●
Based on Baumgartner/Schoenegger/Wallner papers (B&R)
● Stress with cpuburn, dd, hackbench
●
Jitter for 500 µs cycle
●
Better than PREEMPT_RT !
31OpenPOWERLINK / Xenomai
Conclusion + future work
●
Currently not stable enough for industrial use → stack
debug and optimization
●
Test with more CN
●
Work to be done with B&R
– mainlining in openPOWERLINK project
– more test with available POWERLINK devices
●
PREEMPT_RT version is fair enough for most projects
●
Currently not a strategic market for Smile-ECS (except
one customer)
32OpenPOWERLINK / Xenomai
Bibliography
●
http://www.embest-tech.com/shop/star/riotboard.html
●
http://www.armadeus.com/francais/produits-cartes_microprocesseur-apf6.html
●
http://www.ethernet-powerlink.org
●
http://openpowerlink.sourceforge.net/web
●
http://www.automationworld.com/networking-amp-connectivity/fieldbus-industrial-ethernet
●
https://lwn.net/Articles/572740
●
http://www.beremiz.org
●
https://www.osadl.org/fileadmin/dam/rtlws/12/Baumgartner.pdf
●
https://lwn.net/images/conf/rtlws-2011/proc/Baumgartner.pdf
●
http://www.ethernet-powerlink.org/en/raspberrypi2
●
“Introduction to RTnet”, P. Ficheux, Open Silicium #15 (french)
●
“Improving openPOWERLINK with RTnet”, G. Bonneville, Open Silicium #19 (french)
●
“openPOWERLINK et Xenomai” D. Lagneux (Internship report, french)
●
“A(I)OSP, Android – Industrial - Open Source Project” G. Bonneville (Internship report , sfrench)

Mais conteúdo relacionado

Mais procurados

U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal BootloaderSatpal Parmar
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayAnne Nicolas
 
Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...
Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...
Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...linuxlab_conf
 
Golang execution modes
Golang execution modesGolang execution modes
Golang execution modesTing-Li Chou
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Samsung Open Source Group
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-startNguyen Vinh
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMAlexander Shopov
 
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHenry Schreiner
 
Linux Kernel 개발참여방법과 문화 (Contribution)
Linux Kernel 개발참여방법과 문화 (Contribution)Linux Kernel 개발참여방법과 문화 (Contribution)
Linux Kernel 개발참여방법과 문화 (Contribution)Ubuntu Korea Community
 
Device Tree Overlay implementation on AOSP 9.0
Device Tree Overlay implementation on AOSP 9.0Device Tree Overlay implementation on AOSP 9.0
Device Tree Overlay implementation on AOSP 9.0Cheng Wig
 
Andrea Righi - Spying on the Linux kernel for fun and profit
Andrea Righi - Spying on the Linux kernel for fun and profitAndrea Righi - Spying on the Linux kernel for fun and profit
Andrea Righi - Spying on the Linux kernel for fun and profitlinuxlab_conf
 
Lunch and Learn - FFmpeg
Lunch and Learn - FFmpegLunch and Learn - FFmpeg
Lunch and Learn - FFmpegNuruddin Ashr
 
GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介Wen Liao
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonCodeSyntax
 
Configure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopConfigure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopNovell
 

Mais procurados (20)

U Boot or Universal Bootloader
U Boot or Universal BootloaderU Boot or Universal Bootloader
U Boot or Universal Bootloader
 
Embedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops wayEmbedded Recipes 2019 - Testing firmware the devops way
Embedded Recipes 2019 - Testing firmware the devops way
 
Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...
Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...
Valerio Di Giampietro - Introduction To IoT Reverse Engineering with an examp...
 
Golang execution modes
Golang execution modesGolang execution modes
Golang execution modes
 
PHP selber bauen
PHP selber bauenPHP selber bauen
PHP selber bauen
 
FD.io VPP with XeonPhi
FD.io VPP with XeonPhiFD.io VPP with XeonPhi
FD.io VPP with XeonPhi
 
Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64Tutorial: Cross-compiling Linux Kernels on x86_64
Tutorial: Cross-compiling Linux Kernels on x86_64
 
01 linux-quick-start
01 linux-quick-start01 linux-quick-start
01 linux-quick-start
 
Bundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPMBundling Packages and Deploying Applications with RPM
Bundling Packages and Deploying Applications with RPM
 
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
 
Linux Kernel 개발참여방법과 문화 (Contribution)
Linux Kernel 개발참여방법과 문화 (Contribution)Linux Kernel 개발참여방법과 문화 (Contribution)
Linux Kernel 개발참여방법과 문화 (Contribution)
 
FFMPEG TOOLS
FFMPEG TOOLSFFMPEG TOOLS
FFMPEG TOOLS
 
Device Tree Overlay implementation on AOSP 9.0
Device Tree Overlay implementation on AOSP 9.0Device Tree Overlay implementation on AOSP 9.0
Device Tree Overlay implementation on AOSP 9.0
 
Andrea Righi - Spying on the Linux kernel for fun and profit
Andrea Righi - Spying on the Linux kernel for fun and profitAndrea Righi - Spying on the Linux kernel for fun and profit
Andrea Righi - Spying on the Linux kernel for fun and profit
 
Lunch and Learn - FFmpeg
Lunch and Learn - FFmpegLunch and Learn - FFmpeg
Lunch and Learn - FFmpeg
 
Beta kate
Beta kateBeta kate
Beta kate
 
GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介GNU Make, Autotools, CMake 簡介
GNU Make, Autotools, CMake 簡介
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
 
FFmpeg
FFmpegFFmpeg
FFmpeg
 
Configure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation WorkshopConfigure, Pack and Distribute: An RPM Creation Workshop
Configure, Pack and Distribute: An RPM Creation Workshop
 

Semelhante a openPOWERLINK over Xenomai

[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...OpenStack Korea Community
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...PROIDEA
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Hajime Tazaki
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackOpen-NFP
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesSamsung Open Source Group
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Michelle Holley
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)Kirill Tsym
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingKernel TLV
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceSamsung Open Source Group
 
Unikraft: Fast, Specialized Unikernels the Easy Way
Unikraft: Fast, Specialized Unikernels the Easy WayUnikraft: Fast, Specialized Unikernels the Easy Way
Unikraft: Fast, Specialized Unikernels the Easy WayScyllaDB
 
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)Hajime Tazaki
 
First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough
First Look Webcast: OneCore Storage SDK 3.6 Roll-out and WalkthroughFirst Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough
First Look Webcast: OneCore Storage SDK 3.6 Roll-out and WalkthroughEmulex Corporation
 
Network stack personality in Android phone - netdev 2.2
Network stack personality in Android phone - netdev 2.2Network stack personality in Android phone - netdev 2.2
Network stack personality in Android phone - netdev 2.2Hajime Tazaki
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxSamsung Open Source Group
 
the NML project
the NML projectthe NML project
the NML projectLei Yang
 

Semelhante a openPOWERLINK over Xenomai (20)

[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
[OpenStack Day in Korea 2015] Track 1-6 - 갈라파고스의 이구아나, 인프라에 오픈소스를 올리다. 그래서 보이...
 
RISC-V 30908 patra
RISC-V 30908 patraRISC-V 30908 patra
RISC-V 30908 patra
 
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...PLNOG16: Obsługa 100M pps na platformie PC, Przemysław Frasunek, Paweł Mała...
PLNOG16: Obsługa 100M pps na platformie PC , Przemysław Frasunek, Paweł Mała...
 
LEGaTO Integration
LEGaTO IntegrationLEGaTO Integration
LEGaTO Integration
 
Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)Network Stack in Userspace (NUSE)
Network Stack in Userspace (NUSE)
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
Install FD.IO VPP On Intel(r) Architecture & Test with Trex*
 
FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)FD.io Vector Packet Processing (VPP)
FD.io Vector Packet Processing (VPP)
 
FD.IO Vector Packet Processing
FD.IO Vector Packet ProcessingFD.IO Vector Packet Processing
FD.IO Vector Packet Processing
 
Linux Network Stack
Linux Network StackLinux Network Stack
Linux Network Stack
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
Unikraft: Fast, Specialized Unikernels the Easy Way
Unikraft: Fast, Specialized Unikernels the Easy WayUnikraft: Fast, Specialized Unikernels the Easy Way
Unikraft: Fast, Specialized Unikernels the Easy Way
 
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
Linux rumpkernel - ABC2018 (AsiaBSDCon 2018)
 
First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough
First Look Webcast: OneCore Storage SDK 3.6 Roll-out and WalkthroughFirst Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough
First Look Webcast: OneCore Storage SDK 3.6 Roll-out and Walkthrough
 
Network stack personality in Android phone - netdev 2.2
Network stack personality in Android phone - netdev 2.2Network stack personality in Android phone - netdev 2.2
Network stack personality in Android phone - netdev 2.2
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
netLec5.pdf
netLec5.pdfnetLec5.pdf
netLec5.pdf
 
the NML project
the NML projectthe NML project
the NML project
 
Enduro/X Middleware
Enduro/X MiddlewareEnduro/X Middleware
Enduro/X Middleware
 

Mais de Alexandre LAHAYE

Présentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECSPrésentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECSAlexandre LAHAYE
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésAlexandre LAHAYE
 
Les technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésLes technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésAlexandre LAHAYE
 
Les technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésLes technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésAlexandre LAHAYE
 
Qt4 et 5 pour Linux embarqué
Qt4 et 5 pour Linux embarquéQt4 et 5 pour Linux embarqué
Qt4 et 5 pour Linux embarquéAlexandre LAHAYE
 
Les technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquéesLes technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquéesAlexandre LAHAYE
 
Open Wide : les licences libres.
Open Wide : les licences libres. Open Wide : les licences libres.
Open Wide : les licences libres. Alexandre LAHAYE
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesAlexandre LAHAYE
 
Open Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueOpen Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueAlexandre LAHAYE
 
OPEN WIDE : L’open source pour les systemes embarques Temps reel
OPEN WIDE : L’open source pour les systemes embarques Temps reelOPEN WIDE : L’open source pour les systemes embarques Temps reel
OPEN WIDE : L’open source pour les systemes embarques Temps reelAlexandre LAHAYE
 

Mais de Alexandre LAHAYE (13)

Présentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECSPrésentation Bluetooth Low Energy - SMILE ECS
Présentation Bluetooth Low Energy - SMILE ECS
 
Les solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarquésLes solutions libres pour les systèmes embarqués
Les solutions libres pour les systèmes embarqués
 
Les technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésLes technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectés
 
Les technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectésLes technologies Open Source pour les objets connectés
Les technologies Open Source pour les objets connectés
 
Qt4 et 5 pour Linux embarqué
Qt4 et 5 pour Linux embarquéQt4 et 5 pour Linux embarqué
Qt4 et 5 pour Linux embarqué
 
Les technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquéesLes technologies Open Source pour les interfaces graphiques embarquées
Les technologies Open Source pour les interfaces graphiques embarquées
 
Android pour l'industrie
Android pour l'industrieAndroid pour l'industrie
Android pour l'industrie
 
Yocto oe
Yocto oeYocto oe
Yocto oe
 
Plateformes embarquées
Plateformes embarquéesPlateformes embarquées
Plateformes embarquées
 
Open Wide : les licences libres.
Open Wide : les licences libres. Open Wide : les licences libres.
Open Wide : les licences libres.
 
Open Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarquesOpen Wide : Les outils pour le développement des systemes embarques
Open Wide : Les outils pour le développement des systemes embarques
 
Open Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarqueOpen Wide : Les interfaces graphiques dans l'embarque
Open Wide : Les interfaces graphiques dans l'embarque
 
OPEN WIDE : L’open source pour les systemes embarques Temps reel
OPEN WIDE : L’open source pour les systemes embarques Temps reelOPEN WIDE : L’open source pour les systemes embarques Temps reel
OPEN WIDE : L’open source pour les systemes embarques Temps reel
 

Último

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

openPOWERLINK over Xenomai

  • 1. 1OpenPOWERLINK / Xenomai openPOWERLINK over Xenomai Pierre Ficheux (pierre.ficheux@smile.fr) 02/2017
  • 2. 2OpenPOWERLINK / Xenomai $ whoami ● French embedded Linux developer, writer and teacher ● CTO @ Smile-ECS (Embedded & Connected Systems)
  • 4. 4OpenPOWERLINK / Xenomai Industrial bus ● Used to connect industrial devices in real time mode ● Main standards are both “serial” and/or Ethernet – CAN – MODBUS (-TCP) – Profinet – EtherCAT – AFDX (Avionics Full DupleX) – POWERLINK ● Ethernet is a standard – Easy to integrate, cheap hardware and good performances (standard CAN is 1 Mbps) – Homogeneous networking (routing, etc.) – No RT because of collision detection
  • 5. 5OpenPOWERLINK / Xenomai POWERLINK ● Deterministic Ethernet based industrial bus ● Originally created by B&R automation (Austria) in 2001 ● Managed since 2003 by open organization EPSG (Ethernet POWERLINK Standardization Group) ● Leverage advantages of Ethernet for RT networking systems ● 1.8 M systems installed (2016) ● Min cycle time is 100 µs, 240 nodes on a single network ● Software only → works on standard Ethernet ● Avoid collisions thanks to a software only protocol :-) ● Open-source version (2.x) openPOWERLINK available from SourceForge ● Now used by B&R hardware (PLC)
  • 6. 6OpenPOWERLINK / Xenomai POWERLINK frame Powerlink frame “inside” Ethernet payload
  • 7. 7OpenPOWERLINK / Xenomai POWERLINK protocol ● One “manager” node (MN) and several “controlled” nodes (CN) ● Cycle divided in 3 steps – MN synchronizes CNs with a SoC (Start of Cycle) frame which starts “isochronous phase” (RT) – CN receives PReq (Poll Request) from MN, and replies with PRes (Poll Response) and data (RT) – Last step is “asynchronous phase” (no RT) started with SoA. Addressed node should answer ASnd ● Standard IP-based protocols and addressing can be used during the asynchronous phase
  • 9. 9OpenPOWERLINK / Xenomai openPOWERLINK ● Open source implementation of POWERLINK stack ● BSD license ● Support for Linux, Windows, Xilinx/Altera FPGAs ● Official support for x86, ARM (Zynq) ● CMake based → CMAKE_TOOLCHAIN_FILE for cross- compilation ● Buildroot integration by Smile-ECS (latest stable 2.4.1) ● Building process : – Stack – Drivers (if necessary) – Demo applications MN/CN (console, Qt)
  • 10. 10OpenPOWERLINK / Xenomai Architecture 1 (kernel) ● Application in user space ● Stack and drivers in kernel space ● High performance and precision ● Specific drivers (stack/src/kernel/edrv for Ethernet drivers) – About > 10 supported controllers – No Linux “mainlining” ● Hard to debug (kernel space) user kernel
  • 11. 11OpenPOWERLINK / Xenomai Architecture 2 (user) ● Move stack to user space ● Use libpcap library (tcpdump) to talk with standard Linux driver ● Proven solution ● Much easier to debug ● Based on Linux NIC drivers ● Better with PREEMPT_RT patch ● 100 µs jitter (only 40 µs in kernel) user
  • 15. 15OpenPOWERLINK / Xenomai Linux & RT ● Using Linux as “RTOS” is very interesting – POSIX – Hybrid approach → UNIX + some RT tasks – Usable as a standard UNIX ● 2 solutions : – Upgrading Linux kernel RT performance (PREEMPT_RT, the “official” way) – Adding a RT “co-kernel” sharing hardware with Linux (RTLinux, RTAI, Xenomai)
  • 16. 16OpenPOWERLINK / Xenomai PREEMPT_RT ● Maintained by Thomas Gleixner ● Mostly used on x86 (but runs on most recent ARM, Nios2, Microblaze) ● Needs a mainline kernel (or something like) ● Very easy to install (just a kernel patch) ● Same programming API as standard kernel (user and kernel space) ● 50 µs jitter (x86/Atom), 150 µs on Raspberry Pi B+ ● Currently used with openPOWERLINK ● Official project of Linux foundation since Oct. 2015 !
  • 17. 17OpenPOWERLINK / Xenomai Co-kernel ● Adding co-kernel for RT tasks – RT subsystem inside kernel module(s) – Needs kernel patch for hardware resource (IRQ) virtualization ● Main projects – Kernel only (RTLinux, 1996) → “dead” – Kernel & (partially) user space (RTAI, 1998) – Full user space integration (Xenomai, 2001) ● 10 µs jitter on Atom/x86, 50 µs on Raspberry Pi B+
  • 18. 18OpenPOWERLINK / Xenomai RTLinux architecture (kernel only)
  • 19. 19OpenPOWERLINK / Xenomai Xenomai ● Created by Philippe Gerum ● Xenomai = realtime Linux subsystem – RT tasks in user space – RT driver API = RTDM for “Real Time Driver Model” – RT network stack = RTnet ! ● Include “skins” for POSIX, VxWorks, VRTX, uITRON, pSOS+, etc. ● Runs on top of I-pipe (Interrupt pipeline) – Xenomai domain (RT) – Linux domain (No RT) ● Currently 2.6.5 and 3.0.3 ● 3.0 uses co-kernel (Cobalt) or PREEMPT_RT (Mercury) ● GPL license (kernel), LGPL (user)
  • 20. 20OpenPOWERLINK / Xenomai Xenomai 3 architecture (Cobalt)
  • 21. 21OpenPOWERLINK / Xenomai I-pipe ● I-pipe = interrupt source for “domains” (Xenomai, Linux) based on ADEOS technology ● Highest priority to RT domain (Xenomai) ● Stalled/unstall domain instead of hardware CLI/STI
  • 22. 22OpenPOWERLINK / Xenomai Xenomai in industry ● CANFestival (CANopen stack) ● PEAK System CAN boards drivers ● EtherCAT master ● RTDM SPI driver (i.MX28) ● BEREMIZ, integrated development environment for machine automation ● And much more...
  • 24. 24OpenPOWERLINK / Xenomai Proof of concept ● Started as 2 internships – Damien Lagneux for the first version on i.MX6 boards and Buildroot (Armadeus APF6, RIOTboard → RTnet support for “FEC” controller) – Geoffrey Bonneville for improvement and Android testing (AIOSP) on BeagleBone Black ● No Raspberry Pi because of USB based Ethernet (though there is Pi2 port for openPOWERLINK!) ● Using openPOWERLINK in Xenomai domain ● PREEMPT_RT / Xenomai comparison !
  • 25. 25OpenPOWERLINK / Xenomai RTnet ● Xenomai v2 contribution, merged with v3 ● Based on RTDM (protocol device) ● Limited hardware support (dedicated driver API) – FEC, AT91, AM335x (BB Black, external contrib) – RTL8139, Natsemi, PCnet32 – MPC8xxx ● Example session (BB Black) # insmod rtnet .ko # insmod rt_smsc.ko # insmod rt_davinci_mdio.ko # insmod rt_ticpsw.ko # insmod rtpacket.ko # insmod rtipv4.ko # rtifconfig rteth0 up 192.168.1.1 # rtroute add 192.168.1.2 00:22:15:80:D5:88 dev rteth0 # rtping 192.168.1.2
  • 26. 26OpenPOWERLINK / Xenomai Architecture ● One openPOWERLINK architecture is based on libpcap ● Libpcap (Linux) is based on “packet” protocol ● Xenomai RTnet stack includes packet socket support (“rtpacket” module) ● Porting libpcap to Xenomai is quite difficult ! ● Hardware is limited by RTnet driver availability (but it's just an POC !)
  • 28. 28OpenPOWERLINK / Xenomai Architecture ● PCAP layer removed ● Sending / receiving packet (through packet socket) directly from/to the openPOWERLINK stack ● RTnet architecture is close to openPOWERLINK “kernel” architecture
  • 29. 29OpenPOWERLINK / Xenomai Test configuration ● 1 i.MX6 board as MN ● 2 B&R modules as CN ● 1 B&R capture module (timestamping) ● 1 PC for saving frames
  • 30. 30OpenPOWERLINK / Xenomai Test and results ● Xenomai solution is close to Linux “kernel” version of openPOWERLINK (architecture 1) ● Based on Baumgartner/Schoenegger/Wallner papers (B&R) ● Stress with cpuburn, dd, hackbench ● Jitter for 500 µs cycle ● Better than PREEMPT_RT !
  • 31. 31OpenPOWERLINK / Xenomai Conclusion + future work ● Currently not stable enough for industrial use → stack debug and optimization ● Test with more CN ● Work to be done with B&R – mainlining in openPOWERLINK project – more test with available POWERLINK devices ● PREEMPT_RT version is fair enough for most projects ● Currently not a strategic market for Smile-ECS (except one customer)
  • 32. 32OpenPOWERLINK / Xenomai Bibliography ● http://www.embest-tech.com/shop/star/riotboard.html ● http://www.armadeus.com/francais/produits-cartes_microprocesseur-apf6.html ● http://www.ethernet-powerlink.org ● http://openpowerlink.sourceforge.net/web ● http://www.automationworld.com/networking-amp-connectivity/fieldbus-industrial-ethernet ● https://lwn.net/Articles/572740 ● http://www.beremiz.org ● https://www.osadl.org/fileadmin/dam/rtlws/12/Baumgartner.pdf ● https://lwn.net/images/conf/rtlws-2011/proc/Baumgartner.pdf ● http://www.ethernet-powerlink.org/en/raspberrypi2 ● “Introduction to RTnet”, P. Ficheux, Open Silicium #15 (french) ● “Improving openPOWERLINK with RTnet”, G. Bonneville, Open Silicium #19 (french) ● “openPOWERLINK et Xenomai” D. Lagneux (Internship report, french) ● “A(I)OSP, Android – Industrial - Open Source Project” G. Bonneville (Internship report , sfrench)