May 11, 2015
page 2 6 November, 2008Name of Presentation
Embedding Linux For An Automotive Environment
Who is I, Anders Arnholm, What is Mecel
What differs an embedded system to a conventional desktop
What differs automotive from other embedded systems
Some example automotive solutions
Kernel start up optimizations, an example
Don’t forget to ask
page 3 6 November, 2008Name of Presentation
Me, Myself and I
page 4 6 November, 2008Name of Presentation
Mecel
page 5 6 November, 2008Name of Presentation
Embedded vs Desktop
What is an embedded system
How does embedded differ
Some words on requirements for Embedded and real-time computing
page 6 6 November, 2008Name of Presentation
Embedded system
An embedded system is a computer system designed to perform one or a few dedicated functions often with real-time computing constraints. It is embedded as part of a complete device often including hardware and mechanical parts. By contrast, a general-purpose computer, such as a personal computer (PC), is designed to be flexible and to meet a wide range of end-user needs. Embedded systems control many devices in common use today.
From Wikipedia, the free encyclopedia
page 7 6 November, 2008Name of Presentation
Few functions, Similar/Same Hardware
Solves one or a few problems
Mobile phone, smart phones moves into general computing
GPS Navigator
Engine Control Module
Hardware and Software one bundle
Can test on all hardware
Can test all software configurations
Expected to always work
page 8 6 November, 2008Name of Presentation
Real Time Myth? Or Fact?
Real time Real-time computing, have a fixed deadline. An event in the
system need to have an answer within a fixed time. The idea is that the result must arrive in time or the result is invalid. This have to happened regardless of system load
Often one know it’s a real time constraint but not the real limit
Many system run worst case scenario all the time Jitter problems
Jitter are small variations of a periodic signal. Many embedded systems work on tasks where the jitter have big effects on the result. Often the results of jitter can be bigger than the real time needs
Effects audio Communications networks and busses
page 9 6 November, 2008Name of Presentation
Automotive vs Embedded
The automotive industry designs, develops, manufactures, markets, and sells motor vehicles, and is one of the world's most important economic sectors by revenue.
Usually, Cars, Light Commercial Vehicles, Heavy Commercial Vehicles and Busses.
All cars are an embedded systems Automotive industry are conservative Automotive industry are regulated Electronic Control Unit (ECU)
page 10 6 November, 2008Name of Presentation
Example System, Gauge Cluster
Main CPU Freescale i.MX51 600 MHzCortex-A8 + Linux
GPU
Renesas V850 + embedded system for communication
Media Oriented Systems Transport (MOST)Connecting to mediaplayer to show some information for the driver in the cluster and hud display.
CANInput for car information such as speed, RPM, etc
Local Interconnect Network (LIN) To connect with the physical keys for user interaction such as button on the steering wheel.
page 11 6 November, 2008Name of Presentation
Example System, Communications node
Automotive communications busses are limited
Either slow or expensive
All systems use a mix of busses
Node connected to communications busses, and transfers messages mostly to and from the HMI for the driver.
AutoSAR with a small real time OS
page 12 6 November, 2008Name of Presentation
Zodiac Infotainment platform
2009 Demo platform
Based on Genivi IVI – Russellville
Using Mecel Populus
Using Mecel Betula
Youtube video player
Internet radio
Podcast support
Speech recognition
page 13 6 November, 2008Name of Presentation
Demo - Autonomy
CPU: Freescale (PowerPC) - MPC5121e
128 Mb RAM
64 MB Flash
Touch screen
Bluetooth
GPS
Can interface
page 14 6 November, 2008Name of Presentation
Embedded solutions for Automotive
AUTOSAR
Linux
Genivi Alliance – Delphi is Founding and Charter member
LTIB – Linux Target Image Builder, Used by Freescale
Buildroot – Also commonly used
Windows Embedded Automotive
QNX
Custom software
page 15 6 November, 2008Name of Presentation
Optimizing Linux start-up time
Focus on kernel start up
We like to have a one cpu solution
For CAN communication start up time critical target < 100 ms
Low end system
OMAP OSK5912
ARM9 – 192 Mhz
32 Mb NOR Flash
32 Mb RAM
page 16 6 November, 2008Name of Presentation
Optimize the kernel
Quiet output
Pre-calculate bogomips
Remove Legacy PTY
Remove Hotplug
Remove MTD
Remove Init
Select filesystem
page 17 6 November, 2008Name of Presentation
Flash Filesystems
JFFS2 Compressed filesystem Standard fs for flash drives Supports NAND flash devices
Cramfs Compressed filesystem Can be used without decompression Linear Cramfs support application XIP
AXFS Compressed filesystem Supports XIP Read only
page 18 6 November, 2008Name of Presentation
Execute in Place
Don’t copy the code into ram memory
Optimize code for speed not size
Flash slower that ram
For applications need special filesystem, Linear CRAMFS or AXFS
Read only FS
page 19 6 November, 2008Name of Presentation
Boot times
CongurationBefore shell
is startedAfter shell is
startedShell start
time
Unoptimized with JFFS2
5.428 100% 6.207 100% 0.779
Optimized with JFFS2
2.771 51% 2.964 47% 0.193
Optimized with Cramfs
2.627 48% 2.814 45% 0.187
Optimized with AXFS
1.451 27% 1.576 25% 0.125
Optimized XIP with AXFS
0.189 3% 0.360 6% 0.171