Infotainment Solutions with Open Source and i.mx6
Infotainment Solutions with Open Source and i.mx6
Infotainment Solutions with Open Source and i.mx6
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Infotainment</strong><br />
<strong>Solutions</strong><br />
<strong>with</strong><br />
<strong>Open</strong> <strong>Source</strong><br />
<strong>and</strong> i.<strong>mx6</strong><br />
Andrew Patterson<br />
Business Development Director<br />
Embedded Automotive<br />
mentor.com/embedded<br />
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.<br />
Linux is the registered trademark of Linus Torvalds in the U.S. <strong>and</strong> other countries.
<strong>Infotainment</strong> Requirements<br />
Android<br />
Apps<br />
Navigation<br />
Multimedia<br />
• Modular , Scalable<br />
Virtualization<br />
• Complex, Multi-Mode HMI<br />
• <strong>Open</strong>-<strong>Source</strong> integration<br />
Video/ Rear camera<br />
Web<br />
Browsing<br />
Connected<br />
Cloud<br />
SmartPhone<br />
integration
Innovation <strong>and</strong> Functionality…<br />
3
Software in Transportation<br />
Complexity increase is relentless …<br />
Millions of<br />
Lines<br />
300<br />
250<br />
200<br />
150<br />
100<br />
50<br />
0<br />
Lines of Code in Transportation ECUs<br />
4
Critical <strong>and</strong> Non-Critical Functions<br />
M<strong>and</strong>atory : Safety Critical Convenient<br />
Traction-Control Monitor<br />
Steer by Wire<br />
Emissions Sensor<br />
Cornering Brake<br />
Control<br />
Headlamp Warning<br />
Electronic Stability<br />
Control<br />
PowerTrain Control<br />
Automatic Braking<br />
Sat-Nav System<br />
Door Sensors<br />
Reversing Sensor<br />
Tire-Pressure Monitor<br />
Electronic Stability<br />
Control<br />
Pre-Crash System<br />
Head-Up Display<br />
Rear-View Camera<br />
Automated Parking<br />
5 AP,<br />
Embe<br />
Connected Car<br />
Mobile Office<br />
Support<br />
Android App<br />
Support
Trends…<br />
■ 5 out of 10 top purchase<br />
decisions for cars are<br />
<strong>Infotainment</strong> related (GFK Research)<br />
■ Value of software <strong>and</strong> electronics<br />
in a car is already 35-40% for a<br />
premium car (Spectrum IEEE)<br />
■ Electric Vehicle : software <strong>and</strong><br />
electronics : 80% of value<br />
■ Rising aftermarket maintenance<br />
costs …
Automotive Technology Refresh<br />
Mechanical Systems<br />
Electrical Systems<br />
Software Systems<br />
New Smartphone<br />
New Apps<br />
= Obsolete<br />
= Current<br />
Product Release Year 5 Year 10<br />
Product Release Year 1 Year 2<br />
7 AP,<br />
Embe
<strong>Infotainment</strong> System Technology Refresh<br />
Mechanical Systems<br />
Electronic Systems<br />
Software Systems<br />
Real Time Data<br />
New Apps<br />
= Obsolete<br />
= Current<br />
Data Communications<br />
Commercial prospects for "driverless" cars<br />
got a boost last month when four vehicles<br />
on autopilot successfully trailed a lead car<br />
on a 124-mile route near Barcelona, Spain.<br />
Position<br />
Cloud Access / Connected Car<br />
Real time road conditions<br />
Vehicle to vehicle warnings<br />
8
Embedded Software Design Process<br />
Requirement<br />
Definition<br />
Initial POC<br />
H/W Model in Loop<br />
S/W Model in Loop<br />
Design<br />
Implementation<br />
Test Scripts<br />
Prototype<br />
Development<br />
System in Loop<br />
Prototype in Loop<br />
Integration, Test<br />
Final Test<br />
Calibration
Benefits of St<strong>and</strong>ardization<br />
Allow OEMs to source from several Tier One<br />
suppliers<br />
Reduce development <strong>and</strong> maintenance costs<br />
Reduce specification / design ambiguity<br />
Fewer Errors / More Quality<br />
CAN<br />
10
The <strong>Infotainment</strong> System Stack<br />
HMI<br />
Apps<br />
Display<br />
Networking<br />
Navigation<br />
Entertainment<br />
Mobile Office<br />
Operating System <strong>and</strong> Middleware<br />
Hardware Platform<br />
Operating system choice : Linux or Android ?<br />
• App Selection, SmartPhone Link<br />
• Scalability, flexibility, security<br />
• Performance, cost, feature set<br />
11
Android or Linux Platform for IVI ?<br />
Android Linux<br />
For - Smartphone Influence<br />
- Applications exist<br />
- Market Apps repository<br />
Against - Dependent on Google<br />
- Audio Capability<br />
- Connected car costs<br />
- Graphics Performance<br />
- <strong>Open</strong> widely used st<strong>and</strong>ard<br />
- Scalable <strong>and</strong> flexible<br />
- Portable<br />
- IVI st<strong>and</strong>ard <strong>with</strong> GENIVI<br />
- Higher development costs<br />
- Weaker in consumer<br />
electronics
GENIVI Linux Platform for <strong>Infotainment</strong><br />
GENIVI Consortium established 2009 to<br />
provide <strong>Infotainment</strong> base (Linux) platform<br />
170 members<br />
50% European, 26% USA, 24% ASIA<br />
OEMs, Tier 1s, Semiconductor Suppliers, Tool<br />
Vendors<br />
Members contribute re-usable software under<br />
open source rules<br />
13
GENIVI Future Development<br />
GENIVI Expert Groups<br />
– System Infrastructure (Loaders, Initialization)<br />
– Automotive (Diagnostics, Software tools)<br />
– Media <strong>and</strong> Graphics (Tuners, Broadcast, DVD)<br />
– Location Based Services (Positioning, Navigation)<br />
– Networking<br />
– Consumer Electronics, Social Media, Connectivity,<br />
Bluetooth, iPad,..<br />
– Mobile Office<br />
– Application Framework (Speech Recognition, HMI, Text to<br />
speech)<br />
14
GENIVI <strong>Open</strong> <strong>Source</strong> Components<br />
Adopt,<br />
Adapt,<br />
Create<br />
Automotive Specific Code<br />
Extended Community Code<br />
Community Code<br />
GENIVI<br />
LINUX<br />
Platform<br />
<strong>Infotainment</strong><br />
Graphical Interface<br />
Applications<br />
80%<br />
Hardware<br />
5%<br />
15%<br />
15<br />
GENIVI Code
GENIVI support for <strong>Infotainment</strong> Layers<br />
Audio Manager<br />
Graphics Server<br />
DVD<br />
RADIO<br />
Layer Management<br />
<strong>Open</strong> GL/ES<br />
ALSA<br />
GStreamer<br />
Systemd<br />
Software Download<br />
NAVIGATION<br />
Speech Engine<br />
OFFICE<br />
Telephony Stack<br />
Noise Reduction<br />
INC Messenger<br />
IPOD Control<br />
Traffic Incident<br />
Auto Diagnostics<br />
User Manager<br />
IPOD<br />
SPEECH<br />
Virtual MOST<br />
HTTP Server<br />
Noise Reduction<br />
Indexing Engine<br />
Virtual MOST<br />
HTTP Server<br />
Linux Kernel<br />
Hardware Platform<br />
Noise Reduction<br />
Diagnostics<br />
PHONE<br />
Future Support<br />
Future Support<br />
16<br />
Future Support<br />
CAMERA<br />
TV<br />
Future Support
Beyond GENIVI<br />
Human Machine Interface – HMI<br />
Hardware Platform <strong>and</strong> software drivers<br />
Applications <strong>and</strong> Integration work<br />
Testing<br />
Design Tool Support<br />
Services<br />
17
Running Multiple<br />
Operating Systems<br />
Andrew Patterson<br />
Business Development Director<br />
Embedded Automotive<br />
mentor.com/embedded<br />
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.<br />
Linux is the registered trademark of Linus Torvalds in the U.S. <strong>and</strong> other countries.
<strong>Infotainment</strong> System layers<br />
HMI Layer<br />
Application Layer<br />
Middleware Layer<br />
OS Layer<br />
Hardware Layer<br />
eg i.<strong>mx6</strong><br />
HMI<br />
Core<br />
Entertainment<br />
Mobile Office<br />
Media Graphics<br />
Platform<br />
Management<br />
User<br />
Interface<br />
Networking<br />
Navigation<br />
OS<br />
Connectivity<br />
System<br />
Infrastructure<br />
Voice &<br />
Speech<br />
Telematics<br />
Diagnostics<br />
On-Line<br />
Services<br />
Power State<br />
Management<br />
Board Support Package Linux Core<br />
CPU Cores<br />
Memory<br />
Storage<br />
MOST<br />
CAN/FlexRay<br />
BootLoader<br />
19<br />
HMI Design<br />
Apps Ecosystem<br />
Libraries, Services,<br />
Middleware<br />
GENIVI-compliant<br />
Embedded Linux<br />
Semiconductor<br />
Driver Support
Guest OS Example: Linux Container (LXC)<br />
HMI<br />
IVI<br />
Stack<br />
User<br />
Interface<br />
Hardware Layer<br />
i.<strong>mx6</strong> 4Q<br />
Networking<br />
Navigation<br />
Entertainment<br />
Mobile Office<br />
Mentor IVI Linux OS<br />
CPU Core 1<br />
Android App<br />
Android OS<br />
CPU Core 2 CPU Core n..<br />
Memory, Storage, peripheral support etc.<br />
Linux Container<br />
20
Linux Container<br />
Boot-up speed dependent on host OS<br />
Security : Software partition / Firewall<br />
Resources, managed by underlying kernel<br />
Useful option for including guest operating<br />
systems – e.g. Android<br />
Mentor acknowledges development partner :
Guest OS via Hypervisor<br />
HMI<br />
IVI<br />
Stack<br />
Linux OS<br />
HyperVisor<br />
User<br />
Interface<br />
Entertainment<br />
Mobile Office<br />
Hardware Layer<br />
Networking<br />
Navigation<br />
e.g. OK Labs OKL4, Synergy CoqOS, Sysgo PikeOS<br />
CPU Core 1<br />
Android<br />
App. Market<br />
Android OS<br />
CPU Core 2 CPU Core n..<br />
Memory, Storage, peripheral support etc.<br />
MAPS<br />
Social Network<br />
22
Resource <strong>and</strong> Privilege Management<br />
Linux<br />
Operating System<br />
Managed Privileges<br />
Freescale<br />
Resources<br />
HMI (User Application Interface)<br />
Android<br />
Operating System<br />
Managed Privileges<br />
Microvisor : Privilege <strong>and</strong> Resource Mgmt.<br />
CPU Graphics Memory Network
ECU Count in Cars<br />
150<br />
100<br />
50<br />
0<br />
■ Vehicle Safety<br />
■ Driver Convenience<br />
■ Performance<br />
■ Emissions / Environment<br />
■ Reliability<br />
2005 2010 2015 2020<br />
24<br />
■ Maintainability<br />
■ Harness Costs<br />
■ Manufacture <strong>and</strong><br />
■ Assembly Cost<br />
■ Reliability
AUTOSAR <strong>and</strong> GENIVI<br />
AUTOSAR: Set to be in 25% of all ECUs in 2 years<br />
Why mix Linux <strong>and</strong> AUTOSAR?<br />
Increasing need for vehicle function consolidation<br />
<strong>Infotainment</strong> System is a multi-core high-end computer,<br />
capable of multi-tasking<br />
Functions such as video, audio, navigation becoming<br />
safety-critical<br />
Complexity of ECU functions increasing<br />
Today : Remotely connect ECUs <strong>and</strong> IVI system<br />
Future : Integrate on same hardware platform<br />
25 AP,<br />
Embe
Connect Remotely<br />
INFOTAINMENT SYSTEM<br />
IVI Application /<br />
Middleware<br />
Linux OS<br />
Does not help <strong>with</strong> ECU consolidation<br />
Spare capacity in IVI system<br />
Harness cost implications<br />
CAN / AVB / MOST / Flexray etc<br />
AUTOSAR ECU<br />
FUNCTION<br />
AUTOSAR<br />
RTE<br />
26
Share common platform<br />
IVI<br />
Stack<br />
HMI<br />
Freescale e.g<br />
i.<strong>mx6</strong>Q<br />
Vehicle Network<br />
Networking<br />
Navigation<br />
Entertainment<br />
Mobile Office<br />
User<br />
Interface<br />
GENIVI compliant Linux OS<br />
CPU Core 1<br />
Virtualization Layer<br />
CPU Core 2 CPU Core n..<br />
Memory, Storage, peripheral support etc.<br />
CAN / AVB / MOST / Flexray etc<br />
AUTOSAR Functions<br />
TACHO<br />
SENSORS<br />
MASTER<br />
AUTOSAR RTE
Embedded Tools for IVI Design<br />
Optional Tools<br />
Static Analysis<br />
Code Coverage<br />
Traceability<br />
Verification<br />
Virtual Platform<br />
<strong>Source</strong> Code<br />
Dljasldkas;dj<br />
fa<br />
Dljasldkas;dj<br />
a;ldsj<br />
aslkadsjkdkd<br />
fa<br />
Dljasldkas;dj<br />
a;ldsj<br />
aslkadsjkdkd<br />
fa<br />
Dljasldkas;dj<br />
a;ldsj<br />
aslkadsjkdkd<br />
fa<br />
Dljasldkas;dj<br />
a;ldsj<br />
aslkadsjkdkd<br />
fa<br />
Dljasldkas;dj<br />
a;ldsj<br />
aslkadsjkdkd<br />
fa a;ldsj<br />
aslkadsjkdkd<br />
<strong>Source</strong> Control<br />
IVI APPS<br />
Development<br />
Tools<br />
IDE<br />
Compiler<br />
Debugger<br />
Profiler<br />
IS Simulator<br />
Integration Services<br />
P R O B E<br />
JTAG & Trace<br />
Serial (ethernet, usb, etc)<br />
Run-Time IVI Software<br />
HMI<br />
Applications<br />
Middleware & User Space<br />
(GENIVI)<br />
GENIVI Linux Kernel<br />
Board Support Package<br />
Freescale Target<br />
28
Real / Virtual System Analyzer<br />
Optimize performance for baremetal,<br />
Linux, Hypervisor etc.<br />
Easily visualize data <strong>with</strong><br />
timeline synchronized views<br />
Extract CPU usage <strong>and</strong> kernel<br />
events, view locking patterns,<br />
find memory leaks <strong>and</strong> more!<br />
Integrate custom analysis of<br />
your own time-stamped data<br />
streams<br />
Analyze behavior <strong>and</strong> improve<br />
performance on multi-core<br />
systems<br />
29
Virtual Platforms<br />
A Virtual Platform is a high-level<br />
simulation model of the System/SoC<br />
– Software instruction set compatible<br />
– Models for CPU <strong>and</strong> peripherals<br />
A Virtual Prototype allows you to:<br />
– Test the integration of the hardware components <strong>and</strong><br />
software<br />
– Check design functionality before committing to real<br />
hardware/silicon<br />
– Iterate efficiently between HW/SW design teams<br />
– Simulate extreme conditions<br />
– Check OS / boot-up code<br />
<strong>Solutions</strong> from Mentor<br />
– Code port to native platform / KVM<br />
– QEMU : Functional only<br />
– VISTA : Includes Transaction Level Modeling for<br />
improved timing fidelity<br />
– VELOCE : Real hardware-in-the-loop<br />
UART<br />
Video<br />
Peripherals<br />
TIMER<br />
WD<br />
Accelerator Multicore ISS<br />
INTC DMA USB ETHERNET FLASH<br />
ADC<br />
ETH<br />
DDR2<br />
DDR<br />
DDR2
Virtual Prototype <strong>with</strong> Hypervisor<br />
Linux<br />
Operating System<br />
Microvisor : Privilege <strong>and</strong> Resource Mgmt.<br />
QEMU ISS<br />
HOST PC<br />
AUTOSAR<br />
Run Time Environment
Virtual Technology Stack<br />
HMI<br />
Sample<br />
App<br />
User<br />
Interface<br />
Entertainment<br />
GENIVI Linux OS +<br />
Middleware<br />
Native KVM<br />
QEMU<br />
VISTA<br />
Host PC<br />
IS Simulator<br />
HMI<br />
Sample<br />
App<br />
Actual<br />
Hardware<br />
User<br />
Interface<br />
Entertainment<br />
GENIVI Linux OS +<br />
Middleware<br />
i.MX6Q<br />
SabreLite
Multiple OS on Hardware Platform<br />
IVI<br />
Stack<br />
HMI<br />
Hardware Layer<br />
Networking<br />
Navigation<br />
Entertainment<br />
Mobile Office<br />
User<br />
Interface<br />
Virtualization Layer (Hypervisor – e.g. OK Labs OKL4)<br />
CPU Core 1<br />
Market Apps<br />
GENIVI compliant Linux OS Android OS<br />
AutoSar<br />
CPU Core 2 CPU Core n..<br />
Memory, Storage, peripheral support etc.<br />
Vehicle Data<br />
33<br />
SPEED<br />
SENSORS
Future application areas<br />
Cross-Market Themes:<br />
- Mentor Embedded<br />
Linux<br />
- <strong>Open</strong> <strong>Source</strong> Software<br />
- Services<br />
- Inflexion HMI<br />
- Hardware Support<br />
Packages<br />
- Supporting Design<br />
Tools<br />
IVI<br />
Combined Mentor/Freescale platform<br />
GENIVI<br />
Platform<br />
Mentor Linux<br />
IVI Stack<br />
Instrument<br />
Cluster<br />
Leverage IVI<br />
Building<br />
Blocks used<br />
Links to<br />
AutoSar, CAN,<br />
Flexray<br />
Other<br />
Transportation<br />
Off-Road<br />
Trains<br />
In-Flight<br />
Entertainment<br />
Adjacent<br />
markets
Demo Video<br />
mentor.com/embedded<br />
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.<br />
Linux is the registered trademark of Linus Torvalds in the U.S. <strong>and</strong> other countries.
Thank You<br />
mentor.com/embedded<br />
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions.<br />
Linux is the registered trademark of Linus Torvalds in the U.S. <strong>and</strong> other countries.