Running Linux on an embedded node in the automotive environment adds a number of new challenges that have to be addressed. One of the problems we have been working on is start-up times. We have trimmed the start-up time of the Linux kernel in less than 0.2 seconds on low end hardware. This presentation will look into and discuss some of the trade-offs we did to get the system starting up quicker on a limited hardware.
In an automotive environment many systems have to have there communication up within factions of a second, as the car get more complex more CPU power is needed in many different places. Traditional automotive solutions have been using two CPU’s on each node one small quick starting to handle the communication and one for the applications. If only one CPU can get the main applications starting quick enough that can make the hardware both simpler and cheaper.
About Mecel
Mecel is a systems and software development company with more than 25 years of experience in developing solutions for the automotive industry. We specialize in in-car communication technologies, user interface development and consumer device interaction.
Gen AI in Business - Global Trends Report 2024.pdf
Embedding Linux for Automotive Environments
1.
2. page 2 6
Name 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
5. page 5 6
Name of Presentation
Embedded vs Desktop
What is an embedded system
How does embedded differ
Some words on requirements for Embedded and real-time computing
6. page 6 6
Name 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
7. page 7 6
Name 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
8. page 8 6
Name 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
9. page 9 6
Name 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)
10. page 10 6
Name of Presentation
Example System, Gauge Cluster
Main CPU Freescale i.MX51 600 MHz
Cortex-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.
CAN
Input 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.
11. page 11 6
Name 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
12. page 12 6
Name 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
13. page 13 6
Name of Presentation
Demo - Autonomy
CPU: Freescale (PowerPC) - MPC5121e
128 Mb RAM
64 MB Flash
Touch screen
Bluetooth
GPS
Can interface
14. page 14 6
Name 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
15. page 15 6
Name 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
17. page 17 6
Name 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
18. page 18 6
Name 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
19. page 19 6
Name of Presentation
Boot times
Conguration
Before shell
is started
After shell is
started
Shell 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
Editor's Notes
Mallanvisningar generellt
Förstasidan med vägen är valfri.
Mallens färgschema bör följas – välj mellan Mecelblått, rött, gult, grått, turkos (utöver svart) för diagram, illustrationer mm.
Huvudrubriker ska vara versala – tips: ändra versalgemen text genom att markera den och klicka Shift + F3 en eller två gånger.
Ett kartotek med loggor, pilar och bilder ligger i L:\DEPARTMENTS\BRAND MANAGEMENT\Powerpoint
Fråga gärna Brand Management (Carina Å x4403) om hjälp med att fixa till viktiga presentationer för kunder!
Namn på presentationen & datum
läggs in under View &gt; Header and Footer (inte på Slide Masten). Datumet får man trixa med. Man behöver gå in på View &gt; Master &gt; Slide Master, klicka på datumet i sidfoten och sedan Insert &gt; Date and Time &gt; välj Language English och välj datumformat så det blir t ex ”10 November 2008” för presentationer på engelska. Sedan kan man välja att datumet uppdateras eller ligger fast.
Uppdatering av presentation från gammal mall
När man kopierar in bilder från en gammal presentation kan man behöva klicka på Layout längst upp i högra hörnet så sidfältet med Slide Layout kommer upp. Vi använder i princip bara de översta Text layouts. Om man sätter pekaren i högra kanten av en sådan, t ex bredspaltsliden med punktlista kommer en liten blå kant med en pil upp. Där kan man klicka på Reapply layout så lägger sig rubrik + textruta på rätt ställe.
Remove this slide? Make agenda
* Mecel, We make vehicles communicate with dependable automotive software, giving our customers a technological advantage. We are able to give our customers a competitive edge by introducing new technology in a dependable and cost-effective way. Mecel is active in concept, advanced and product engineering for the automotive industry. We specialize in the development of electronic systems and software for automobiles, trucks, buses, and their infrastructure.
Delphi is a leading global supplier of electronics and technologies for automotive, commercial vehicle and other market segments. Operating major technical centers, manufacturing sites and customer support facilities in 30 countries, Delphi delivers real-world innovations that make products smarter and safer as well as more powerful and efficient.
Picea – Autosar
Betula – Bluetooth
Populus - HMI
Remove example? As I cant think of any to talk about.
* AUTOSAR (AUTomotive Open System ARchitecture) is an open and standardized automotive software architecture, jointly developed by automobile manufacturers, suppliers and tool developers. Delphi Premium member
Doug Welk form delphi is in the board of genivi, bmw, gm, intel, arm,
Windows mostly IVI, same as Genivi, Ford.
- Filesystem: Depending on what lesystem that is used time can vary considerably. The rst
conguration used the lesystem JFFS2. This lesystem takes more time to mount than for
example Cramfs or AXFS.
- Quiet: During a normal boot the kernel usually prints out messages to show how the boot
process progresses. These prints can be disabled by passing a ag in the arguments line that
the bootloader passes to the kernel. Depending on how much output that will be printed the
savings here vary but generally the time gain will be around 0.3 seconds.
- BogoMIPS: BogoMIPS is a hardware dependent value that is calculated during boot of the
Linux kernel. It is possible to statically pass this value in the boot argument line to the
kernel so that it is not calculated each time. This naturally gives some time savings.
- Disabling Legacy PTY: A PTY or pseudo terminal is a software device. There is an option
in the kernel cong for enabling these legacy devices but disabling them will not cause any
problems on most systems including our system. If they are enabled they will signicantly
increase the boot time.
- Remove Hotplug: Hotplug lets the user plug in devices and use them immediately without
manually conguring them. In this case nothing is plugged in and the hardware is specic
and hotplug is therefore not needed. This is an option that is disabled in the kernel before
compilation.
- Remove MTD: Memory Technology Device is a type of device le used for interaction with
ash memory. Removing this from the kernel and statically specify the address in ash will
reduce the boot time.
- Replace Init: In the end of the boot the kernel will start a program named init which will
spawn all other processes. This step takes some time and in a nal system this would be
adapted to the actual needs through a custom init program. In our case we just replaced it
with a simple shell to make the boot progress, beyond this step.
clementes (Browse Tux)
4.2.2 Table with Results
Conguration Before shell is started (s) After shell is started(s)
Unoptimized with JFFS2 5.428 6.207
Optimized with JFFS2 2.771 2.964
Optimized with Cramfs 2.627 2.814
Optimized with AXFS 1.451 1.576
Optimized XIP with AXFS 0.189 0,360