1. ENEA Keystone II
SW Solution
Jörg Hammerschmid, FAE at Enea,
Joerg.Hammerschmid@enea.com
TI/Enea Keystone Multicore Seminar
Garching, October 14, 2014
2. Agenda
• ENEA at a glance?
• ENEA Software Platform for KeyStone II SoC
• SW Platform Ingredients
– ENEA Linux
– OSEck
– LINX
– Optima
• Enea Element for Keystone II
• ENEA Value Proposition
• Q&A
3. R&D OPEX
INVESTMENT
22.1
PERCENT
Enea at a glance
Enea is a global software & services company showing revenue growth
and good operating profit margins.
Enea holds a world-leading position on the wireless communications
market with products that unquestionably work, powering more than
half of the world’s 8.2M radio base stations and more than 250M of
the 325M LTE population coverage. (2012)
Main product areas are Embedded Linux, RTOS and Middleware.
Extensive services offering through Global Services hub in Romania
Founded 1968 and publicly traded in Nasdaq OMX Nordic
Numbers for 2013
OFFICES IN
8
COUNTRIES
REVENUE
408.5
MSEK
NO. OF
EMPLOYEES
387
4. Wide Industry Presence
Telecom & Networking Wireless terminals Medical
Automotive
Industrial Automation
Aerospace and Defense
Ericsson
Nokia Solutions
and Networks
Alcatel Lucent
Motorola
ZTE
Huawei
Commscope
Fujitsu
Yamaha
Nokia
Corporation
ST-Ericsson
LG Electronics
ZTE
Sony Ericsson
Samsung
Infineon
Sepura
Teltronic
Alcon Labs
C2 Diagnostics
Cardinal Health
Hospira, Inc.
Metrohm AG
Philips Medical
Pointcare
Technologies
Agilent Life
Sciences
Volvo
Lear
ASM Assembly
Siemens Energy
& Automation
Rohde&Schwarz
Emerson Process
Atlas Copco
Carl Zeiss
Honeywell-SMS
Kongsberg AS
Selex
Communications
General Dynamics
Mitsubishi Heavy
Industries LT
Cassidian
Raytheon
Electronic
Air Force
Research
5. Global Presence
STOCKHOLM
TOKYO
SHANGHAI
BUCHAREST
MUNICH
PARIS & AIX-EN-PROVENCE
SHEPTON MALLET
BOSTON
PHOENIX
6. ENEA Software Platform for KeyStone II SoC
Developed on TI 66AK2Hx Keystone II, but very easily ported to all other
Keystone II family SoC:s.
LINX
Sh Pools
Eclipse System
wide tools
LINX Shared Pools LINX Shared Pools
Enea OSEck
Enea Linux
Optima Tools App
Core-to-Core
Scheduling
Error Process
Memory Mana.
Interrupt Mana
Enea OSEck Core-to-Core
Scheduling
Error Process
Memory Mana.
Interrupt Mana
c66x DSP core CPU (4x ARM Cortex-A15 cores)
RTOS optimized for TI C66
DSPs
Linux + real time
characteristics
Unified IPC support for internal
SoC, or external (Eth, sRIO)
Runtime layer adaptable to any
board setup
Optima
c66x DSP core
QMSS, CPPI
LINX
External devices
7. ENEA Software Platform for KeyStone II SoC
Components
OSEck RTOS running AMP on c66x DSP cores
ENEA Linux running SMP on ARM Cortex-A15 cores.
DSP boot loading via Linux cmd-line.
LINX IPC:
• ARM cores, DSP cores
• External devices – other Keystone II SoCs or other nodes via ethernet or SRIO
• LINX ARM <-> DSP cores using shared memory pools and with HW queues support
(QMSS, CPPI).
ENEA Optima for debugging the DSP core in an Eclipse-based environment,
shared with Yocto ADT tools for ARM Linux debugging
Each component tested individually as separate standard products but
also all integrated and tested together as a SW platform
Developed on TI 66AK2Hx Keystone II, but easily ported to all other Keystone II
family members
8. Enea Linux
Enea Linux is an embedded Yocto based Linux
distribution with the Communication Market in focus.
Over 40 years of experience delivering
mission critical embedded software solutions
Hardware agnostic embedded Linux distribution
focused on ARM Architecture
Customer tailored distributions centered on real time,
virtualization and networking capabilities
Exclusively open source development tools hardened
to support all phases of the development process
Services capabilities to tackle any unique customer
requirements related to embedded Linux
Linux Foundation training partner
9. Community Based
Enea Linux is based on the Yocto Project which is the de facto standard for
embedded Linux distributions
Enea is a heavy contributor of the Yocto Project and it
participates in many other Software Communities in
order to provide the best existing software in terms of
productivity and quality
10. Enea Linux
Focus on Real Time
Enea Linux can be delivered with different deterministic set ups:
No Forced Preemption
Voluntary Preemption
Preemptive Kernel
PREEMPT_RT patch set
NO_HZ (user space runtime)
Responsiveness Throughput
Core Isolation + Tickless Execution
Enea’s team of experts help customers meet their real time
requirements while understanding the corresponding
throughput trade off
11. Enea Linux
Verified
”We just like it
when things work”
Enea Linux verification efforts are the foundation of its
commercial grade level:
Package functionality is tested daily over 15000 Test Cases
LTP standard is achieved daily over more than 11000 Test Cases
POSIX compliance is passed daily over 3500 Test Cases
Toolchain is tested thoroughly per release against all typical hosts
Eclipse development tools are tested per release meticoulessly
IP performance is monitored weekly through over 800 TCs per
board
For Keystone II, Enea Linux uses TI’s Yocto upstreamed
drivers and supports ALL devices and capabilities.
12. Enea Linux
Support & Maintenance
Enea Linux team supports customers through their entire
product life cycle:
Major
Release
Major
Release
Bug fix Security
Update
Design Development Market
BSP
Development
Test Lab
Integration
IP Protect
Program
Training Upstream
Multi-year support for specific Linux versions, with
backporting for all important security fixes
13. Enea Linux
“Stand Alone” for Keystone II
Without Enea “Full” Solution with OSEck
Enea Linux for ARM on Keystone II with
SysBios/TI RTOS OR “Bare Metal” on DSP
Full Enea commercial grade support for Enea
Linux
Enea LINX for Linux, including external or
peripheral device communications
Enea LINX on SysBios/TI RTOS??
Possible to develop !
Enea Linux for ARM on Keystone II with TI
OpenMP / OpenCL
Full Enea commercial grade support for Enea
Linux
Enea LINX for Linux, including external or
peripheral device communications
14. Enea OSEck- Optimized Payload Processing
Develop application software
immediately
– Writing powerful multicore DSP
applications is easy with OSEck
Proven software deployed on over 100
million DSPs each year
Out-of-the-box support for TI C66x
Memory optimizations of code and data
Advanced multicore communication
drivers – TI Multicore Navigator
LINX Intra-core, inter-core and inter-device
communication
Networking: IPv4/IPv6, Ipsec, SSH,
OpenSSL and FastPath support
Eclipse system & application debugging
and profiling tools – Enea Optima
Boot, management, debug, error
handling
Performance benchmarks available
OSEck uses MCSDK’s low level
drivers as well as the C run-time
libraries
User Application
DSP Management Shell
IP Stack IPC
RTOS
Tools
Core
15. Enea LINX
Powerful & simple API
Unified API for intra-core, inter-core, and
inter processor communications
Transparent communications protocol
for distributed systems
Supports any homogeneous and
heterogeneous device cluster topology
Cores on multicore devices, between devices,
between systems
Operating system independent
Linux, OSEck, others
Supports any combination of multicore
CPUs and DSPs
LINX protocol and LINX for Linux
implementation are open source
Available from SourceForge
Optimized performance for each
supported communication media
Ethernet, TCP/IP, SRIO, Shared Memory,
QMSS, DMA, etc
Payload Byte Order
Conversion
LINX Client Application LINX Client Application
Traffic Interface Management Interface
RLNH
Connection Manager(s)
Connection Management & Supervision
Fragmentation Fragmentation
Sequencing /
Retransmission
Unreliable
Media
Eth, UDP …
Reliable
Media
sRIO, TCP …
Link Management
Link Supervision
Shared Memory
Naming Service
Address Pu`blication /
Subscription
Address Resolution
Application
API
Layer
Session
Layer
Transport
Layer
Link
Layer HW Queues
LINX is open source for Linux on
SourceForge
16. Enea Optima
Same development environment from board bring
up, through kernel and application development.
Built on a standard Eclipse platform, maximizing
freedom of choice of additional tools, commercial or
open source.
Flexible license model. Complete environment, or
selected tools for use in other Eclipse
environments.
Supports OSEck and Linux and provides insight
into even the most complex heterogeneous
multicore and multiprocessor configurations
Compatible with TI CCS Eclipse environment
CPU cores
DSP cores
Target
Enea Optima
Enea Gateway
TCP / IP
USB
Enea
LINX
17. Features
System Browser - EXPLORE AND MANAGE THE SYSTEM
Pool Browser - ANALYZE AND OPTIMIZE MEMORY USAGE
System Profiler - ANALYZE KERNEL AND APPLICATION RESOURCE
USAGE OVER TIME
Log Manager - RECORD KERNEL AND APPLICATION EVENTS
Log Analyzer - VISUALIZE AND ANALYZE KERNEL AND APPLICATION
EVENTS
Kernel Awareness Plugins - EXPLORE KERNEL AND APPLICATION
STATE
Benefits
Provides insight into kernel state without direct
dependencies between kernel data structures and debug
environments or scripts, reducing risk.
Need for trace, log and profiling infrastructure in the
application can be eliminated, shortening development time.
Built on a standard Eclipse platform, maximizing freedom of
choice of additional tools, commercial or open source.
Complete environment, or selected tools for use in other
Eclipse environments, i.e. TI’s CCS
CPU cores
DSP cores
Target
Optima
Enea
Gateway
TCP / IP
USB
Enea
LINX
Enea Optima
PROFILING, TRACING AND KERNEL AWARENESS TOOLS FOR OSEck
18. Enea Element for Keystone II
On HP Moonshot
with TI Slayton Cartridges
Element + Full Enea Keystone II SoC solution
HP Moonshot
+ Economical
+ Manageable
+ Flexible
+ Purpose-Built
+ Local Capability
19. What is Element?
Distribution
Scalability
Data Sharing
Management:
Configuration
Monitoring
Control
High
Availability
Runtime
Debug and
Trace
• Simplifies Writing Distributed Applications
• Distributed Messaging Framework – LINX
• Enables Product Integration and Maintenance
• Runtime Debug and System Trace
• Enables Management of Systems and Devices
from NMS, OSS, BSS
• Delivers High Availability
Element Scales from Single Node, to Chassis, and the Cloud
Cloud
Element is a unified platform of system management services that
accelerates Product Delivery of a system
Runs on Linux and OSEck on DSP
Not dependent on Enea Linux – can
work with any Linux and full TI
solution
20. Many Use Cases
Cloud
Single node or small systems
• Applicable Services:
• For Keystone II, management of
both ARM Linux environment and
the DSP environment
• Runtime Debug and System Trace
with Element Command Service
and Log Manager – see the demo
• Management of Systems and
Devices from external NMS, OSS,
or BSS – not in the demo
Chassis or rack-based systems
Cloud Environments
21. Why ENEA?
ENEA has all ingredients for success in a
heterogeneous SoC
Long experience with:
DSP - RTOS on TI DSP cores (+15 years)
KeyStone I - TMS320c6670/8 - Kepler 2 first in 2013 to
tier1 telecoms
Linux on ARM processors (+3 years)
ENEA Linux for ARM and KeyStone II
IPC (+8 years)
LINX transparent, distributed IPC protocol
Experts in ”real-time”
Linux ”control” plane extensions
Data plane extensions
Scalable Systems Management Solution
Enea Element
22. Single vendor of a complete
integrated solution
Best Linux ISV supplier for ARM
based systems in the industry
Enea Real-time focus and expertise
Performance, performance, ….
And then, more performance!!
Multiple Solutions - Keystone II
Full Enea Keystone II SoC solution
Enea Linux ONLY with TI solutions
SysBios, or OpenMP /
OpenCL
Enea Value Proposition
Systems Level Management
Enea Element - on both Linux and
OSEck
Harmonized, Eclipse-based tools for
development and debugging
Linux tools from Yocto (Yocto’s ADT)
OSEck tools
Integrated with TI CCS
Commercial Grade, Multi-year version
Maintenance and Support
For full Keystone II SoC solution
For Enea Linux only
For Enea Element
OSEck Optrima