SlideShare a Scribd company logo
1 of 29
Download to read offline
Rapid Embedded Prototyping with Open Source:
          Software and Hardware


                            Alison Chaiken
                       Nokia Mobility Solutions
                            Sunnyvale CA
                        alchaiken@gmail.com
                            July 12, 2011


Principles:
      Reuse components, both own and COTS, HW and SW
      Modular, flexible design
      Unit testing at regular preplanned intervals
Open Source Platform Features to Consider

●   Compatible CPU architectures
●   Vendor support, documentation and maintenance and
    license
●   Ported applications, “app store”
●   Toolchain (compiler, debugger, package manager)
●   Software development kit and integrated dev.
    environment
●   Real-time performance
Popular Embedded Operating Systems
MeyerSound's D-Mitri




EmDebian runs real-time audio for Cirque du Soleil, Disney.
Embedded Linux or alternative?

                           Soft real-
Have MMU?                                               GPLv2 OK?
                           time OK?




              Want Linux                  Driver
                                                                    Power use
              features?                 availability?
                                                                      OK?




                                                          Tools,
  Existing
                                                         support
Linux port?
                                                           OK?
MeeGo             Linaro            Android           Ångstrom


Organization    Foundation        Non-profit        Consortium        Community


Membership      None              Core, Club,       Unclear           None
                                  Community
Planning/gov    Open on IRC +     Board, TSGs in    Private           Come again?
er-nance        private           private
process
License         LGPL              Upstreams'        Apache v2         Upstreams'


Corporate       16∓: Intel, TI,   ARM,              “over 80,” esp.   None
participants    Nokia?, AMD,      Freescale, IBM,   Mentor in
                Fujitsu,          Samsung, ST       embedded
                Renesas           Ericsson, TI
Supported       Atom (x86),    ARMv7: Cortex        ARMv7, ARMv5, ARM, PowerPC,
architectures   ARMv7, MIPS in A8, A9, & A15        PowerPC, x86, MIPS, SuperH,
                progress                            MIPS          AVR
Shipping        WeTab,            Not yet           legion            Gumstix
products        IndaMixx,
                Amino, Geely,
                HawTai
Cross-Platform Apps on Mobile POSIX

                                     Plus, port of iOS apps to MeeGo led by Intel's
                                     S. Crabtree with LLVM developers in Argentina!




Myriad's Alien DalvÍk on Maemo
                                                    RIM's AndroidPlayer on QNX




                             Debian's Iced Robot
Qt Includes Beautiful UI, Featureful Back-end
     Qt Mobility: extensive support for location-based services




Excellent IDE, easy and rapid prototyping with Javascript-like QML.
Qt Runs Everywhere




Deeply embedded (“bare metal”) or headless all the way to desktop.
MeeGo is more like Desktop Linux than Android
MeeGo “Special Sauce”
●   Qt application framework and GUI toolkit
●   Connman connection manager
●   Simplified Mandatory Access Control Kernel
    (Smack)
●   Intended to be reconfigured and reskinned: an
    “upstream”
●   Easier to port mainline Linux components to
    MeeGo than to Android
connman Connection Manager
Surprisingly strong developer support




Reflects big efforts by Intel and MeeGo vendor community.
MeeGo Problems
●   Security and synchronization systems left
    dangling due to project changes
●   Lack of continuity and predictability
    ●   GTK → Qt
    ●   Debian package manager to RedHat one
    ●   Nokia exit
    ●   Netbook and handset now unsupported, TV and
        tablet added
●   5th place (?) in handset/tablet space
    ●   Do “deeply embedded” OEMs care?
Nokia




        MeeGo
        Community
HW Development Platform Requirements

●   Versatility: support for different buses, comms
    and display protocols
●   Expandability: ports, headers and daughter
    cards
●   Software platform support
●   Documentation: manuals, gerbers
●   Device drivers!
Notable ARM Dev Boards in use by aMeeGos




                                 TI BeagleBoard XM
                                 x1 Cortex A8 with SGX530 GPU




  TI Pandaboard
  x2 Cortex A9 with SGX540 GPU        ST-Ericsson Snowball
                                      x2 Cortex A9 with Mali GPU
Other Prototyping possibilities


                                 Gumstix Overo
                                 x1 Cortex A8 with SGX530 GPU
Intel N450 Mini-ITX
x1 Atom, “integrated graphics”




                                    Variscite AM35
 Freescale iMX53 QuickStart         x1 Cortex A8 600 MHz, CAN bus
 x1 Cortex A8 1 GHz, SATA
Gentil's Demo at ELC2011




http://elinux.org/images/5/5c/ELC-AlwaysInnovating-Gentil.pdf
Lessons from the Trenches


●   chroot approach demonstrated by Gentil is fast,
    powerful and widely applicable
●   Pick popular HW platform for accessories, docs
    and tools
●   Device driver situation is painful no matter what
    selection is made
Summary
●   Wide selection, decent tools and good docs
    enable rapid prototyping using open source.
●   Embedded Linux is useful in many cases.
●   Where “app store” is irrelevant, MeeGo is
    easier than Android.
●   Starting with ARM or Atom reference board
    saves a lot of headaches.
●   Linaro and Yocto projects are promising.
●   Proprietary device drivers are the biggest
    problem on any platform.
MeeGo IVI Running on ExoPC
MeeGo-IVI Homescreen on Atom ExoPC Slate
Linux Security for Embedded Environments




●   Sandboxing and cgroups
●   Hardware approach like DRM → GPU decoding
●   SELinux versus Smack
●   Java approach:
    ●   don't prevent impermissible actions in policy; instead
        intentionally omit the facility for implementation of them
●   Nothing like “airgap” security at the end of the day
ConnMan Architecture overview
TI's OMAP4430 SoC




6 cores: 2x Cortex A-9, SGX540 GPU, C64X DSP plus 2x Cortex-M
MeeGo-IVI On OMAP4 Pandaboard withHW-
          accelerated Graphics
Yocto Project Eases Custom Linux Builds


●   Based on Open Embedded, with better UI and more quality control

●   Source for board-support packages and device drivers,even
    proprietary and binary ones, where available

●   Complete toolchain including revision control,
    compilation,packaging and testing

●   Support for many architectures and software variants

●   Broad industrial support
Linaro: improving Linux on ARM


●   Industry contributions for ARM to Linux kernel
    are a mess
●   Tools lag x86
●   Broad industrial support can enable code reuse
    and encourage best practices
●   Primarily funded by Canonical and IBM
●   Still early in development

More Related Content

What's hot

The Role of a Network Software Developer in Network Transformation
The Role of a Network Software Developer in Network TransformationThe Role of a Network Software Developer in Network Transformation
The Role of a Network Software Developer in Network TransformationMichelle Holley
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersMichelle Holley
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинGDG Saint Petersburg
 
Chips alliance omni xtend overview
Chips alliance omni xtend overviewChips alliance omni xtend overview
Chips alliance omni xtend overviewRISC-V International
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsBenjamin Zores
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNLinaro
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughBenjamin Zores
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Qualcomm Developer Network
 
Tech talk with Antmicro - Building your world out of blocks with renode and l...
Tech talk with Antmicro - Building your world out of blocks with renode and l...Tech talk with Antmicro - Building your world out of blocks with renode and l...
Tech talk with Antmicro - Building your world out of blocks with renode and l...RISC-V International
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorLinaro
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5Rihards Gailums
 
SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...
SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...
SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...South Tyrol Free Software Conference
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureBruno Cornec
 
Multicore coming to a screen near you
Multicore coming to a screen near youMulticore coming to a screen near you
Multicore coming to a screen near youRSComponentsTCC
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry ResumePearce Barry
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Linaro
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishBruno Cornec
 

What's hot (20)

The Role of a Network Software Developer in Network Transformation
The Role of a Network Software Developer in Network TransformationThe Role of a Network Software Developer in Network Transformation
The Role of a Network Software Developer in Network Transformation
 
Amora
AmoraAmora
Amora
 
Using VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear ContainersUsing VPP and SRIO-V with Clear Containers
Using VPP and SRIO-V with Clear Containers
 
Android Meetup, Илья Лёвин
Android Meetup, Илья ЛёвинAndroid Meetup, Илья Лёвин
Android Meetup, Илья Лёвин
 
Chips alliance omni xtend overview
Chips alliance omni xtend overviewChips alliance omni xtend overview
Chips alliance omni xtend overview
 
Road to Cloud Native Orchestration
Road to Cloud Native Orchestration Road to Cloud Native Orchestration
Road to Cloud Native Orchestration
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
 
HKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NNHKG18-312 - CMSIS-NN
HKG18-312 - CMSIS-NN
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 
Tech talk with Antmicro - Building your world out of blocks with renode and l...
Tech talk with Antmicro - Building your world out of blocks with renode and l...Tech talk with Antmicro - Building your world out of blocks with renode and l...
Tech talk with Antmicro - Building your world out of blocks with renode and l...
 
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse HypervisorHKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
HKG18- 115 - Partitioning ARM Systems with the Jailhouse Hypervisor
 
Cuda meetup presentation 5
Cuda meetup presentation 5Cuda meetup presentation 5
Cuda meetup presentation 5
 
SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...
SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...
SFScon18 - Roberto Innocenti - Open Hardware PowerPC Notebook disclose the mo...
 
Redfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined InfrastructureRedfish and python-redfish for Software Defined Infrastructure
Redfish and python-redfish for Software Defined Infrastructure
 
Multicore coming to a screen near you
Multicore coming to a screen near youMulticore coming to a screen near you
Multicore coming to a screen near you
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
 
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
Andrew J Younge - Vanguard Astra - Petascale Arm Platform for U.S. DOE/ASC Su...
 
IPMI is dead, Long live Redfish
IPMI is dead, Long live RedfishIPMI is dead, Long live Redfish
IPMI is dead, Long live Redfish
 

Similar to Rapid prototyping with open source

Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boardsLF Events
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteLinaro
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embeddedguest0cf711
 
The Advent of Automotive Linux
The Advent of Automotive LinuxThe Advent of Automotive Linux
The Advent of Automotive LinuxAlison Chaiken
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1Eric Theis
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorSatya Harish
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Serviceskahunasystems
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...MediaTek Labs
 
Enea Keystone training 2014
Enea Keystone training 2014Enea Keystone training 2014
Enea Keystone training 2014EneaSoftware
 
Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumSumant Diwakar
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
How to port Tizen:Common to open source hardware devices?
How to port Tizen:Common to open source hardware devices? How to port Tizen:Common to open source hardware devices?
How to port Tizen:Common to open source hardware devices? Leon Anavi
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System mentoresd
 
The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019
The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019
The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019Eclipse IoT
 
The MRAA and UPM Middleware Libraries
The MRAA and UPM Middleware LibrariesThe MRAA and UPM Middleware Libraries
The MRAA and UPM Middleware LibrariesIntel® Software
 

Similar to Rapid prototyping with open source (20)

Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
 
HKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening KeynoteHKG18-100K1 - George Grey: Opening Keynote
HKG18-100K1 - George Grey: Opening Keynote
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
From Uc To Embedded
From Uc To EmbeddedFrom Uc To Embedded
From Uc To Embedded
 
The Advent of Automotive Linux
The Advent of Automotive LinuxThe Advent of Automotive Linux
The Advent of Automotive Linux
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
 
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processorUplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
 
SivaBorra
SivaBorraSivaBorra
SivaBorra
 
What's New in RHEL 6 for Linux on System z?
What's New in RHEL 6 for Linux on System z?What's New in RHEL 6 for Linux on System z?
What's New in RHEL 6 for Linux on System z?
 
Kahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering ServicesKahuna Systems : Product Engineering Services
Kahuna Systems : Product Engineering Services
 
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
Peripheral Programming using Arduino and Python on MediaTek LinkIt Smart 7688...
 
Enea Keystone training 2014
Enea Keystone training 2014Enea Keystone training 2014
Enea Keystone training 2014
 
Embedded Linux Talk Uni Forum
Embedded Linux Talk Uni ForumEmbedded Linux Talk Uni Forum
Embedded Linux Talk Uni Forum
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
tizen-oshw-tds14sh
tizen-oshw-tds14shtizen-oshw-tds14sh
tizen-oshw-tds14sh
 
How to port Tizen:Common to open source hardware devices?
How to port Tizen:Common to open source hardware devices? How to port Tizen:Common to open source hardware devices?
How to port Tizen:Common to open source hardware devices?
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
 
The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019
The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019
The MRAA and UPM Eclipse IoT Projects | Eclipse IoT Day Santa Clara 2019
 
EOS
EOSEOS
EOS
 
The MRAA and UPM Middleware Libraries
The MRAA and UPM Middleware LibrariesThe MRAA and UPM Middleware Libraries
The MRAA and UPM Middleware Libraries
 

More from Alison Chaiken

Not breaking userspace: the evolving Linux ABI
Not breaking userspace: the evolving Linux ABINot breaking userspace: the evolving Linux ABI
Not breaking userspace: the evolving Linux ABIAlison Chaiken
 
Supporting SW Update via u-boot and GPT/EFI
Supporting SW Update via u-boot and GPT/EFISupporting SW Update via u-boot and GPT/EFI
Supporting SW Update via u-boot and GPT/EFIAlison Chaiken
 
Two C++ Tools: Compiler Explorer and Cpp Insights
Two C++ Tools: Compiler Explorer and Cpp InsightsTwo C++ Tools: Compiler Explorer and Cpp Insights
Two C++ Tools: Compiler Explorer and Cpp InsightsAlison Chaiken
 
V2X Communications: Getting our Cars Talking
V2X Communications: Getting our Cars TalkingV2X Communications: Getting our Cars Talking
V2X Communications: Getting our Cars TalkingAlison Chaiken
 
Practical Challenges to Deploying Highly Automated Vehicles
Practical Challenges to Deploying Highly Automated VehiclesPractical Challenges to Deploying Highly Automated Vehicles
Practical Challenges to Deploying Highly Automated VehiclesAlison Chaiken
 
Linux: the first second
Linux: the first secondLinux: the first second
Linux: the first secondAlison Chaiken
 
Functional AI and Pervasive Networking in Automotive
 Functional AI and Pervasive Networking in Automotive Functional AI and Pervasive Networking in Automotive
Functional AI and Pervasive Networking in AutomotiveAlison Chaiken
 
Flash in Vehicles: an End-User's Perspective
Flash in Vehicles: an End-User's PerspectiveFlash in Vehicles: an End-User's Perspective
Flash in Vehicles: an End-User's PerspectiveAlison Chaiken
 
Linux: the first second
Linux: the first secondLinux: the first second
Linux: the first secondAlison Chaiken
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleAlison Chaiken
 
Automotive Linux, Cybersecurity and Transparency
Automotive Linux, Cybersecurity and TransparencyAutomotive Linux, Cybersecurity and Transparency
Automotive Linux, Cybersecurity and TransparencyAlison Chaiken
 
LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager Alison Chaiken
 
Automotive Grade Linux and systemd
Automotive Grade Linux and systemdAutomotive Grade Linux and systemd
Automotive Grade Linux and systemdAlison Chaiken
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embeddedAlison Chaiken
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developersAlison Chaiken
 
Developing Automotive Linux
Developing Automotive LinuxDeveloping Automotive Linux
Developing Automotive LinuxAlison Chaiken
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveAlison Chaiken
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarAlison Chaiken
 
Best practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-treeBest practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-treeAlison Chaiken
 
The “Telematics Horizon” V2V and V2I Networking
The “Telematics Horizon” V2V and V2I NetworkingThe “Telematics Horizon” V2V and V2I Networking
The “Telematics Horizon” V2V and V2I NetworkingAlison Chaiken
 

More from Alison Chaiken (20)

Not breaking userspace: the evolving Linux ABI
Not breaking userspace: the evolving Linux ABINot breaking userspace: the evolving Linux ABI
Not breaking userspace: the evolving Linux ABI
 
Supporting SW Update via u-boot and GPT/EFI
Supporting SW Update via u-boot and GPT/EFISupporting SW Update via u-boot and GPT/EFI
Supporting SW Update via u-boot and GPT/EFI
 
Two C++ Tools: Compiler Explorer and Cpp Insights
Two C++ Tools: Compiler Explorer and Cpp InsightsTwo C++ Tools: Compiler Explorer and Cpp Insights
Two C++ Tools: Compiler Explorer and Cpp Insights
 
V2X Communications: Getting our Cars Talking
V2X Communications: Getting our Cars TalkingV2X Communications: Getting our Cars Talking
V2X Communications: Getting our Cars Talking
 
Practical Challenges to Deploying Highly Automated Vehicles
Practical Challenges to Deploying Highly Automated VehiclesPractical Challenges to Deploying Highly Automated Vehicles
Practical Challenges to Deploying Highly Automated Vehicles
 
Linux: the first second
Linux: the first secondLinux: the first second
Linux: the first second
 
Functional AI and Pervasive Networking in Automotive
 Functional AI and Pervasive Networking in Automotive Functional AI and Pervasive Networking in Automotive
Functional AI and Pervasive Networking in Automotive
 
Flash in Vehicles: an End-User's Perspective
Flash in Vehicles: an End-User's PerspectiveFlash in Vehicles: an End-User's Perspective
Flash in Vehicles: an End-User's Perspective
 
Linux: the first second
Linux: the first secondLinux: the first second
Linux: the first second
 
IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the PreemptibleIRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible
 
Automotive Linux, Cybersecurity and Transparency
Automotive Linux, Cybersecurity and TransparencyAutomotive Linux, Cybersecurity and Transparency
Automotive Linux, Cybersecurity and Transparency
 
LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager LISA15: systemd, the Next-Generation Linux System Manager
LISA15: systemd, the Next-Generation Linux System Manager
 
Automotive Grade Linux and systemd
Automotive Grade Linux and systemdAutomotive Grade Linux and systemd
Automotive Grade Linux and systemd
 
Tuning systemd for embedded
Tuning systemd for embeddedTuning systemd for embedded
Tuning systemd for embedded
 
Systemd for developers
Systemd for developersSystemd for developers
Systemd for developers
 
Developing Automotive Linux
Developing Automotive LinuxDeveloping Automotive Linux
Developing Automotive Linux
 
Systemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to loveSystemd: the modern Linux init system you will learn to love
Systemd: the modern Linux init system you will learn to love
 
Technology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected CarTechnology, Business and Regulation of the Connected Car
Technology, Business and Regulation of the Connected Car
 
Best practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-treeBest practices for long-term support and security of the device-tree
Best practices for long-term support and security of the device-tree
 
The “Telematics Horizon” V2V and V2I Networking
The “Telematics Horizon” V2V and V2I NetworkingThe “Telematics Horizon” V2V and V2I Networking
The “Telematics Horizon” V2V and V2I Networking
 

Recently uploaded

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfUK Journal
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyUXDXConf
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekCzechDreamin
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsStefano
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGDSC PJATK
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...FIDO Alliance
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlPeter Udo Diehl
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaCzechDreamin
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfFIDO Alliance
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyJohn Staveley
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessUXDXConf
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101vincent683379
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastUXDXConf
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?Mark Billinghurst
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...marcuskenyatta275
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe中 央社
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Patrick Viafore
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FIDO Alliance
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfFIDO Alliance
 

Recently uploaded (20)

Breaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdfBreaking Down the Flutterwave Scandal What You Need to Know.pdf
Breaking Down the Flutterwave Scandal What You Need to Know.pdf
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Google I/O Extended 2024 Warsaw
Google I/O Extended 2024 WarsawGoogle I/O Extended 2024 Warsaw
Google I/O Extended 2024 Warsaw
 
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
Secure Zero Touch enabled Edge compute with Dell NativeEdge via FDO _ Brad at...
 
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo DiehlFuture Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
Future Visions: Predictions to Guide and Time Tech Innovation, Peter Udo Diehl
 
Powerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara LaskowskaPowerful Start- the Key to Project Success, Barbara Laskowska
Powerful Start- the Key to Project Success, Barbara Laskowska
 
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdfIntroduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
Introduction to FDO and How It works Applications _ Richard at FIDO Alliance.pdf
 
Demystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John StaveleyDemystifying gRPC in .Net by John Staveley
Demystifying gRPC in .Net by John Staveley
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101AI presentation and introduction - Retrieval Augmented Generation RAG 101
AI presentation and introduction - Retrieval Augmented Generation RAG 101
 
Designing for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at ComcastDesigning for Hardware Accessibility at Comcast
Designing for Hardware Accessibility at Comcast
 
The Metaverse: Are We There Yet?
The  Metaverse:    Are   We  There  Yet?The  Metaverse:    Are   We  There  Yet?
The Metaverse: Are We There Yet?
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024Extensible Python: Robustness through Addition - PyCon 2024
Extensible Python: Robustness through Addition - PyCon 2024
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 

Rapid prototyping with open source

  • 1. Rapid Embedded Prototyping with Open Source: Software and Hardware Alison Chaiken Nokia Mobility Solutions Sunnyvale CA alchaiken@gmail.com July 12, 2011 Principles: Reuse components, both own and COTS, HW and SW Modular, flexible design Unit testing at regular preplanned intervals
  • 2. Open Source Platform Features to Consider ● Compatible CPU architectures ● Vendor support, documentation and maintenance and license ● Ported applications, “app store” ● Toolchain (compiler, debugger, package manager) ● Software development kit and integrated dev. environment ● Real-time performance
  • 4. MeyerSound's D-Mitri EmDebian runs real-time audio for Cirque du Soleil, Disney.
  • 5. Embedded Linux or alternative? Soft real- Have MMU? GPLv2 OK? time OK? Want Linux Driver Power use features? availability? OK? Tools, Existing support Linux port? OK?
  • 6. MeeGo Linaro Android Ångstrom Organization Foundation Non-profit Consortium Community Membership None Core, Club, Unclear None Community Planning/gov Open on IRC + Board, TSGs in Private Come again? er-nance private private process License LGPL Upstreams' Apache v2 Upstreams' Corporate 16∓: Intel, TI, ARM, “over 80,” esp. None participants Nokia?, AMD, Freescale, IBM, Mentor in Fujitsu, Samsung, ST embedded Renesas Ericsson, TI Supported Atom (x86), ARMv7: Cortex ARMv7, ARMv5, ARM, PowerPC, architectures ARMv7, MIPS in A8, A9, & A15 PowerPC, x86, MIPS, SuperH, progress MIPS AVR Shipping WeTab, Not yet legion Gumstix products IndaMixx, Amino, Geely, HawTai
  • 7. Cross-Platform Apps on Mobile POSIX Plus, port of iOS apps to MeeGo led by Intel's S. Crabtree with LLVM developers in Argentina! Myriad's Alien DalvÍk on Maemo RIM's AndroidPlayer on QNX Debian's Iced Robot
  • 8. Qt Includes Beautiful UI, Featureful Back-end Qt Mobility: extensive support for location-based services Excellent IDE, easy and rapid prototyping with Javascript-like QML.
  • 9. Qt Runs Everywhere Deeply embedded (“bare metal”) or headless all the way to desktop.
  • 10. MeeGo is more like Desktop Linux than Android
  • 11. MeeGo “Special Sauce” ● Qt application framework and GUI toolkit ● Connman connection manager ● Simplified Mandatory Access Control Kernel (Smack) ● Intended to be reconfigured and reskinned: an “upstream” ● Easier to port mainline Linux components to MeeGo than to Android
  • 13. Surprisingly strong developer support Reflects big efforts by Intel and MeeGo vendor community.
  • 14. MeeGo Problems ● Security and synchronization systems left dangling due to project changes ● Lack of continuity and predictability ● GTK → Qt ● Debian package manager to RedHat one ● Nokia exit ● Netbook and handset now unsupported, TV and tablet added ● 5th place (?) in handset/tablet space ● Do “deeply embedded” OEMs care?
  • 15. Nokia MeeGo Community
  • 16. HW Development Platform Requirements ● Versatility: support for different buses, comms and display protocols ● Expandability: ports, headers and daughter cards ● Software platform support ● Documentation: manuals, gerbers ● Device drivers!
  • 17. Notable ARM Dev Boards in use by aMeeGos TI BeagleBoard XM x1 Cortex A8 with SGX530 GPU TI Pandaboard x2 Cortex A9 with SGX540 GPU ST-Ericsson Snowball x2 Cortex A9 with Mali GPU
  • 18. Other Prototyping possibilities Gumstix Overo x1 Cortex A8 with SGX530 GPU Intel N450 Mini-ITX x1 Atom, “integrated graphics” Variscite AM35 Freescale iMX53 QuickStart x1 Cortex A8 600 MHz, CAN bus x1 Cortex A8 1 GHz, SATA
  • 19. Gentil's Demo at ELC2011 http://elinux.org/images/5/5c/ELC-AlwaysInnovating-Gentil.pdf
  • 20. Lessons from the Trenches ● chroot approach demonstrated by Gentil is fast, powerful and widely applicable ● Pick popular HW platform for accessories, docs and tools ● Device driver situation is painful no matter what selection is made
  • 21. Summary ● Wide selection, decent tools and good docs enable rapid prototyping using open source. ● Embedded Linux is useful in many cases. ● Where “app store” is irrelevant, MeeGo is easier than Android. ● Starting with ARM or Atom reference board saves a lot of headaches. ● Linaro and Yocto projects are promising. ● Proprietary device drivers are the biggest problem on any platform.
  • 22. MeeGo IVI Running on ExoPC
  • 23. MeeGo-IVI Homescreen on Atom ExoPC Slate
  • 24. Linux Security for Embedded Environments ● Sandboxing and cgroups ● Hardware approach like DRM → GPU decoding ● SELinux versus Smack ● Java approach: ● don't prevent impermissible actions in policy; instead intentionally omit the facility for implementation of them ● Nothing like “airgap” security at the end of the day
  • 26. TI's OMAP4430 SoC 6 cores: 2x Cortex A-9, SGX540 GPU, C64X DSP plus 2x Cortex-M
  • 27. MeeGo-IVI On OMAP4 Pandaboard withHW- accelerated Graphics
  • 28. Yocto Project Eases Custom Linux Builds ● Based on Open Embedded, with better UI and more quality control ● Source for board-support packages and device drivers,even proprietary and binary ones, where available ● Complete toolchain including revision control, compilation,packaging and testing ● Support for many architectures and software variants ● Broad industrial support
  • 29. Linaro: improving Linux on ARM ● Industry contributions for ARM to Linux kernel are a mess ● Tools lag x86 ● Broad industrial support can enable code reuse and encourage best practices ● Primarily funded by Canonical and IBM ● Still early in development