Download - Rapid prototyping with open source
![Page 1: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/1.jpg)
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 SW
Modular, flexible design
Unit testing at regular preplanned intervals
![Page 2: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/2.jpg)
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
![Page 3: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/3.jpg)
Popular Embedded Operating Systems
![Page 4: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/4.jpg)
MeyerSound's D-Mitri
EmDebian runs real-time audio for Cirque du Soleil, Disney.
![Page 5: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/5.jpg)
Embedded Linux or alternative?
Have MMU? Soft real-time OK?
GPLv2 OK?
Existing Linux port?
Tools, support
OK?
Power use OK?
Want Linux features?
Driver availability?
![Page 6: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/6.jpg)
MeeGo Linaro Android Ångstrom
Organization Foundation Non-profit Consortium Community
Membership None Core, Club, Community
Unclear None
Planning/gover-nance process
Open on IRC + private
Board, TSGs in private
Private Come again?
License LGPL Upstreams' Apache v2 Upstreams'
Corporate participants
16 : Intel, TI, ∓Nokia?, AMD, Fujitsu, Renesas
ARM, Freescale, IBM, Samsung, ST Ericsson, TI
“over 80,” esp. Mentor in embedded
None
Supported architectures
Atom (x86), ARMv7, MIPS in progress
ARMv7: Cortex A8, A9, & A15
ARMv7, ARMv5, PowerPC, x86, MIPS
ARM, PowerPC, MIPS, SuperH, AVR
Shippingproducts
WeTab, IndaMixx, Amino, Geely, HawTai
Not yet legion Gumstix
![Page 7: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/7.jpg)
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 DalvÍk on Maemo
![Page 8: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/8.jpg)
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.
![Page 9: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/9.jpg)
Qt Runs Everywhere
Deeply embedded (“bare metal”) or headless all the way to desktop.
![Page 10: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/10.jpg)
MeeGo is more like Desktop Linux than Android
![Page 11: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/11.jpg)
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
![Page 12: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/12.jpg)
connman Connection Manager
![Page 13: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/13.jpg)
Surprisingly strong developer support
Reflects big efforts by Intel and MeeGo vendor community.
![Page 14: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/14.jpg)
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?
![Page 15: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/15.jpg)
Nokia
MeeGoCommunity
![Page 16: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/16.jpg)
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!
![Page 17: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/17.jpg)
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
![Page 18: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/18.jpg)
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
![Page 19: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/19.jpg)
http://elinux.org/images/5/5c/ELC-AlwaysInnovating-Gentil.pdf
Gentil's Demo at ELC2011
![Page 20: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/20.jpg)
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
![Page 21: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/21.jpg)
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.
![Page 22: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/22.jpg)
MeeGo IVI Running on ExoPC
![Page 23: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/23.jpg)
MeeGo-IVI Homescreen on Atom ExoPC Slate
![Page 24: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/24.jpg)
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
![Page 25: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/25.jpg)
ConnMan Architecture overview
![Page 26: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/26.jpg)
TI's OMAP4430 SoC
6 cores: 2x Cortex A-9, SGX540 GPU, C64X DSP plus 2x Cortex-M
![Page 27: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/27.jpg)
MeeGo-IVI On OMAP4 Pandaboard withHW-accelerated Graphics
![Page 28: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/28.jpg)
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
![Page 29: Rapid prototyping with open source](https://reader034.vdocuments.net/reader034/viewer/2022052315/554ec9bbb4c905de468b5007/html5/thumbnails/29.jpg)
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