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.

BUG - A Customizable Hardware and Software Platform using Linux, Java and OSGi - Ken Gilmer & Angel Roman


Published on

OSGi DevCon 2008

Traditional embedded system applications are built on statically configured proprietary hardware and software platforms. This talk will illustrate how to build dynamic, highly customizable embedded systems using Linux, device drivers, JNI bindings, open source Java (PhoneME), OSGi, and Eclipse. This talk will present a full software stack of an embedded systems platform using only open source software. No proprietary or commercial tools, drivers, or applications are used. We will show examples of these applications running on BUG, a commercially available open-source consumer-electronics device. Those with a basic understanding of Linux, embedded systems, and OSGi would get the most out of this talk. More information on the BUG is available at

Published in: Technology
  • Be the first to comment

  • Be the first to like this

BUG - A Customizable Hardware and Software Platform using Linux, Java and OSGi - Ken Gilmer & Angel Roman

  1. 1. Bug Labs Inc, 2008 BUG: A Customizable Hardware and Software Platform Using Linux, Java and OSGi • Ken Gilmer, Bug Labs • Angel Roman, Bug Labs
  2. 2. Bug Labs Inc, 2008 What's a BUG?! • A mobile Linux computer with OSGi built-in. • A Modular hardware and software platform for user- created gadgets. • A tool for prototyping and building custom hardware. • The real world expressed as services. • Native Linux • OSGi • RESTful-style web services
  3. 3. Bug Labs Inc, 2008 What's a BUG?! • Eclipse-based SDK and virtual BUG. • Application Sharing Website: BUGnet • Makes it drag-and-drop simple to share creations with others. • Community Focus: • Hardware schematics are open source. • Anyone can build BUG devices and modules. • Fully Free and Open Source Software. • BUG: GPL, BSD • SDK: EPL, BSD
  4. 4. Bug Labs Inc, 2008 BUG Hardware Summary
  5. 5. Bug Labs Inc, 2008 BMI: BUG Module Interface • Hardware: • 40 Pin Samtec Connector • GPIOs and Interrupts • Peripheral I/O interfaces • LCD, Camera, SSI, UARTs, etc... • The Software: • Hooks into the Linux Kernel's bus subsystem. • Makes hot plug-in possible. • Notifies device drivers and OSGi when hardware is present.
  6. 6. Bug Labs Inc, 2008 Linux Device Driver Interface • Standardized file based interface for non network devices. • open()/close() • lseek() • ioctl() • Allows reuse of JNI code for multiple devices • CharDevice • CharDeviceInputStream
  7. 7. Bug Labs Inc, 2008 Java Native Interface • Provides Java(tm) programs access to the operating system. • Each BUG module has one or more JNI bridges to Linux device driver(s).
  8. 8. Bug Labs Inc, 2008 JVM: PhoneME Advanced • Sun's GPL mobile CDC JVM • Personal Profile: Almost complete J2SE 1.4. • Just-in-time compiler for native level performance. • Excellent performance. • Great documentation. • Active community with helpful forums. •
  9. 9. Bug Labs Inc, 2008 Concierge – OSGi R3 Framework • Small and Fast OSGi implementation. • File footprint is about 80 Kb. • CPU utilization on BUG typically under 1%. • Optimized for small devices and mobile Java. • Clean, simple code base. •
  10. 10. Bug Labs Inc, 2008 OSGi/Java BUGisms • Modlet • Similar to a bundle, but for a hardware module. • One to one relationship with module. • On current BUG, maximum of 4 modules can be loaded. • Initializes JNI code and manages OSGi and web services. • Is the bundlespace representation of a hardware device.
  11. 11. Bug Labs Inc, 2008 OSGi/Java BUGisms • Web Services • HTTP bundle provides servlet container. • IPublicWSAdmin • Simple, discoverable web services. • OSGi console • Configuration Manager • SDK interface entirely WS • URL is entity • HTTP method is operation
  12. 12. Bug Labs Inc, 2008 Ongoing challenges • Security/Identity • WS uses MS-DOS security (there is none) • The network • pervasiveness • addressability • Embedded Linux • Most moms and dads won't get cross compiling. • Embedded Linux is still emerging. Many competing visions. • User Interfaces
  13. 13. Bug Labs Inc, 2008 Vision in Use Cases • Activist consumer • Chinese restaurant blogger • Time-shifted racing • Rapid HW prototyping • Stephenson's Gargoyles
  14. 14. Bug Labs Inc, 2008 BUG Tour
  15. 15. Bug Labs Inc, 2008 Questions and Comments • • Ken Gilmer - • Angel Roman - • IRC: #buglabs on •