1 / 34

Extending, Expanding, and Porting Mobile & Embedded Community Projects

Extending, Expanding, and Porting Mobile & Embedded Community Projects. by Phil Bartholo www.bartholo.com/OSCON/. Goals.

keagan
Download Presentation

Extending, Expanding, and Porting Mobile & Embedded Community Projects

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extending, Expanding, and Porting Mobile & Embedded Community Projects by Phil Bartholowww.bartholo.com/OSCON/

  2. Goals • Learn how the core M&E Community projects have been the catalyst for numerous ports, extensions, and expanded open source uses not previously envisioned when the community launched.

  3. Java Momentum 6 Billion Java-Enabled Devices 2.5 Billion Java-Enabled Phones 3.5 Billion Java Card 20 Million Java Set-top Boxes 800 Million Java Desktops 180 Operators DeployingJava Content 6 Million Developers

  4. Why Open Source? • Bring communities together and extend them • Engage platform and application developers, ISV's, tools vendors, and operators • Industry-wide collaboration on platform, tools, and applications • Remove inefficiencies and barriers to innovation • Drive common implementation and consistency

  5. Agenda • Introduction to the Mobile & Embedded Community • Mobile • Media • Embedded

  6. www.mobileandembedded.org

  7. Community Structure

  8. Why Get Involved? • The only place in the industry that brings together • Complete source code of Java ME implementations • Platform experts and spec leads • Testing tools • Experienced application and content developers • Lots of cutting-edge samples and source code under BSD • 3rd party technology, collaboration, and code • Active community, very friendly and helpful • The best place to jump-start your involvement with Java ME

  9. Agenda • Introduction to the Mobile & Embedded Community • Mobile • Media • Embedded

  10. Optional Packages Java Platform, Micro Edition (Java ME)‏ Java Platform, Standard Edition (Java SE)‏ Optional Packages Optional Packages Personal Basis Profile (PBP)‏ Personal Profile (PP)‏ MSA Capabilities JTWI Mobile Information Device Profile (MIDP)‏ Foundation Profile (FP)‏ Connected Device Configuration (CDC)‏ Connected Limited Device Configuration (CLDC)‏ Java Card Resources Platform Scalability & Evolution

  11. phoneME Feature Project • OS version of commercial “Sun Java Wireless Client” • Shipping on mass-market “feature” phones • Target platforms: Linux/ARM, Windows, Linux/x86 • CLDC/MIDP stack, including • Highly optimized performance with runtime compilation and optimization • Advanced MIDlet multitasking • Advanced resource management • Modular, portable design • Most parts of MSA 248

  12. phoneME Advanced Project • Advanced phones and consumer devices • Target platforms: Linux/ARM, Windows, Linux/x86, Windows Mobile 5.0/6.0 in beta • CDC/FP/PBP/PP stack, including • High performance with runtime compilation and optimization • Advanced application management • MIDlet support (“MIDP on CDC”)‏ • JSR 75 (PIM), JSR 82 (Bluetooth), JSR 205 (WMA), JSR 135 (MMAPI), JSR 172 (Web Services), JSR 226 (SVG)‏

  13. Lightweight UI Toolkit (LWUIT)‏ • Lightweight library bundled with the application • Compelling UI, consistent across platforms (CLDC, CDC, Java SE)‏ • Minimal requirements • CLDC 1.1 + MIDP 2.0 or • CDC + PBP or • Java SE 1.4 and upwards • Highly portable • Inspired by Swing, optimized for mobile and embedded • Tools support: Resource editor, NetBeans Matisse (soon)‏

  14. Who's using phoneME • phoneME Feature usage examples • midPath: A desktop MIDP emulation • Sun SPOT & Squawk VM • Sony PlayStation Portable PSP • phoneME Advanced usage examples • MIDP stack for Windows Mobile • CDC for Nokia N770/N800/N810 • OpenCable (OCAP): Set-top box middleware • BUG: Configurable consumer electronics device • Cineca.tv: Interactive TV platform • Palm OS 5 port • ... and much more in the pipe

  15. ME Application Developers https://meapplicationdevelopers.dev.java.net

  16. Project Marge • Bluetooth (JSR-82) framework • Inquiry for devices • Search for services • Connect and start exchanging messages • Default and auto connection alternatives • Project started in 2006 • .05 release • Mooo project • Set of tools for create/update/display ODF Documents using Mobile • http://marge.dev.java.net/

  17. Compatibility and Quality Testing Tools Test Suite Test Suite Test Suite TestSuite-Specific FW ME Framework JT Harness CQME Project • JT Harness • Used by Java technology TCKs • ME Framework • Supports ME platforms • Test Suite • Compatibility to specification (JSRs) or specification-like use-cases

  18. Agenda • Introduction to the Mobile & Embedded Community • Mobile • Media • Embedded

  19. Media Projects • Blu-Ray - http://hdcookbook.dev.java.net • OCAP - http://opencable.dev.java.net Media Delopment

  20. Agenda • Introduction to the Mobile & Embedded Community • Mobile • Media • Embedded

  21. Buglabs • Enabling a new generation of engineers to build any type of device they want • Without having to solder • Learn solid state electronics • Open Source software • Entire stack is Java except for thin Linux layer • Use phoneME Advanced • CDC/FP/PP/PBP • Extended to add their application APIs and hardware modules

  22. Squawk • Java™ Operating Environment for small devices • Bootloader/Micro Kernel • Java™ ME CLDC 1.1 IMP 1.0 • Java™ on the “bare metal” • Virtual Machine • Device Drivers/Interrupt Handlers • Sun Microsystems Laboratories project

  23. Squawk – Why Java? • Embedded development is hard • Leverage Java™ expertise and code-base • Use standard tools • Ease of porting and emulation • Java™ technology end to end

  24. Squawk – Design Goals • Optimize for small devices • Java™ technology enabler • Java™ in Java™ • Java™ on Java™ • Research and production

  25. Squawk - Architecture

  26. Sun Spot • Sun has licensed Java over billions of cell phones • How do we encourage Sun Technology in whatever comes next?

  27. Built to Inspire • Designed for flexibility • Make hardware projects into software projects • Not designed for cost effective deployment • We want to • Build a community of developers • Enable new Devices and services • Engage new customers

  28. Sun Spot Device • Basic device has three layers • Battery • Processor Board with Radio • Sensor Board • Processor Board alone acts as base-station • User programs the device entirely in Java using std Java tools

  29. Sun SPOT Main board • 180 Mhz 32 bit ARM920T core • 512K RAM/4M Flash • 802.15.4 radio • USB interface – mini b • 3.6V rechargeable lithium-ion battery • 36 µA deep sleep mode • JavaME on the metal

  30. Sun SPOT eDemoboard • 2G/6G 3-axis accellerometer • Light sensor • Temp sensor • 2 push buttons • 8 RGB 24 bit LEDS • 6 analog inputs • 5 general purpose I/O pings and 4 current output pins

  31. Projects Covered • squawk – Java Virtual Machine • spots-libraries – libraries used by SunSPOTs • spots-hardware - • spots-applications – demos and apps • spots-curriculum – instructional materials

  32. Trackbot • 8 built in sensors modules • Beaconing • Obstacle avoidance • Spatial awareness • Communication • Navigation • 4 transducer stations for optional/homebrew sensors • Designed specifically for university-level education and research

  33. Demo DEMO!

  34. Extending, Expanding, and Porting Mobile & Embedded Community Projects by Phil Bartholowww.bartholo.com/OSCON/

More Related