rapid prototyping with open source software and hardware

Upload: chaiken

Post on 07-Apr-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    1/29

    Rapid Embedded Prototyping with Open Source:Software and Hardware

    Alison ChaikenNokia Mobility Solutions

    Sunnyvale [email protected]

    July 12, 2011

    Principles:

    Reuse components, both own and COTS, HW and SWModular, flexible designUnit testing at regular preplanned intervals

    mailto:[email protected]:[email protected]
  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    2/29

    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

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    3/29

    Popular Embedded Operating Systems

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    4/29

    MeyerSound's D-Mitri

    EmDebian runs real-time audio for Cirque du Soleil, Disney.

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    5/29

    Embedded Linux or alternative?

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

    ExistingLinux port?

    Tools,support

    OK?

    Power useOK?

    Want Linuxfeatures?

    Driver availability?

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    6/29

    MeeGo Linaro Android ngstrom

    Organization Foundation Non-profit Consortium Community

    Membership None Core, Club,Community

    Unclear None

    Planning/gover-nanceprocess

    Open on IRC +private

    Board, TSGs inprivate

    Private Come again?

    License LGPL Upstreams' Apache v2 Upstreams'

    Corporateparticipants

    16 : Intel, TI,Nokia?, AMD,Fujitsu,Renesas

    ARM,Freescale, IBM,Samsung, STEricsson, TI

    over 80, esp.Mentor inembedded

    None

    Supportedarchitectures Atom (x86),ARMv7, MIPS inprogress

    ARMv7: CortexA8, A9, & A15 ARMv7, ARMv5,PowerPC, x86,MIPS

    ARM, PowerPC,MIPS, SuperH,AVR

    Shippingproducts

    WeTab,IndaMixx,Amino, Geely,HawTai

    Not yet legion Gumstix

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    7/29

    Cross-Platform Apps on Mobile POSIX

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

    Debian's Iced Robot

    RIM's AndroidPlayer on QNXMyriad's Alien Dalvk on Maemo

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    8/29

    Qt Includes Beautiful UI, Featureful Back-endQt Mobility: extensive support for location-based services

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

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    9/29

    Qt Runs Everywhere

    Deeply embedded (bare metal) or headless all the way to desktop.

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    10/29

    MeeGo is more like Desktop Linux than Android

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    11/29

    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

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    12/29

    connman Connection Manager

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    13/29

    Surprisingly strong developer support

    Reflects big efforts by Intel and MeeGo vendor community.

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    14/29

    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 andtablet added 5th place (?) in handset/tablet space

    Do deeply embedded OEMs care?

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    15/29

    Nokia

    MeeGoCommunity

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    16/29

    HW Development Platform Requirements

    Versatility: support for different buses, commsand display protocols

    Expandability: ports, headers and daughter cards

    Software platform support Documentation: manuals, gerbers Device drivers!

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    17/29

    Notable ARM Dev Boards in use by aMeeGos

    TI BeagleBoard XMx1 Cortex A8 with SGX530 GPU

    ST-Ericsson Snowballx2 Cortex A9 with Mali GPU

    TI Pandaboardx2 Cortex A9 with SGX540 GPU

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    18/29

    Other Prototyping possibilities

    Intel N450 Mini-ITXx1 Atom, integrated graphics

    Gumstix Overox1 Cortex A8 with SGX530 GPU

    Variscite AM35x1 Cortex A8 600 MHz, CAN busFreescale iMX53 QuickStart

    x1 Cortex A8 1 GHz, SATA

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    19/29

    http://elinux.org/images/5/5c/ELC-AlwaysInnovating-Gentil.pdf

    Gentil's Demo at ELC2011

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    20/29

    Lessons from the Trenches

    chroot approach demonstrated by Gentil is fast,powerful and widely applicable

    Pick popular HW platform for accessories, docsand tools Device driver situation is painful no matter what

    selection is made

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    21/29

    Summary Wide selection, decent tools and good docs

    enable rapid prototyping using open source. Embedded Linux is useful inmany 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.

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    22/29

    MeeGo IVI Running on ExoPC

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    23/29

    MeeGo-IVI Homescreen on Atom ExoPC Slate

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    24/29

    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; insteadintentionally omit the facility for implementation of them

    Nothing like airgap security at the end of the day

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    25/29

    ConnMan Architecture overview

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    26/29

    TI's OMAP4430 SoC

    6 cores: 2x Cortex A-9, SGX540 GPU, C64X DSP plus 2x Cortex-M

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    27/29

    MeeGo-IVI On OMAP4 Pandaboard withHW-accelerated Graphics

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    28/29

    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,evenproprietary and binary ones, where available

    Complete toolchain including revision control,compilation,packaging and testing

    Support for many architectures and software variants Broad industrial support

  • 8/6/2019 Rapid Prototyping with Open Source Software and Hardware

    29/29

    Linaro: improving Linux on ARM

    Industry contributions for ARM to Linux kernelare 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