Developing reliable Multi-Core
Embedded-Systems with NI
Linux Real-Time
Oliver Bruder
National Instruments Switzerland oliver.bruder@ni.com
Embedded Product Design Surveys
66%
Product designs complete over budget“2003 Embedded Software Study,” VDC, September 2003
• Fragmented Industry/Technology (chips, boards, OS, design tools ...) • Hard- and Software Quality Issues
• Moore‘s Law:
- technology is becoming increasingly complex (e.g. Multi-Core) - technology is becoming obsolete quickly (lifecycle management) • Feature Creep (new requirements and features late in the project)
Content
•
Embedded Systems Reliability in a Nutshell
•
Generic Embedded Multi-Core Architecture (NI RIO)
•The role of FPGAs in Embedded Designs
•
IoT: RASM
(Reliability, Availability, Serviceability and Manageability) •NI Linux Real-Time
•
IoT: Security
Embedded Systems Reliability in a Nutshell
... complex – but simplified it comes down to:
System Reliability = Hardware Reliability Software Reliability
-> Dealing with hard- and software issues at the same time makes it very hard to get a reliable system!
Reliability Testing
Electrical Software Mechanical
"We work under extremely harsh conditions in our business, and we've had every
component in our system fail at some point. However, the NI CompactRIO platform has never failed us.”
- Rob Stewart, President of Lime Instruments (Oil & Gas Industry)
Examples DDR3 Validation Reboot Testing EMC Testing Examples Stress Testing Upgradability Examples Thermal Validation Shock/Vibration Lifetime (e.g. HALT)
Scalable Embedded NI-RIO Multi-Core Architecture
Custom I/O I/O
I/O I/O
Multi-Core CPUs FPGA
High Performance Bus
NI Value Line: Xilinx Zynq: Dual Core ARM Cortex-A9 / AXI Bus / SoC
NI Performance Line: Intel Atom Multi-Core / PCIe-Bus / Xilinx Kintex-7 FPGAs
NI Single-Board RIO:
modular, board-only
NI CompactRIO:
modular, industrial certifications
NI RIO System on Module (SoM)
“naked brain” AXI
PCIe
Seamlessly integrated, high quality hard- and software
Don’t Think You Need an FPGA? Think Again!
-- 3
Reasons to Augment your Application with an FPGA --
Future-Proof Your Design & Flexibility
Adapt to changing requirements (feature creep), evolution of projects, very versatile
Maximize Reliability and Determinism
For time-critical, safety-critical, and deployed systems
Enhance Performance & Improve Functionality
Offload processing, Ultra-fast control, Custom timing… FPGAs are are on their way up!
• Xilinx Zynq™-7000 , Dual Core ARM-/FPGA-based SoC • Intel acquired Altera for 17B$
• Market size expected to double within 7 years (10B$ to 20B$ in 2020)*
Rich Software Eco-System
Wireless Industrial Communication Motion Third-Party I/O VisionNI LabVIEW RIO Architecture
Analog/Digital I/O
• C APIs
• LabVIEW APIs
Board Level Products Packaged Products
LabVIEW FPGA
Seamlessly integrated, well validated, multi-core hard- and software
Extensive IP Eco-System
For CPUs and FPGAs - examples:
- Motion Control - Industrial Communications - Machine Vision - Control Design - Signal Processing - ....
LocalGrid
Power Monitoring
“Within 24 hours of receiving an NI cRIO-9068 controller, we ran our existing software without any problems.”
IoT: Manageability
• www.ni.com/rasm• discover issues in the field before they cause system failure
• keep systems functional even in case of partial failure
Manage FPGA Bit Files
•
Update and erase the FPGA bit files on NI Linux
Real-Time targets programmatically, from PC tool, and the
web
NI Linux Real-Time
•
Owned and maintained by NI
• Custom built and optimized for NI embedded hardware
o Supports ARM and IA64, with cross-compilers provided
• New: NI Package Repository: download.ni.com/ni-linux-rt/
o Over 3,000 packages
• New: OS source: github.com/ni
•
PREEMPT_RT
• Enables real-time reliability through pre-emption, priority
inheritance, and scheduling
NI Linux Real-Time
• Enjoy the flexibility of Linux, with the determinism and reliability of a
real-time operating system.
• Desktop UI, Peripherals, System Administration, Real-Time schedulers
• Leverage the vast ecosystem of tools and IP
• Networking, Configuration Management, Simulation, Monitoring, etc.
• Reuse C/C++ code
Leveraging the Linux Community
•
NI Package Repository: download.ni.com/ni-linux-rt/
•OS source: github.com/ni
•
Kernel Driver Support
• Advanced feature; avoids rebuilding kernel modules/drivers
against all kernel updates
Databases
SQLite MySQL PostgreSQLSecurity
IPTables OpenSSL OpenVPNCode Reuse
C/C++ Shell Scripts PythonConnectivity
NTP SNMP IPv6S.E.A
Structural Monitoring
“By leveraging the open Linux-based real-time operating system on a commercial off-the-shelf controller, we could port our existing Linux software components in a very short time. That saved
us at least four months of development time.”
Quality of Life on NI Linux Real-Time
•
Convenience of a General Purpose OS
• New: Desktop UI, File Manager, Terminal Emulator, Text Editor • Permissions, Application Isolation, Virtual Memory, no reboot
required for Time Zone and IP Configuration changes
•
Access to popular interpreters
• Python, Perl, etc.
•
Common Linux utilities
File Systems on NI Linux Real-Time
•
Reliable File Systems
• UBIFS on ARM • ext4 on IA64
File Transfer: WebDAV
• Industry Standard Protocol
• Manage files on targets
remotely over HTTP
• Secure File Access
• Authentication & Encryption
• Supported by all modern
OSes and Web Browsers
• APIs for programmatic
access
• New
: WebDAV File
IoT Security & Linux Real-Time Integration
•based on SEL* (Security Enhanced Linux)
•user authentication through NI-Auth
-
PC-based tools - Web-based tools- APIs to create custom tools
•
IP Tables
www.ni.com/security
IoT: Security on NI Linux Real-Time
•
SSL enabled by default
• Can programmatically install software over SSL
• Can use public keys for SSH
•
HTTPS-only communication possible
• Can turn off HTTP version of the System Web Server
•
IPTables available for setting up a firewall
•
WebDAV for file transfer
•
OpenVPN available for setting up a VPN
Key Resources
•
ni.com/linuxrtforum
• Tutorials
• Documentation
• Forum for discussions
•
ni.com/linux
• Links to whitepapers
• Embedded and Desktop uses
•
download.ni.com/ni-linux-rt/
• Package Repository
•
github.com/ni
National Instruments Profile
• Leaders in Computer-Based Measurement and Automation • more than 600 Alliance Partners
• Long-Term Track Record of Growth and Profitability • > 8000+ Employees 40+ countries
• CEO since the beginning: Dr. James Truchard (Physicist) • 10+ R&D locations
• 2 Manufacturing sites • $1244 M Revenue in 2014
• +35‘000 customers in 90 countries
• Among 25 “World’s Best Multinational Workplaces” by the
Great Place to Work Institute
• no customer accounting for more than 5%, 3%, and 7% of
sales in 2014, 2013, and 2012
NI Revenue:
Summary
•
Embedded systems reliability = HW reliability
x
SW reliability
•
A well validated, integrated hard- and software platform can
address many of the challenges around reliability-, multi-core- and
life cycle management issues.
•
The scalable standardized NI RIO architecture allows to address
feature creep even late in the development process.
•
FPGAs allow to further increase system reliability and flexibility.
•