Date post: | 11-Jan-2016 |
Category: |
Documents |
Upload: | lindsay-boone |
View: | 220 times |
Download: | 1 times |
41
1
Embedded Software Lab. @ SKKU
Introduction to Tizen v2.3
41
2
Embedded Software Lab. @ SKKU
• Manufacturers provide different applications and user experiences
• Why could not manufacturers provide the same platform for their devices? – The platform has been designed for a specific embedded
device.– Manufacturers do not want to share their proprietary
platforms.
Proprietary Platform
41
3
Embedded Software Lab. @ SKKU
• Standard-based, cross category platform– Provide common & multiple categories of compliances
• Open Source Platform– Tizen project resides within the Linux Foundation
• Provides a robust and flexible environment for HTML5 based application
Tizen is,
41
4
Embedded Software Lab. @ SKKU
• HTML5 is being adopted rapidly, especially for mobile Web app development
• Tizen has the top score in html5test.com
Tizen is W3C Standard-Based
41
5
Embedded Software Lab. @ SKKU
• NEC, Panasonic, and Telefonica leaved Tizen Association.• Telefonica: Firefox Phone
Industry Support
41
6
Embedded Software Lab. @ SKKU
Tizen Releases
Nov.2014
Wearable profile-New native UI builder -Support multi-project packaging.-New mobile web device APIs-Development language for native has changed -Support enlightenment foundation libraries
Tizen 2.3
41
7
Embedded Software Lab. @ SKKU
• Tizen 2.x Mobile source code continues to be productized
Tizen Releases
41
8
Embedded Software Lab. @ SKKU
• Tizen 3.0– All development happens at tizen.org
• Most of code is common and close to upstream development
– Moved from in-out to out-in development– Tizen IVI continues to be developed in tizen.org– Configurable and multi-product support with one code base
Tizen Releases
Mobile Product
IVI Product
ivi/
mobile/
Profile/•Mobile/
Platform/
ivi/•…
• Platform- upstream/- framework/
- Native/- Web/
- Core/- …
• apps/• tools/• sdk/• scm/• test/• doc/• project/
41
9
Embedded Software Lab. @ SKKU
• Visit – http://www.tizen.org – http://developer.tizen.org/sdk – http://source.tizen.org/ – https://developer.tizen.org/documentation
• Community – Mailing lists: http://www.tizen.org/community/mailing-lists – IRC Channel: #tizen – Wiki: https://www.tizen.org/community/wiki – JIRA: http://bugs.tizen.org
• Tizen Developer Conference– https://www.tizen.org/conference
Tizen Open Source Information
41
10
Embedded Software Lab. @ SKKU
• Upstream projects used by Tizen: – X Windows, Cairo, EFL for UI and graphics – Gstreamer, PulseAudio, OpenAL for multimedia – ConnMan, BlueZ, libsoup, wpa_supplicant for connectivity – WebKit for Web – Smack and OpenSSL for security – Dbus, glibc for base – Sqlite for database and PIM– Linux for OS Kernel – Eclipse for Tizen SDK – QEMU, U-Boot for target emulator – GC, llvm, cmake, gbs for build – And more…
Open Source Projects within Tizen
41
11
Embedded Software Lab. @ SKKU
• Intel and Samsung maintain or significantly contribute to: – Linux, WebKit, EFL, GStreamer, U-Boot, FMPEG, WebCL, Cairo,
BlueZ, QEMU, GCC, ConnMan, NFC, PulseAudio, Smack, Wayland, oFono, X, wpa_supplicant, Dbus, glibc, OpenGL, Geoclue, and libsoup
– With notices, attributions, full license statements, and compliance to other obligations
• Virtually everything newly developed for Tizen has ben open-sourced under Apache 2.0 License: – app-core, WRT(Web Runtime), system-server, sensor-fw, app-
service, slp-pkgmgr, libslp-pm, msg-service, email-service, telephony-daemon, audio- session-manager, contacts-service, slp-calendar, accounts-svc, sync-fw, cert-svc, secure-storage, nfc-manager, and more.
– Flora License• solely as incorporated into a Tizen Certified Platform• Encourage Tizen member companies to contribute their patents to
Tizen project
Open Source Projects within Tizen (cont)
41
12
Embedded Software Lab. @ SKKU
Tizen v2.3 Architecture Overview
Native framework is deprecated
41
13
Embedded Software Lab. @ SKKU
• Linux kernel and H/W abstraction– Linux kernel– Device Drivers– Hardware Adaptation Layer
• Native subsystem– Underlying layer to provide common functionalities and a
security mechanism– HW adaptation layer with plug-in architecture – OpenGL ES/EGL graphics driver
• Web framework – Provides state-of-the-art HTML5/W3C APIs, Web UI
framework, supplementary APIs, and additional Tizen device APIs
Tizen v2.3 Architecture Overview (cont)
41
14
Embedded Software Lab. @ SKKU
• Linux kernel– Modified Linux kernel
• 3.0.15, 3.10.y support (for ARMv7, AArch64)• DRM, CMA, KDBUS, dma_buf, Power Manager, etc.
• Device Drivers• Hardware Adaptation Layer
– Plug-ins• OpenGL ES/EGL Graphics Driver
– DRM-based graphics stack
Tizen Kernel and H/W Abstraction
41
15
Embedded Software Lab. @ SKKU
• Common features– Various native, Web APIs
are implemented using the native modules
• Unified management for– package installation and
upgrade– Launching applications– Windows with E17– Sensor management– Power management– Connectivity– Security enforcement
with smack– and more.
Native Subsystem
41
16
Embedded Software Lab. @ SKKU
• W3C standard web APIs– W3C/HTML5 markup, CSS, JS
• Supplementary APIs– De-facto APIs (Khronos, Mozilla, etc.)
• Tizen Device APIs– Advanced access to the device capabilities
• UI framework– JQueryMobile-based– Tools, such as widgets, events, effects, and animations
Web Framework
41
17
Embedded Software Lab. @ SKKU
• Package management– installation and update
• Execution and life-cycle– launching, pause, and resume
• Runtime security– API/network access and sandboxing
• Platform integration
Web Runtime (WRT)
41
18
Embedded Software Lab. @ SKKU
• Tizen (over 2.0) using Webkit2– Split process model for web content and UI with non-blocking APIs– UI responsiveness, robustness, security, and better use of multicore CPUs
Webkit2 based Browser and Web Runtime
41
19
Embedded Software Lab. @ SKKU
• HTML5 Canvas is accelerated by– Cairo OpenGL ES backed
• WebGL– Directly uses OpenGL ES
Web 2D and 3D Graphics
41
20
Embedded Software Lab. @ SKKU
• Web and Native applications– App using only public APIs to get full support for package
installation and upgrade, security, backward compatibility, etc.– Many sample apps included in the SDK
• Native subsystem applications– Apps using Core APIs to fully utilize device capabilities such as
telephony– Usually implemented and preloaded by device implementers– Backward binary compatibility is not guaranteed
Application Types
41
21
Embedded Software Lab. @ SKKU
• Tizen Common Architecture (without specific profile)
Tizen 3.0
41
22
Embedded Software Lab. @ SKKU
• Common Source + Profile based packages– Share source for common features across products– Test on reference devices
How to Create a Tizen 3.0 Common Source
Common 3D UI
Multi-User
64-bit
KDBUS
Buxton
Blink/Crosswalk
Wayland
…
Mobile
Automotive
TV
Watch
Refrigerator
41
23
Embedded Software Lab. @ SKKU
• Key Features 2014-Q2 release:– Multi-user– SMACK: three domains security– Wayland, Enlightenment Window Manager– Crosswalk/BLINK– 64-bit IA / ARM– New Configuration System – BUXTON– KDBUS– 3D UI & Rendering Engine– New Bluetooth Framework– WiFi Framework to combine WiFi DirectManager, Mobile AP-agent and
net-config
Tizen 3.0 Common Feature Highlight
41
24
Embedded Software Lab. @ SKKU
• Consists of – IDE, Web Simulator, Emulator, Event Injector, UI Builder– Documents, Sample applications, Remote Inspector, Localization Wizard,
Project Wizard– …
Tizen SDK
41
25
Embedded Software Lab. @ SKKU
Tizen v2.3 Native Subsystem Services
(Mobile Profile)
41
26
Embedded Software Lab. @ SKKU
• Launching a new Application (AUL, app-svc)– Explicit or implicit information (Combination of Action, URI, and MIME) can be
used to determine an app to launch– Allowed to launch different type of app (i.e. Web to Native and Native to Web)
• Application life cycle management and handling system events (app-core)– Getting app state change notification or system events through main loop– Then, calling registered callbacks for the events
• Installing/Uninstalling application (package manager)• Managing application launch history (librua)• Setting an alarm to launch at specific time (alarm-manager)
Application Framework
41
27
Embedded Software Lab. @ SKKU
• Enlightenment Foundation Libraries– Rich Widgets multiple theme supports by Elementary– Retained mode canvas by Evas (Scene-graph, OpenGL ES back-end)– Compositing Window Manager
• Window System based on X11• 3D (OpenGL ES), Font (freetype2, fontconfig)• Input Service (SCIM), Voice FW (STT, TTS),
Graphics & Input
SCIM: Smart Common Input Method
41
28
Embedded Software Lab. @ SKKU
• Provides:– Best Web experience with Browser and packaged Web Apps
• Focusing on functionality(HTML5), performance (UI Responsiveness, 2D/3D Acceleration, JS Engine), Standard Compliance(W3C)
• More device feature accessibility through Tizen Device API• jQueryMobile-based Tizen Web UI FW enables easy Web App
development • Consists of:
– WebVeiw (WebKit /EFL): JavaScriptCore, WebCore(HTML5/W3C API implementation), WebKit API
– Web Runtime: Execution environment for packaged Web Apps
Web
41
29
Embedded Software Lab. @ SKKU
• Provides:– Playback of audio and video contents (local and streaming)– Capturing images and recording audio and video– 3D Audio Sound (OpenAL) specially for games– Scanning & Playback of radio– Determining audio policy– Extracting and displaying media content information
• Features:– High Quality Video Playback
• Full HD(1080P) Playback (with HW codec & Render Optimization)• Support for various kind of Multimedia Streaming (HTTP,
RTP/RTSP)• Support for HTML5 Video and embedded playback in Web
Browser– High Quality & High Speed Camera/Recorder
• High Quality Image Capture & Video Recording• Support for various kind of shooting mode (single, continuous,
panorama, etc)
Multimedia
41
30
Embedded Software Lab. @ SKKU
• Key Components:– GStreamer: Audio, Video, Recording, Streaming, Editing, Etc– Audio Session Manager: Sound Policy Management– PulseAudio: Software mixing multiple audio streams– Multiple-Format Codec: Various support of codec– Media Content Service: Content management for media files– Audio I/O: Accessing raw audio buffer to manipulate
Multimedia (Cont’d)
41
31
Embedded Software Lab. @ SKKU
• Provides:– Hybrid position information
• GPS, WPS (Wi-Fi Positioning System), SPS (Sensor Positioning System)
– Map Service (Geocode, POI, Route) • Key Components:
– GeoClue: Deliver location info from various positioning sources• GeoClue library: An open source geo-information library• GeoClue Providers: Implement the GeoClue library API• Currently GPS Manager in GeoClue Providers is provided
Location
41
32
Embedded Software Lab. @ SKKU
• Provides:– System monitoring and event handling functionalities
• Key components:– Deviced
• Runs as a daemon process• Monitors device and system status and handles events from devices
(battery, USB, MMC, charger, earjack, etc)• Setting/getting device values such as brightness• Power Manager: Controls LCD display backlight and application sleep
– Sensor Manager• Handling sensor events from various sensors
System
41
33
Embedded Software Lab. @ SKKU
• Cellular and Wi-Fi Connection– “Always-on” internet connections based on cellular(e.g.3G) and
Wi-Fi .– ConnMan manages internet connections• Allowing automatic connection for available Wi-Fi access point
– Managing statistics of data network • Bluetooth
– Based on BlueZ and profiles (OPP, A2DP, RFCOMM, HFP, HDP, etc)
– Discovering / bonding / exchanging data with remote devices • Tethering
– Providing three type of tethering : USB, Bluetooth and Wi-Fi • NFC
– Including NFC Manager to handling NFC plug-ins– Supporting P2P, Controlling NDEF tag, card emulation
• Wi-Fi– Scanning and connecting Access Points– Connecting hidden Access Points
Connectivity
41
34
Embedded Software Lab. @ SKKU
• Consists of cellular functionalities for communicating with modem:– Managing call/non-call info, packet-related services, network status
information, SMS-related services for UMTS and CDMA– Managing SIM Application Toolkit services for UMTS.– Managing SIM files, phone book, and security
• Key Components:– TAPI is available as a library for client– Defining a plug-in architecture for Telephony Server
Telephony
41
35
Embedded Software Lab. @ SKKU
• Provides: Contact, Calendar, Account, and Sync Services • Key Components:
– Account: Manage accounts to share account information on the device– Contact/Calendar:
• Account based, Multiple address/calendar books for an account.• Enough features to satisfy mobile contact/calendar app requirements.• Supporting vCard 3.0 and vCalendar 1.0 respectively
• Synchronization (Sync-FW)
PIM
41
36
Embedded Software Lab. @ SKKU
• Provides: SMS, MMS, Email– SMS, WAP and cell broadcast messages– MMS protocols: OMA MMS 1.2.– Email protocols: SMTP, IMAP, POP3
• Key Components– Message Client API– Message Server
• Transaction Manager: Manage IPC between message server and library• Main Handlers: Handle message sending/receiving/filtering/setting.• Storage Handlers: Save on DB• Plug-in Manager: Manage SMS and MMS Plug-ins
Messaging
41
37
Embedded Software Lab. @ SKKU
• Provides: – Certificate management and verification – Secure storage for confidential data – User space access control management – Cryptography and SSL support – Mandatory access control support
• Security model: – No root applications/No privilege escalation – Sandboxed by SMACK – Service daemons will make use of SMACK
and enforce access control in server side – Manifest-based permission policy for Apps
Security