enea keystone training 2014
TRANSCRIPT
ENEA Keystone II
SW SolutionJörg Hammerschmid, FAE at Enea,
TI/Enea Keystone Multicore Seminar
Garching, October 14, 2014
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
R&D OPEX
INVESTMENT
22.1PERCENT
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
Enea at a glance
Numbers for 2013
OFFICES IN
8COUNTRIES
REVENUE
408.5MSEK
NO. OF
EMPLOYEES
387
Wide Industry Presence
Telecom & Networking Wireless terminals MedicalAutomotive
Industrial AutomationAerospace 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
Global Presence
STOCKHOLM
TOKYO
SHANGHAI
BUCHAREST
MUNICH
PARIS & AIX-EN-PROVENCE
SHEPTON MALLET
BOSTON
PHOENIX
ENEA Software Platform for KeyStone II SoC
Enea OSEck
Enea Linux
LINX Shared Pools LINX Shared Pools
Optima Tools App
c66x DSP core CPU (4x ARM Cortex-A15 cores)
Core-to-Core
Scheduling
Error Process
Memory Mana.
Interrupt Mana
LINX
Sh Pools
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
Eclipse System wide tools
Optima
c66x DSP core
Enea OSEck Core-to-Core
Scheduling
Error Process
Memory Mana.
Interrupt Mana
QMSS, CPPI
Developed on TI 66AK2Hx Keystone II, but very easily ported to all other
Keystone II family SoC:s.
LINX
External devices
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
ENEA Software Platform for KeyStone II SoC
Enea Linux is an embedded Yocto based Linux
distribution with the Communication Market in focus.
Services capabilities to tackle any unique customer
requirements related to embedded Linux
Exclusively open source development tools hardened
to support all phases of the development process
Customer tailored distributions centered on real time,
virtualization and networking capabilities
Hardware agnostic embedded Linux distribution
focused on ARM Architecture
Over 40 years of experience delivering
mission critical embedded software solutions
Linux Foundation training partner
Enea Linux
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
Focus on Real Time
Enea Linux can be delivered with different deterministic set ups:
Enea’s team of experts help customers meet their real time
requirements while understanding the corresponding
throughput trade off
No Forced Preemption
Voluntary Preemption
Preemptive Kernel
PREEMPT_RT patch set
NO_HZ (user space runtime)
Responsiveness Throughput
Core Isolation + Tickless Execution
Enea Linux
Verified
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
”We just like it
when things work”
For Keystone II, Enea Linux uses TI’s Yocto upstreamed
drivers and supports ALL devices and capabilities.
Enea Linux
Support & MaintenanceEnea Linux team supports customers through their entire
product life cycle:
Design Development Market
Major
Release
Major
Release
Bug fix Security
UpdateBSP
Development
Test LabIntegration
IP ProtectProgram
UpstreamTraining
Multi-year support for specific Linux versions, with
backporting for all important security fixes
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
Enea Linux
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
User Application
DSP Management Shell
IPCIP Stack
RTOS
Tools
Core
OSEck uses MCSDK’s low level
drivers as well as the C run-time
libraries
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
ConversionLINX Client ApplicationLINX 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 …Shared Memory
Link Management
Link Supervision
Naming Service
Address Pu`blication /
SubscriptionAddress Resolution
Application
API
Layer
Session
Layer
Transport
Layer
Link
Layer HW Queues
LINX is open source for Linux on
SourceForge
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
Enea Optima
Target
DSP cores
CPU cores
Enea Gateway
TCP / IP
USB
Enea
LINX
Enea Optima
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
Target
DSP cores
CPU cores
Enea
Gateway
TCP / IP
USB
Enea
LINX
Optima
Enea Optima
PROFILING, TRACING AND KERNEL AWARENESS TOOLS FOR OSEck
Enea Element for Keystone IIOn HP Moonshot
with TI Slayton Cartridges
HP Moonshot+ Economical
+ Manageable
+ Flexible
+ Purpose-Built
+ Local Capability
Element + Full Enea Keystone II SoC solution
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
Many Use Cases
Cloud
Single node or small systems
Chassis or rack-based systems
Cloud Environments
• 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
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
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