SlideShare a Scribd company logo
Oracle JavaOne 2014 - September 30 2014
Using Java on Wearable Devices
Featuring a Hybrid Architecture
Presenters:
Nicola La Gloria - Kynetics
Aaron Oki Moore - Revolution Robotics
Oracle JavaOne 2014 - September 30 2014
Who we are:
■ Nicola La Gloria, Kynetics, CEO
nicola.lagloria@kynetics.com
■ Aaron Oki Moore, Revolution Robotics Inc., President
aaron@revoinc.com
Key Contributors
■ Diego Rondini (Kynetics)
■ Jacob Postman (Revo)
■ Otavio Salvador (OS System, CEO and i.MX6 Yocto maintainer)
■ Ray Anderson (Revo)
Oracle JavaOne 2014 - September 30 2014
Agenda
■ Introduction
■ What is Wearable Computing
■ Wearables in IoT
■ Design Challenges of Wearables
■ Hybrid Design Architecture
■ Wearable Reference Platform (WaRP)
■ Java on Hybrid Design Architecture
■ Operating System
■ Demo / Q & A
Oracle JavaOne 2014 - September 30 2014
What is Wearable Computing
■ A Wearable Computer is a body mounted connected
platform that enhance the user experience and activity.
■ Wearables does not mean smartwatch! Although they are
dominant today.
■ Defining features of Wearables are:
■ Form Factor Miniaturization
■ Low Power
■ Connectivity
■ Multiple sensors
Oracle JavaOne 2014 - September 30 2014
How we got here...
Oracle JavaOne 2014 - September 30 2014
Examples of Wearable Computers
Oracle JavaOne 2014 - September 30 2014
Examples of Wearable Computers
Oracle JavaOne 2014 - September 30 2014
Wearables in IoT devices
■ Wearables among one of the fastest growing segments in
IoT.
■ ~20M devices in the market to date
■ Estimated worth $50B within the next three years
■ Characterizing feature for modern wearables: Connectivity
■ Edge Device
Two key IoT characterizations: Data Generators, Data Consumer:
■ Wearables are prevalent as sensors (medical/fitness) which
generate data pushed to the cloud.
■ Devices receive data in the form of news, messages, events,
etc to display to the user (can also be used for configuration).
Oracle JavaOne 2014 - September 30 2014
Design Challenges of Wearables
■ Form Factor - small, lightweight, 1/5th the size of
smartphones
■ Battery Life due to limited capacity
■ Communication and Connectivity
Design Consideration:
■ Markets: Medical, Health & Fitness, Infotainment
■ MCU vs AP
■ Performance / Application Capabilities
■ Expandability (As both a hardware and software platform)
■ Connectivity Options - Wifi, BT
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Wearable Devices today are divided into two main categories:
■ CPU driven devices:
■ Generally they present a rich user experience featuring a
full operating system
■ I’m Watch
■ Samsung Gear
■ Moto 360
■ Micro Controller driven devices:
■ Generally they feature a longer battery life but poor UI
■ Nike Fuel Band
■ Fit-bit
■ Peeble Watch
■ My Basis
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
What is Hybrid Design?
■ The Hybrid Architecture has been introduced into a wearable
reference design by Revo and Kynetics in 2012 as a solution
to increase the battery life of a wearable computer.
■ Addresses/Focuses on:
■ Ease/flexibility of design implementation
■ Address key design challenges of wearables
■ Scale to a variety of applications
■ Separate hardware/software domains
■ Reliability via MCU
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Fusion between APP and MCU through a design architecture
that partitions the domain between Hardware and Software.
Mainboard (Application Processor Board)
■ High performance core with high complexity
■ Same mainboard for all applications
Daughter Board (Application Specific MCU board)
■ Application specific components and sensor platform
■ Different daughter boards for different applications
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Mainboard component selection criteria:
■ Components that are common across application domains
■ Move/Separate by complexity domain to reduce cost and
scale of implementation challenges.
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Display Mainboard Battery Daughter board
Oracle JavaOne 2014 - September 30 2014
Hybrid Design Architecture
Implementation example: WaRP
Oracle JavaOne 2014 - September 30 2014
Wearable Reference Platform (WaRP)
Purpose:
Develop a wearable reference platform to cover a wide range of
applications. Focus on improving design cycle (ease, speed) for
new wearable devices, and to substantially reduce the cost of
product development. Developed with production /
manufacturing in mind (Commercializable).
Oracle JavaOne 2014 - September 30 2014
Wearable Reference Platform (WaRP)
Hardware Details:
■ Based on Freescale i.MX6SL (Solo) - 1.0 Ghz
■ 512MB LP-DDR2 Mobile Memory, 4GB eMMC Flash Storage
■ USB OTG, Motion Processor, PMIC, WIFI + BT, B2B Expansion
■ PCB: 10 Layer HDI (High Density Interconect), Host to 220 Components
■ Dimensions: 16mm W x 38mm L x 3.4mm Thin (Board Area < 1
sq-in)
Oracle JavaOne 2014 - September 30 2014
Wearable Reference Platform (WaRP)
Oracle JavaOne 2014 - September 30 2014
Wearable Reference Platform (WaRP)
Oracle JavaOne 2014 - September 30 2014
Wearable Reference Platform (WaRP)
Totally Open Source & Open Hardware
Oracle JavaOne 2014 - September 30 2014
Java on Hybrid Design Architecture
■ Java SE Embedded runs on Application (requires OS and device level IO such as
UART requires additional third party libraries such as rxtx or Java DIO ).
■ Java ME 8 opens the doors for running Java at the MCU level.
Freescale
FRDM-K64F
Oracle JavaOne 2014 - September 30 2014
Daughter Card Application Interface
Oracle JavaOne 2014 - September 30 2014
System Architecture: overview
JVM
Hardware
Bootloader
Yocto Linux
Java Libraries and Frameworks
UI Applications
Linux Kernel
Display Manager
UI toolkits
Java Bindings
Oracle JavaOne 2014 - September 30 2014
Operating System
■ GNU/Linux to run Oracle JVM is needed
■ GPU hardware support (Vivante GC320, 2D Engine for WaRP)
■ Architecture dependent code compilation (native libraries, JNI)):
■ OS featuring a toolchain (SDK) and headers. (Yocto SDK for i.mx6 SL)
■ a cross-compiling environment to compile the native code we need
(OS, libs, JNI). Yocto pocky toolchain.
■ Windowing system selection:
■ X11
■ Wayland
■ Kernel trade off for i.MX Solo Light:
■ Linux kernel 3.0.35 (only X11, Yocto Dora)
■ Linux kernel 3.10.17 (X11/Wayland, Yocto Daisy)
■ Linux kernel 3.15.x (last development release)
Oracle JavaOne 2014 - September 30 2014
Appliations
JVM
Display Manager
Kernel Space (KMS)
Drivers
GPU ModulesNative
Appliations
JVM
Kernel Space (KMS)
Drivers
“Embedded”
GPU Support
Native
Two approaches to GPU support
Display Manager
Oracle JavaOne 2014 - September 30 2014
What is Wayland?
■ Wayland is intended as a simpler replacement for X, easier to develop
and maintain.
■ Wayland is a protocol for a compositor to talk to its clients as well as a C
library implementation of that protocol.
■ Part of the Wayland project is also the Weston reference implementation
of a Wayland compositor.
■ The Weston compositor is a minimal and fast compositor and is suitable
for many embedded and mobile use cases.
■ Most of the complexity that the X server used to handle is now available
in the kernel or self contained libraries (KMS, evdev, mesa, fontconfig,
freetype, cairo, Qt, etc). In general, the X server is now just a middle-man
that introduces an extra step between applications and the compositor
and an extra step between the compositor and the hardware.
Oracle JavaOne 2014 - September 30 2014
X11 vs Wayland
images from (http://wayland.freedesktop.org/architecture.html)
Oracle JavaOne 2014 - September 30 2014
Display Management and UI Toolkits.
It’s very important to have lightweed and performant Display
Managers (DM) and UI Toolkits (UIT) to provide the desired User
experience.
■ DM Alternatives:
■ X11
■ Wayland
■ Hybrid (XWayland, to support X11 apps on Wayland)
■ UIT Alternatives for WaRP (only 2D acceleration):
■ AWT (no 3D accelerated rendering)/Swing
■ GTK3, SWT
■ Possible bindings (2D) today are:
■ X11 (AWT,SWING,JAVA FX, SWT)
■ Wayland (GTK3, SWT)
Oracle JavaOne 2014 - September 30 2014
Current Issues on Wayland with Java
The problem: we have a FSL Solo Light based platform (only 2D Vivante GPU) we want
to display Java Graphics on Wayland backend (more performant on embedded
devices).
■ AWT/Java FX is not supported
■ https://community.oracle.com/thread/2491140
■ Someone is claiming that Eclipse is working under Wayland
■ http://blog.vogella.com/2014/08/18/eclipse-now-runs-on-wayland/
■ The trick is that Eclipse works with X11 on behalf, not in a pure Wayland
environment (XWayland required or booth present in the system)
■ Why?: SWT: dependents on GTKPlug/GTKSocket
References:
■ http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/4.4.0/org.ecl
ipse.swt.gtk.linux/x86_64/3.103.0/org/eclipse/swt/internal/gtk/OS.java#1622
■ https://bugzilla.gnome.org/show_bug.cgi?id=721224#c1
Oracle JavaOne 2014 - September 30 2014
State of the art: what we have today.
It’s very important to have lightweed and performant Display
Managers (DM) and UI Toolkits (UIT) to provide the desired User
experience.
■ DM Alternatives:
■ X11
■ Wayland
■ Hybrid (XWayland, to support X11 apps on Wayland)
■ UIT Alternatives for WaRP (only 2D acceleration):
■ AWT (no 3D accelerated rendering)/Swing
■ GTK3, SWT
■ Possible bindings (2D) today are:
■ X11 (AWT,SWING,JAVA FX, SWT)
■ Wayland (GTK3, SWT)
Oracle JavaOne 2014 - September 30 2014
Q & A
Oracle JavaOne 2014 - September 30 2014
Thank you!
A special thanks to:
■ James Allen (Oracle)
■ Robert Thompson (Freescale)
■ Eric Nelson (Boundary Devices)
■ David Clack (Sun Microsystems)
■ All the Developers Communities (Yocto, Java, FSL)

More Related Content

Similar to Using Java on Wearable Devices featuring an Hybrid Architecture.

OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Ambassador Labs
 
Future Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and TestbedFuture Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and Testbed
Shinji Shimojo
 
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Erik Gur
 
Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...
Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...
Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...Infosecurity2010
 
Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1Kurt Liu
 
Developing For Nokia Asha Devices
Developing For Nokia Asha DevicesDeveloping For Nokia Asha Devices
Developing For Nokia Asha Devices
achipa
 
Edje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesEdje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT Devices
MicroEJ
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
Getting value from IoT, Integration and Data Analytics
 
SunGrid: Cloud Computing
SunGrid: Cloud ComputingSunGrid: Cloud Computing
SunGrid: Cloud Computing
Uday Subbarayan
 
IBM: The Linux Ecosystem
IBM: The Linux EcosystemIBM: The Linux Ecosystem
IBM: The Linux Ecosystem
Kangaroot
 
U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020
hoyoung kim
 
Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectMacpaul Lin
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
AMD Developer Central
 
Cisco Live Take Two: Network Troubleshooting Product Overview
Cisco Live Take Two: Network Troubleshooting Product OverviewCisco Live Take Two: Network Troubleshooting Product Overview
Cisco Live Take Two: Network Troubleshooting Product Overview
SolarWinds
 
AGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystemAGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystem
AGILE IoT
 
Sparc的未来发展方向
Sparc的未来发展方向Sparc的未来发展方向
Sparc的未来发展方向
legendnet368
 
The UNICORE Project: Unikraft and OpenNebula
The UNICORE Project:  Unikraft and OpenNebulaThe UNICORE Project:  Unikraft and OpenNebula
The UNICORE Project: Unikraft and OpenNebula
OpenNebula Project
 
CSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel PowerCSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel Power
UNICORE_project
 
UNICORE Project: Unikernel Power
UNICORE Project: Unikernel PowerUNICORE Project: Unikernel Power

Similar to Using Java on Wearable Devices featuring an Hybrid Architecture. (20)

OpenStack Introduction
OpenStack IntroductionOpenStack Introduction
OpenStack Introduction
 
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
Montreal Kubernetes Meetup: Developer-first workflows (for microservices) on ...
 
Future Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and TestbedFuture Internet: Managing Innovation and Testbed
Future Internet: Managing Innovation and Testbed
 
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
Java Magazine JUNIT5 NOVEMBER/DECEMBER 2016
 
Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...
Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...
Nick Barcet, Open Source tijdens Infosecurity.nl Storage Expo en Tooling Even...
 
Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1Oracle Ravello Presentation 7Dec16 v1
Oracle Ravello Presentation 7Dec16 v1
 
Developing For Nokia Asha Devices
Developing For Nokia Asha DevicesDeveloping For Nokia Asha Devices
Developing For Nokia Asha Devices
 
Edje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT DevicesEdje Project: The Software Foundation for IoT Devices
Edje Project: The Software Foundation for IoT Devices
 
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
AMIS Oracle OpenWorld 2015 Review – part 4- PaaS Application Development, Jav...
 
SunGrid: Cloud Computing
SunGrid: Cloud ComputingSunGrid: Cloud Computing
SunGrid: Cloud Computing
 
IBM: The Linux Ecosystem
IBM: The Linux EcosystemIBM: The Linux Ecosystem
IBM: The Linux Ecosystem
 
U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020U4Aide platform introduction_e_infocg_2020
U4Aide platform introduction_e_infocg_2020
 
Porting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt projectPorting a new architecture (NDS32) to open wrt project
Porting a new architecture (NDS32) to open wrt project
 
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon SelleyPT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
PT-4052, Introduction to AMD Developer Tools, by Yaki Tebeka and Gordon Selley
 
Cisco Live Take Two: Network Troubleshooting Product Overview
Cisco Live Take Two: Network Troubleshooting Product OverviewCisco Live Take Two: Network Troubleshooting Product Overview
Cisco Live Take Two: Network Troubleshooting Product Overview
 
AGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystemAGILE software, devices and wider ecosystem
AGILE software, devices and wider ecosystem
 
Sparc的未来发展方向
Sparc的未来发展方向Sparc的未来发展方向
Sparc的未来发展方向
 
The UNICORE Project: Unikraft and OpenNebula
The UNICORE Project:  Unikraft and OpenNebulaThe UNICORE Project:  Unikraft and OpenNebula
The UNICORE Project: Unikraft and OpenNebula
 
CSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel PowerCSUC - UNICORE Project: UNIKernel Power
CSUC - UNICORE Project: UNIKernel Power
 
UNICORE Project: Unikernel Power
UNICORE Project: Unikernel PowerUNICORE Project: Unikernel Power
UNICORE Project: Unikernel Power
 

More from Kynetics

Eclipse Hara, Updating Embedded Devices with hawkBit Made Easy
Eclipse Hara, Updating Embedded Devices with hawkBit Made EasyEclipse Hara, Updating Embedded Devices with hawkBit Made Easy
Eclipse Hara, Updating Embedded Devices with hawkBit Made Easy
Kynetics
 
Deploy Eclipse hawBit in Production
Deploy Eclipse hawBit in ProductionDeploy Eclipse hawBit in Production
Deploy Eclipse hawBit in Production
Kynetics
 
Orchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded LinuxOrchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded Linux
Kynetics
 
ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything
Kynetics
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7
Kynetics
 
Eclipse Iot Day 2018 Presentation
Eclipse Iot Day 2018 PresentationEclipse Iot Day 2018 Presentation
Eclipse Iot Day 2018 Presentation
Kynetics
 
AMP Kynetics - ELC 2018 Portland
AMP  Kynetics - ELC 2018 PortlandAMP  Kynetics - ELC 2018 Portland
AMP Kynetics - ELC 2018 Portland
Kynetics
 
Eclipsecon 2017 presentation
Eclipsecon 2017 presentationEclipsecon 2017 presentation
Eclipsecon 2017 presentation
Kynetics
 
Reactive IoT, Java One 2016
Reactive IoT, Java One 2016Reactive IoT, Java One 2016
Reactive IoT, Java One 2016
Kynetics
 
Linaro Connect 2017 - Presentation - Kynetics
Linaro Connect 2017 - Presentation - KyneticsLinaro Connect 2017 - Presentation - Kynetics
Linaro Connect 2017 - Presentation - Kynetics
Kynetics
 

More from Kynetics (10)

Eclipse Hara, Updating Embedded Devices with hawkBit Made Easy
Eclipse Hara, Updating Embedded Devices with hawkBit Made EasyEclipse Hara, Updating Embedded Devices with hawkBit Made Easy
Eclipse Hara, Updating Embedded Devices with hawkBit Made Easy
 
Deploy Eclipse hawBit in Production
Deploy Eclipse hawBit in ProductionDeploy Eclipse hawBit in Production
Deploy Eclipse hawBit in Production
 
Orchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded LinuxOrchestrated Android-Style System Upgrades for Embedded Linux
Orchestrated Android-Style System Upgrades for Embedded Linux
 
ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything ELC2019 - Poster - Update Anything
ELC2019 - Poster - Update Anything
 
Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7Heterogeneous multiprocessing on androd and i.mx7
Heterogeneous multiprocessing on androd and i.mx7
 
Eclipse Iot Day 2018 Presentation
Eclipse Iot Day 2018 PresentationEclipse Iot Day 2018 Presentation
Eclipse Iot Day 2018 Presentation
 
AMP Kynetics - ELC 2018 Portland
AMP  Kynetics - ELC 2018 PortlandAMP  Kynetics - ELC 2018 Portland
AMP Kynetics - ELC 2018 Portland
 
Eclipsecon 2017 presentation
Eclipsecon 2017 presentationEclipsecon 2017 presentation
Eclipsecon 2017 presentation
 
Reactive IoT, Java One 2016
Reactive IoT, Java One 2016Reactive IoT, Java One 2016
Reactive IoT, Java One 2016
 
Linaro Connect 2017 - Presentation - Kynetics
Linaro Connect 2017 - Presentation - KyneticsLinaro Connect 2017 - Presentation - Kynetics
Linaro Connect 2017 - Presentation - Kynetics
 

Recently uploaded

一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
peuce
 
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
andreassenrolf537
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
lorraineandreiamcidl
 
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Peter Gallagher
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
aozcue
 
Production.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd ddddddddddddddddddddddddddddddddddProduction.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd dddddddddddddddddddddddddddddddddd
DanielOliver74
 
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdfSchematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
nikoloco007
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
aozcue
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
u0g33km
 

Recently uploaded (9)

一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
一比一原版(UMich毕业证)密歇根大学|安娜堡分校毕业证如何办理
 
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
欧洲杯冠军-欧洲杯冠军网站-欧洲杯冠军|【​网址​🎉ac123.net🎉​】领先全球的买球投注平台
 
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDARLORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
LORRAINE ANDREI_LEQUIGAN_GOOGLE CALENDAR
 
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
Building a Raspberry Pi Robot with Dot NET 8, Blazor and SignalR - Slides Onl...
 
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
一比一原版(IIT毕业证)伊利诺伊理工大学毕业证如何办理
 
Production.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd ddddddddddddddddddddddddddddddddddProduction.pptxd dddddddddddddddddddddddddddddddddd
Production.pptxd dddddddddddddddddddddddddddddddddd
 
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdfSchematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
Schematic Diagram MSI MS-7309 - REV 1.0 PDF .pdf
 
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
一比一原版(UCSB毕业证)圣塔芭芭拉社区大学毕业证如何办理
 
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样加急办理美国南加州大学毕业证文凭毕业证原版一模一样
加急办理美国南加州大学毕业证文凭毕业证原版一模一样
 

Using Java on Wearable Devices featuring an Hybrid Architecture.

  • 1. Oracle JavaOne 2014 - September 30 2014 Using Java on Wearable Devices Featuring a Hybrid Architecture Presenters: Nicola La Gloria - Kynetics Aaron Oki Moore - Revolution Robotics
  • 2. Oracle JavaOne 2014 - September 30 2014 Who we are: ■ Nicola La Gloria, Kynetics, CEO nicola.lagloria@kynetics.com ■ Aaron Oki Moore, Revolution Robotics Inc., President aaron@revoinc.com Key Contributors ■ Diego Rondini (Kynetics) ■ Jacob Postman (Revo) ■ Otavio Salvador (OS System, CEO and i.MX6 Yocto maintainer) ■ Ray Anderson (Revo)
  • 3. Oracle JavaOne 2014 - September 30 2014 Agenda ■ Introduction ■ What is Wearable Computing ■ Wearables in IoT ■ Design Challenges of Wearables ■ Hybrid Design Architecture ■ Wearable Reference Platform (WaRP) ■ Java on Hybrid Design Architecture ■ Operating System ■ Demo / Q & A
  • 4. Oracle JavaOne 2014 - September 30 2014 What is Wearable Computing ■ A Wearable Computer is a body mounted connected platform that enhance the user experience and activity. ■ Wearables does not mean smartwatch! Although they are dominant today. ■ Defining features of Wearables are: ■ Form Factor Miniaturization ■ Low Power ■ Connectivity ■ Multiple sensors
  • 5. Oracle JavaOne 2014 - September 30 2014 How we got here...
  • 6. Oracle JavaOne 2014 - September 30 2014 Examples of Wearable Computers
  • 7. Oracle JavaOne 2014 - September 30 2014 Examples of Wearable Computers
  • 8. Oracle JavaOne 2014 - September 30 2014 Wearables in IoT devices ■ Wearables among one of the fastest growing segments in IoT. ■ ~20M devices in the market to date ■ Estimated worth $50B within the next three years ■ Characterizing feature for modern wearables: Connectivity ■ Edge Device Two key IoT characterizations: Data Generators, Data Consumer: ■ Wearables are prevalent as sensors (medical/fitness) which generate data pushed to the cloud. ■ Devices receive data in the form of news, messages, events, etc to display to the user (can also be used for configuration).
  • 9. Oracle JavaOne 2014 - September 30 2014 Design Challenges of Wearables ■ Form Factor - small, lightweight, 1/5th the size of smartphones ■ Battery Life due to limited capacity ■ Communication and Connectivity Design Consideration: ■ Markets: Medical, Health & Fitness, Infotainment ■ MCU vs AP ■ Performance / Application Capabilities ■ Expandability (As both a hardware and software platform) ■ Connectivity Options - Wifi, BT
  • 10. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture Wearable Devices today are divided into two main categories: ■ CPU driven devices: ■ Generally they present a rich user experience featuring a full operating system ■ I’m Watch ■ Samsung Gear ■ Moto 360 ■ Micro Controller driven devices: ■ Generally they feature a longer battery life but poor UI ■ Nike Fuel Band ■ Fit-bit ■ Peeble Watch ■ My Basis
  • 11. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture What is Hybrid Design? ■ The Hybrid Architecture has been introduced into a wearable reference design by Revo and Kynetics in 2012 as a solution to increase the battery life of a wearable computer. ■ Addresses/Focuses on: ■ Ease/flexibility of design implementation ■ Address key design challenges of wearables ■ Scale to a variety of applications ■ Separate hardware/software domains ■ Reliability via MCU
  • 12. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture Fusion between APP and MCU through a design architecture that partitions the domain between Hardware and Software. Mainboard (Application Processor Board) ■ High performance core with high complexity ■ Same mainboard for all applications Daughter Board (Application Specific MCU board) ■ Application specific components and sensor platform ■ Different daughter boards for different applications
  • 13. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture Mainboard component selection criteria: ■ Components that are common across application domains ■ Move/Separate by complexity domain to reduce cost and scale of implementation challenges.
  • 14. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture
  • 15. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture
  • 16. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture Display Mainboard Battery Daughter board
  • 17. Oracle JavaOne 2014 - September 30 2014 Hybrid Design Architecture Implementation example: WaRP
  • 18. Oracle JavaOne 2014 - September 30 2014 Wearable Reference Platform (WaRP) Purpose: Develop a wearable reference platform to cover a wide range of applications. Focus on improving design cycle (ease, speed) for new wearable devices, and to substantially reduce the cost of product development. Developed with production / manufacturing in mind (Commercializable).
  • 19. Oracle JavaOne 2014 - September 30 2014 Wearable Reference Platform (WaRP) Hardware Details: ■ Based on Freescale i.MX6SL (Solo) - 1.0 Ghz ■ 512MB LP-DDR2 Mobile Memory, 4GB eMMC Flash Storage ■ USB OTG, Motion Processor, PMIC, WIFI + BT, B2B Expansion ■ PCB: 10 Layer HDI (High Density Interconect), Host to 220 Components ■ Dimensions: 16mm W x 38mm L x 3.4mm Thin (Board Area < 1 sq-in)
  • 20. Oracle JavaOne 2014 - September 30 2014 Wearable Reference Platform (WaRP)
  • 21. Oracle JavaOne 2014 - September 30 2014 Wearable Reference Platform (WaRP)
  • 22. Oracle JavaOne 2014 - September 30 2014 Wearable Reference Platform (WaRP) Totally Open Source & Open Hardware
  • 23. Oracle JavaOne 2014 - September 30 2014 Java on Hybrid Design Architecture ■ Java SE Embedded runs on Application (requires OS and device level IO such as UART requires additional third party libraries such as rxtx or Java DIO ). ■ Java ME 8 opens the doors for running Java at the MCU level. Freescale FRDM-K64F
  • 24. Oracle JavaOne 2014 - September 30 2014 Daughter Card Application Interface
  • 25. Oracle JavaOne 2014 - September 30 2014 System Architecture: overview JVM Hardware Bootloader Yocto Linux Java Libraries and Frameworks UI Applications Linux Kernel Display Manager UI toolkits Java Bindings
  • 26. Oracle JavaOne 2014 - September 30 2014 Operating System ■ GNU/Linux to run Oracle JVM is needed ■ GPU hardware support (Vivante GC320, 2D Engine for WaRP) ■ Architecture dependent code compilation (native libraries, JNI)): ■ OS featuring a toolchain (SDK) and headers. (Yocto SDK for i.mx6 SL) ■ a cross-compiling environment to compile the native code we need (OS, libs, JNI). Yocto pocky toolchain. ■ Windowing system selection: ■ X11 ■ Wayland ■ Kernel trade off for i.MX Solo Light: ■ Linux kernel 3.0.35 (only X11, Yocto Dora) ■ Linux kernel 3.10.17 (X11/Wayland, Yocto Daisy) ■ Linux kernel 3.15.x (last development release)
  • 27. Oracle JavaOne 2014 - September 30 2014 Appliations JVM Display Manager Kernel Space (KMS) Drivers GPU ModulesNative Appliations JVM Kernel Space (KMS) Drivers “Embedded” GPU Support Native Two approaches to GPU support Display Manager
  • 28. Oracle JavaOne 2014 - September 30 2014 What is Wayland? ■ Wayland is intended as a simpler replacement for X, easier to develop and maintain. ■ Wayland is a protocol for a compositor to talk to its clients as well as a C library implementation of that protocol. ■ Part of the Wayland project is also the Weston reference implementation of a Wayland compositor. ■ The Weston compositor is a minimal and fast compositor and is suitable for many embedded and mobile use cases. ■ Most of the complexity that the X server used to handle is now available in the kernel or self contained libraries (KMS, evdev, mesa, fontconfig, freetype, cairo, Qt, etc). In general, the X server is now just a middle-man that introduces an extra step between applications and the compositor and an extra step between the compositor and the hardware.
  • 29. Oracle JavaOne 2014 - September 30 2014 X11 vs Wayland images from (http://wayland.freedesktop.org/architecture.html)
  • 30. Oracle JavaOne 2014 - September 30 2014 Display Management and UI Toolkits. It’s very important to have lightweed and performant Display Managers (DM) and UI Toolkits (UIT) to provide the desired User experience. ■ DM Alternatives: ■ X11 ■ Wayland ■ Hybrid (XWayland, to support X11 apps on Wayland) ■ UIT Alternatives for WaRP (only 2D acceleration): ■ AWT (no 3D accelerated rendering)/Swing ■ GTK3, SWT ■ Possible bindings (2D) today are: ■ X11 (AWT,SWING,JAVA FX, SWT) ■ Wayland (GTK3, SWT)
  • 31. Oracle JavaOne 2014 - September 30 2014 Current Issues on Wayland with Java The problem: we have a FSL Solo Light based platform (only 2D Vivante GPU) we want to display Java Graphics on Wayland backend (more performant on embedded devices). ■ AWT/Java FX is not supported ■ https://community.oracle.com/thread/2491140 ■ Someone is claiming that Eclipse is working under Wayland ■ http://blog.vogella.com/2014/08/18/eclipse-now-runs-on-wayland/ ■ The trick is that Eclipse works with X11 on behalf, not in a pure Wayland environment (XWayland required or booth present in the system) ■ Why?: SWT: dependents on GTKPlug/GTKSocket References: ■ http://grepcode.com/file/repository.grepcode.com/java/eclipse.org/4.4.0/org.ecl ipse.swt.gtk.linux/x86_64/3.103.0/org/eclipse/swt/internal/gtk/OS.java#1622 ■ https://bugzilla.gnome.org/show_bug.cgi?id=721224#c1
  • 32. Oracle JavaOne 2014 - September 30 2014 State of the art: what we have today. It’s very important to have lightweed and performant Display Managers (DM) and UI Toolkits (UIT) to provide the desired User experience. ■ DM Alternatives: ■ X11 ■ Wayland ■ Hybrid (XWayland, to support X11 apps on Wayland) ■ UIT Alternatives for WaRP (only 2D acceleration): ■ AWT (no 3D accelerated rendering)/Swing ■ GTK3, SWT ■ Possible bindings (2D) today are: ■ X11 (AWT,SWING,JAVA FX, SWT) ■ Wayland (GTK3, SWT)
  • 33. Oracle JavaOne 2014 - September 30 2014 Q & A
  • 34. Oracle JavaOne 2014 - September 30 2014 Thank you! A special thanks to: ■ James Allen (Oracle) ■ Robert Thompson (Freescale) ■ Eric Nelson (Boundary Devices) ■ David Clack (Sun Microsystems) ■ All the Developers Communities (Yocto, Java, FSL)