Embedding Linux For An Automotive Environment


Published on

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.

Published in: Technology, Business
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • 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 > Header and Footer (inte på Slide Masten). Datumet får man trixa med. Man behöver gå in på View > Master > Slide Master, klicka på datumet i sidfoten och sedan Insert > Date and Time > 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.
  • CPU: MPC5121e rev. 2.0, Core e300c4 at 400 MHz, CSB at 200 MHz
    Board: Autonomy rev. A (CPLD rev. 0x0b), bootloader_info=0xfff2fd38
    I2C: ready
    DRAM: 128 MB
    FLASH: 64 MB
    Image Name: Linux-
    Blueetooth, GPS, Can, Touchscreen.
  • * 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
    - 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
  • Embedding Linux For An Automotive Environment

    1. 1. 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
    2. 2. page 3 6 Name of Presentation Me, Myself and I
    3. 3. page 4 6 Name of Presentation Mecel
    4. 4. 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
    5. 5. 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
    6. 6. 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
    7. 7. 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
    8. 8. 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)
    9. 9. 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.
    10. 10. 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
    11. 11. 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
    12. 12. page 13 6 Name of Presentation Demo - Autonomy  CPU: Freescale (PowerPC) - MPC5121e  128 Mb RAM  64 MB Flash  Touch screen  Bluetooth  GPS  Can interface
    13. 13. 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
    14. 14. 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
    15. 15. page 16 6 Name of Presentation Optimize the kernel  Quiet output  Pre-calculate bogomips  Remove Legacy PTY  Remove Hotplug  Remove MTD  Remove Init  Select filesystem
    16. 16. 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
    17. 17. 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
    18. 18. 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.