Extending, Expanding, and Porting Mobile - PowerPoint PPT Presentation

1 / 34
About This Presentation
Title:

Extending, Expanding, and Porting Mobile

Description:

Most parts of MSA 248. phoneME Feature Project. Advanced phones and consumer devices ... Default and auto connection alternatives. Project started in 2006 .05 ... – PowerPoint PPT presentation

Number of Views:42
Avg rating:3.0/5.0
Slides: 35
Provided by: assetsEn
Category:

less

Transcript and Presenter's Notes

Title: Extending, Expanding, and Porting Mobile


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

2
Goals
  • Learn how the core ME 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
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
CQME Project
  • Compatibility and Quality Testing Tools
  • 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/
Write a Comment
User Comments (0)
About PowerShow.com