Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Rapid Embedded Prototyping with Open Source:          Software and Hardware                            Alison Chaiken     ...
Open Source Platform Features to Consider●   Compatible CPU architectures●   Vendor support, documentation and maintenance...
Popular Embedded Operating Systems
MeyerSounds D-MitriEmDebian runs real-time audio for Cirque du Soleil, Disney.
Embedded Linux or alternative?                           Soft real-Have MMU?                                              ...
MeeGo             Linaro            Android           ÅngstromOrganization    Foundation        Non-profit        Consorti...
Cross-Platform Apps on Mobile POSIX                                     Plus, port of iOS apps to MeeGo led by Intels     ...
Qt Includes Beautiful UI, Featureful Back-end     Qt Mobility: extensive support for location-based servicesExcellent IDE,...
Qt Runs EverywhereDeeply 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 Ac...
connman Connection Manager
Surprisingly strong developer supportReflects big efforts by Intel and MeeGo vendor community.
MeeGo Problems●   Security and synchronization systems left    dangling due to project changes●   Lack of continuity and p...
Nokia        MeeGo        Community
HW Development Platform Requirements●   Versatility: support for different buses, comms    and display protocols●   Expand...
Notable ARM Dev Boards in use by aMeeGos                                 TI BeagleBoard XM                                ...
Other Prototyping possibilities                                 Gumstix Overo                                 x1 Cortex A8...
Gentils Demo at ELC2011http://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 pop...
Summary●   Wide selection, decent tools and good docs    enable rapid prototyping using open source.●   Embedded Linux is ...
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...
ConnMan Architecture overview
TIs OMAP4430 SoC6 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 b...
Linaro: improving Linux on ARM●   Industry contributions for ARM to Linux kernel    are a mess●   Tools lag x86●   Broad i...
Upcoming SlideShare
Loading in …5
×

Rapid prototyping with open source

3,469 views

Published on

Reuse of open-source hardware and software components in a modular

Published in: Technology, Business
  • Be the first to like this

Rapid prototyping with open source

  1. 1. Rapid Embedded Prototyping with Open Source: Software and Hardware Alison Chaiken Nokia Mobility Solutions Sunnyvale CA alchaiken@gmail.com July 12, 2011Principles: Reuse components, both own and COTS, HW and SW Modular, flexible design Unit testing at regular preplanned intervals
  2. 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
  3. 3. Popular Embedded Operating Systems
  4. 4. MeyerSounds D-MitriEmDebian runs real-time audio for Cirque du Soleil, Disney.
  5. 5. Embedded Linux or alternative? Soft real-Have MMU? GPLv2 OK? time OK? Want Linux Driver Power use features? availability? OK? Tools, Existing supportLinux port? OK?
  6. 6. MeeGo Linaro Android ÅngstromOrganization Foundation Non-profit Consortium CommunityMembership None Core, Club, Unclear None CommunityPlanning/gov Open on IRC + Board, TSGs in Private Come again?er-nance private privateprocessLicense LGPL Upstreams Apache v2 UpstreamsCorporate 16∓: Intel, TI, ARM, “over 80,” esp. Noneparticipants Nokia?, AMD, Freescale, IBM, Mentor in Fujitsu, Samsung, ST embedded Renesas Ericsson, TISupported Atom (x86), ARMv7: Cortex ARMv7, ARMv5, ARM, PowerPC,architectures ARMv7, MIPS in A8, A9, & A15 PowerPC, x86, MIPS, SuperH, progress MIPS AVRShipping WeTab, Not yet legion Gumstixproducts IndaMixx, Amino, Geely, HawTai
  7. 7. Cross-Platform Apps on Mobile POSIX Plus, port of iOS apps to MeeGo led by Intels S. Crabtree with LLVM developers in Argentina!Myriads Alien DalvÍk on Maemo RIMs AndroidPlayer on QNX Debians Iced Robot
  8. 8. Qt Includes Beautiful UI, Featureful Back-end Qt Mobility: extensive support for location-based servicesExcellent IDE, easy and rapid prototyping with Javascript-like QML.
  9. 9. Qt Runs EverywhereDeeply embedded (“bare metal”) or headless all the way to desktop.
  10. 10. MeeGo is more like Desktop Linux than Android
  11. 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
  12. 12. connman Connection Manager
  13. 13. Surprisingly strong developer supportReflects big efforts by Intel and MeeGo vendor community.
  14. 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. 15. Nokia MeeGo Community
  16. 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. 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. 18. Other Prototyping possibilities Gumstix Overo x1 Cortex A8 with SGX530 GPUIntel N450 Mini-ITXx1 Atom, “integrated graphics” Variscite AM35 Freescale iMX53 QuickStart x1 Cortex A8 600 MHz, CAN bus x1 Cortex A8 1 GHz, SATA
  19. 19. Gentils Demo at ELC2011http://elinux.org/images/5/5c/ELC-AlwaysInnovating-Gentil.pdf
  20. 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. 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. 22. MeeGo IVI Running on ExoPC
  23. 23. MeeGo-IVI Homescreen on Atom ExoPC Slate
  24. 24. Linux Security for Embedded Environments● Sandboxing and cgroups● Hardware approach like DRM → GPU decoding● SELinux versus Smack● Java approach: ● dont prevent impermissible actions in policy; instead intentionally omit the facility for implementation of them● Nothing like “airgap” security at the end of the day
  25. 25. ConnMan Architecture overview
  26. 26. TIs OMAP4430 SoC6 cores: 2x Cortex A-9, SGX540 GPU, C64X DSP plus 2x Cortex-M
  27. 27. MeeGo-IVI On OMAP4 Pandaboard withHW- accelerated Graphics
  28. 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. 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

×