White Paper for Tizen Platform Developers and Manufacturers



Similar documents
Helpdesk Support Tickets & Knowledgebase

Copyright 2013, SafeNet, Inc. All rights reserved. We have attempted to make these documents complete, accurate, and

Serv-U Distributed Architecture Guide

MaaS360 Cloud Extender

SBClient and Microsoft Windows Terminal Server (Including Citrix Server)

ATL: Atlas Transformation Language. ATL Installation Guide

Restricted Document. Pulsant Technical Specification

Deployment Overview (Installation):

A Beginner s Guide to Building Virtual Web Servers

HarePoint HelpDesk for SharePoint. For SharePoint Server 2010, SharePoint Foundation User Guide

Readme File. Purpose. Introduction to Data Integration Management. Oracle s Hyperion Data Integration Management Release 9.2.

Getting started with Android

Datasheet. PV4E Management Software Features

Interworks Cloud Platform Citrix CPSM Integration Specification

AvePoint Perimeter 1.6. Administrator Guide

Exercise 5 Server Configuration, Web and FTP Instructions and preparatory questions Administration of Computer Systems, Fall 2008

Serv-U Distributed Architecture Guide

Exercise 5 Server Configuration, Web and FTP Instructions and preparatory questions Administration of Computer Systems, Fall 2008

Software Distribution

Level 1 Technical. RealPresence Web Suite and Web Suite Pro. Contents

This guide is intended for administrators, who want to install, configure, and manage SAP Lumira, server for BI Platform

Release Notes. Dell SonicWALL Security firmware is supported on the following appliances: Dell SonicWALL Security 200

Avatier Identity Management Suite

Mobile Device Manager Admin Guide. Reports and Alerts

Traffic monitoring on ProCurve switches with sflow and InMon Traffic Sentinel

1)What hardware is available for installing/configuring MOSS 2010?

ScaleIO Security Configuration Guide

Diagnosis and Troubleshooting

CallRex 4.2 Installation Guide

Junos Pulse Instructions for Windows and Mac OS X

Microsoft has released Windows 8.1, a free upgrade to Windows 8. Follow the steps below to upgrade to Windows 8.1.

NETWRIX CHANGE NOTIFIER

What's New. Sitecore CMS 6.6 & DMS 6.6. A quick guide to the new features in Sitecore 6.6. Sitecore CMS 6.6 & DMS 6.6 What's New Rev:

Alexsys Team 2 Service Desk

FUJITSU Software ServerView Suite ServerView PrimeCollect

Cloud Services MDM. Windows 8 User Guide

AccessData Corporation AD Lab System Specification Guide v1.1

Best Practice - Pentaho BA for High Availability

Preparing to Deploy Reflection : A Guide for System Administrators. Version 14.1

Integrating With incontact dbprovider & Screen Pops

MITEL OPEN INTEGRATION GATEWAY (OIG): END- CUSTOMER DEVELOPMENT & LICENSING

Ten Steps for an Easy Install of the eg Enterprise Suite

Gateway Agent - First Amendment to the High Level Design Document

ABELMed Platform Setup Conventions

FOCUS Service Management Software Version 8.5 for Passport Business Solutions Installation Instructions

Hardware Requirements

Client Application Installation Guide

How To Install An Orin Failver Engine On A Network With A Network Card (Orin) On A 2Gigbook (Orion) On An Ipad (Orina) Orin (Ornet) Ornet (Orn

BACnet Field Panel Web Server with Application MC and Kiosk Mode Graphics

Dell InTrust Preparing for Auditing and Monitoring Linux

How To Install Fcus Service Management Software On A Pc Or Macbook

State of Wisconsin. File Server Service Service Offering Definition

Instructions for Configuring a SAFARI Montage Managed Home Access Expansion Server

Adobe Sign. Enabling Single Sign-On with SAML Reference Guide

AvePoint Privacy Impact Assessment 1

Citrix XenServer from HP Getting Started Guide

Blue Link Solutions Terminal Server Configuration How to Install Blue Link Solutions in a Terminal Server Environment

INTEGRATION OVERVIEW. Introduction Authentication methods Learning management system (LMS) integration methods AICC standard...

Information Services Hosting Arrangements

CSC IT practix Recommendations

Tips & Tricks. Table of Contents. Browser Update - WebEx Plugin. Updated Global Access Numbers

Webalo Pro Appliance Setup

How To Configure A GSM Modem Using HyperTerminal

McAfee Enterprise Security Manager. Data Source Configuration Guide. Infoblox NIOS. Data Source: September 2, Infoblox NIOS Page 1 of 8

Service Desk Self Service Overview

User Guide Version 3.9

Following steps are required for hosting of Web Site/ Web Application on NIC Cloud

MITEL MC FOR ANDROID FEATURE OVERVIEW PREPARATION INSTALLATION DOWNLOAD CONFIGURATION (REDIRECT) QUICK REFERENCE GUIDE

Pronestor Visitor. Module 11. Installation of additional modules Pronestor Visitor Page

Port Manager. Microsoft Dynamics CRM for Ports

CNS-205: Citrix NetScaler 11 Essentials and Networking

INUVIKA OPEN VIRTUAL DESKTOP ENTERPRISE

expertise hp services valupack consulting description security review service for Linux

Configuring, Monitoring and Deploying a Private Cloud with System Center 2012 Boot Camp

Optimal Payments Extension. Supporting Documentation for the Extension Package v1.1

CNS-205 Citrix NetScaler 10.5 Essentials and Networking

Feature Guide. Virto Commerce Platform

DocAve 6 Supplementary Tools

E2E Express 3.0. Requirements

HP ExpertOne. HP2-T21: Administering HP Server Solutions. Table of Contents

TechAge Labs Pvt. Ltd. Address : C-46, GF, Sector 2, Noida Phone 1 : Phone 2 : MagentoTraining

Microsoft Certified Database Administrator (MCDBA)

Implementing ifolder Server in the DMZ with ifolder Data inside the Firewall

The user authentication process varies from client to client depending on internal resource capabilities, and client processes and procedures.

DTU Data Transfer Utilities Software User manual

Learn More Cloud Extender Requirements Cheat Sheet

Telelink 6. Installation Manual

FINRA Regulation Filing Application Batch Submissions

AppStore: Search for Mitel MC in the Apple AppStore and install it. The Mitel MC software is free of charge.

Systems Support - Extended

DocAve 6 Installation

Magenta HR in partnership with breath ehr

LeadStreet Broker Guide

The Relativity Appliance Installation Guide

CorasWorks v11 Essentials Distance Learning

State of Wisconsin DET Dedicated Virtual Host Services Offering Definition

DocAve 6 Replicator. User Guide. Service Pack 6. Issued October DocAve 6: Replicator

GETTING STARTED With the Control Panel Table of Contents

1) Update the AccuBuild Program to the latest version Version or later.

ViPNet VPN in Cisco Environment. Supplement to ViPNet Documentation

Transcription:

White Paper fr Tizen Platfrm Develpers and Manufacturers Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License..

White Paper fr Tizen Platfrm Develpers and Manufacturers Table f Cntents 1. Intrductin t Tizen... 4 1.1 Tizen Architecture... 4 2. Getting the Surce Cde and Making Builds... 7 2.1 Getting the Surce Cde... 7 2.2 Making Platfrm Builds... 7 2.3 Making Kernel Builds... 9 2.4 Making Image Builds... 10 3. Tizen System Layer... 11 3.1 Kernel... 11 3.2 System... 14 3.2.1 System Framewrk... 14 3.2.2 Sensr Framewrk... 15 3.3 Graphics and Windw System (OpenGL ES, X Server)... 17 3.4 Multimedia... 23 3.4.1 Cdec... 23 3.4.2 Camcrder (Including Camera)... 24 3.4.3 Radi... 25 3.4.4 Audi... 26 3.5 Cnnectivity... 28 3.5.1 WLAN... 28 3.5.2 Bluetth... 30 3.5.3 NFC... 32 3.6 Telephny... 33 3.7 Security... 36 3.7.1 Access Cntrl (Smack)... 36 3.7.2 Certificate Management... 37 3.7.3 Anti-Virus (CSR Framewrk)... 39 3.8 Lcatin... 41 4. Optimizatin... 43 Appendix A. Glssary... 46 Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 2 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Overview This dcument is a guide fr Tizen platfrm develpers and manufacturers building Tizen-based devices. The cntent is based n the Tizen 2.3 alpha versin. This dcument prvides infrmatin n hw t bt Tizen n new hardware and t create prducts based n the Tizen OS. It cvers the prting prcess in detail by elabrating the Tizen architecture, needed tls, and the develpment envirnment set-up, as well as demnstrating hw yu can create a Tizen Image and perfrm the mdificatins needed acrss varius functinal areas. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 3 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 1. Intrductin t Tizen Tizen is a standards-based platfrm that prvides Web and native APIs fr develping applicatins fr multiple device categries. Tizen is currently targeted fr mbile, wearable, TV, IVI, and camera devices, and an expansin t further device categries is planned fr the future. 1.1 Tizen Architecture The fllwing figure illustrates the Tizen architecture. Web Framewrk W3C/HTML5 Device APIs Vide Tuch BT Call Web UI CSS3 WebGL Wrker NFC Nti System Inf Web Runtime Cre Applicatin Framewrk Graphics & UI Multimedia Web Messaging Lcatin Security System Base Cnnectivity Telephny PIM Kernel Linux Kernel & Device Drivers Applicatin Framewrk Figure 1. Tizen architecture The Applicatin Framewrk prvides applicatin management, including launching ther applicatins using the package name, URI, r MIME type. It als launches predefined services, such as the system dialer applicatin. The Applicatin Framewrk ntifies applicatins f cmmn events, such as lw memry, lw battery, screen rientatin changes, and push ntificatins. Base The Base mdule cntains Linux base essential system libraries that prvide key features, such as database supprt, internatinalizatin, and XML parsing. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 4 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Cnnectivity The Cnnectivity mdule cnsists f all netwrk- and cnnectivity-related functinalities, such as 3G, Wi-Fi, Bluetth, HTTP, and NFC (Near Field Cmmunicatin). Data netwrk is based n CnnMan (Cnnectin manager), which prvides 3G- and Wi-Fi-based netwrk cnnectin management. Graphics and UI Fr the mbile prfile, the Graphics and UI mdule cnsist f the system graphic and UI stacks, which are called the Native Framewrk. The mdule internally utilizes EFL (Enlightenment Fundatin Libraries) fr X11-based windw management and phne indicatr. Specialized cntrl fr fluent animatins is als available thrugh EFL's elementary framewrk. The Native Framewrk has varius built-in input methds and OpenGL ES APIs. The mdule prvides WebKit-based graphics capable f running within a full brwser UI r a dedicated Web Runtime (withut brwser windw), all based n Tizen's wn HTML5 canvas WebKitEFL implementatin. Supprt further cvers WebGL and Web-based framewrks fr UI, such as jquery Mbile (helpful in prting existing jquery cde). Lcatin The Lcatin mdule prvides lcatin-based services (LBS), including psitin infrmatin, gecding, satellite infrmatin, and GPS status. It delivers lcatin infrmatin frm varius psitining surces, such as GPS, WPS (Wi-Fi Psitining System), Cell ID, and sensrs. Messaging The Messaging mdule prvides SMS, MMS, email, and IM features. Multimedia The Multimedia Framewrk prvides varius multimedia functinality. It cnsists f the Player/Streaming Framewrk, Camera/Recrding Framewrk, Media Cntent Framewrk, and Screen Mirrring Framewrk. PIM (Persnal Infrmatin Management) The PIM mdule enables user data management n the device. It allws yu t manage calendar, cntacts, and tasks, and retrieve data abut the device cntext (such as device psitin and cable status). Security The Security mdule is respnsible fr security deplyment acrss the system. It cnsists f platfrm security enablers, such as access cntrl, certificate management, and Anti-virus framewrk. System The System mdule cnsists f system and device management features, including: Interfaces fr accessing devices, such as sensrs, display, r vibratr. Pwer management, such as LCD display backlight changes and applicatin prcessr sleep. Device mnitring and event handling in case f, fr example, USB, MMC, charger, and ear jack events. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 5 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers System upgrade. Mbile device management. Telephny The Telephny mdule cnsists f cellular functinalities cmmunicating with the mdem: Managing call-related and nn-call-related infrmatin and services fr UMTS and CDMA. Managing packet service and netwrk status infrmatin fr UMTS and CDMA. Managing SMS-related services fr UMTS and CDMA. Managing SIM files, phne bk, and security. Managing SIM Applicatin Tlkit services fr UMTS. Web The Web mdule prvides a cmplete implementatin f the Tizen Web API ptimized fr lw-pwer devices. It includes WebKit, which is a layut engine designed t allw Web brwsers t render Web pages. It als prvides Web runtimes fr Web applicatins. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 6 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 2. Getting the Surce Cde and Making Builds This chapter describes hw yu can retrieve the surce cde and make the platfrm, kernel, and image builds. 2.1 Getting the Surce Cde T get the surce cde: 1. Cnfirm the package name frm the Tizen Gerrit Prject List (https://review.tizen.rg/gerrit/#/admin/prjects). Yu can als use the fllwing cmmand: $ ssh review.tizen.rg gerrit ls-prjects 2. Clne the Gerrit Prject with the fllwing cmmand: $ git clne [-b <Branch>] ssh://<username>@review.tizen.rg:29418/<gerrit_prject> [<Lcal_Prject>] Fr example: $ git clne ssh://<username>@review.tizen.rg:29418/platfrm/upstream/dbus T clne all prjects, read the instructins in https://surce.tizen.rg/dcumentatin/develper-guide/getting-startedguide/clning-tizen-surce. 2.2 Making Platfrm Builds T make the platfrm build: 1. T get access, register fr an accunt at https://www.tizen.rg/user/register. 2. Fllw the Tizen platfrm develpment wrkflw as defined in the fllwing figure. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 7 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Git Figure 2. Tizen platfrm develpment wrkflw Git is a particularly pwerful, flexible, and lw-verhead versin cntrl system that makes cllabrative develpment efficient and rbust. Fr mre infrmatin, see: Git Cmmunity Bk: http://git-scm.cm/dcumentatin Git Wiki: https://git.wiki.kernel.rg/index.php/main_page Git Manual Page: https://git.wiki.kernel.rg/index.php/main_page Gerrit Gerrit is a Web-based cde review system, facilitating nline cde reviews fr prjects using the Git versin cntrl system. By shwing changes in a side-by-side display and supprting inline cmments, Gerrit ptimizes the cde review prcess, enhancing review quality. Furthermre, by permitting any authrized user t submit changes t the central Git repsitry, Gerrit simplifies the maintenance f Git-based prjects, enabling a mre centralized use f Git. Fr mre infrmatin, see: Gerrit Dcument Page: https://review.tizen.rg/gerrit/dcumentatin/index.html Submit Request (SR) After changes are submitted t the central Git repsitry, yu can submit yur changes t the OBS by using gbs submit cmmand. The cmmand will create and send a special Git tag and it will trigger builds in OBS. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 8 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers OBS Open Build Service (OBS) is an pen and cmplete distributin develpment platfrm that prvides the infrastructure fr develpers t easily create and release pen surce sftware fr varius Linux distributins n different hardware architectures. In additin, the OBS delivers a cllabrative envirnment that enables develper grups t build and submit changes t ther prjects. Fr mre infrmatin, see: Open Build Service: http://penbuildservice.rg/ OBS Prtal: http://en.pensuse.rg/pensuse:build_service GBS Tizen develpers use the git and gbs cmmand line tls fr mst f their wrk. Using the Git Build System (GBS), yu can build yur git repsitry lcally. Fr mre infrmatin, see: Lcal Build with GBS: https://surce.tizen.rg/dcumentatin/develper-guide/getting-startedguide/building-packages-lcally-gbs MIC MIC Image Creatr allws yu t create dwnladable binary images. Yu can als create custm binary images in yur lcal with MIC. Fr mre infrmatin, see: Creating Tizen Images with MIC: https://surce.tizen.rg/dcumentatin/develper-guide/gettingstarted-guide/creating-tizen-images-mic 2.3 Making Kernel Builds T make the Tizen ARM kernel build: 1. If the target and yur hst are different (such as x86), install and set up crss-cmpile tls n yur system. Yu can use their Linartlchain binaries r the Ubuntu package t set up yur envirnment fr the crss tls (fr example, exprt CROSS_COMPILE=...). 2. Set up the.cnfig file fr RD-PQ: $ make ARCH=arm trats2_defcnfig 3. After recnfiguring accrding t yur needs (use the make ARCH=arm menucnfig cmmand) r using the stck cnfiguratin (n mdificatins), build the kernel: $ make ARCH=arm uimage 4. Build and make the kernel mdule image. Nte: If needed, d sud first t let sud -n wrk in the script. $ sudls $ scripts/mkmdimg.sh Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 9 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 5. Send the images t the target thrugh lthr: $ lthr arch/arm/bt/uimageusr/tmp-md/mdules.img Or make yur wn tar file frm the tw files: $ tar cf FILENAME_YOU_WANT.tar -C arch/arm/bt uimage -C../../../usr/tmp-md mdules.img 2.4 Making Image Builds T make binary images: 1. Install platfrm packages int a chrted temprary directry. 2. Run custm scripts. 3. Create a file system with partitin infrmatin. Tizen 2.x T define hw t build the binary images fr the prfile, 2 special gerrit prjects are used: tls/package-grups (https://review.tizen.rg/gerrit/gitweb?p=tls/package-grups.git) Defines the package grups. See the patterns directry: each *.yaml file defines package grups. tls/image-cnfiguratins (https://review.tizen.rg/gerrit/gitweb?p=tls/image-cnfiguratins.git) Defines hw the binary images can be cnstructed. Multiple cnfiguratins can be defined (cnfiguratins.yaml): - Directries with uppercase letters stre each binary cnfiguratin. - custm/part hlds partitins. - custm/scripts hlds scripts after installing all platfrm packages. Each binary cnfiguratin can hld different package grups. Grups are described with @<name f package grup>. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 10 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3. Tizen System Layer This chapter prvides detailed infrmatin n the Tizen system layer. 3.1 Kernel The kernel is the perating system that drives the platfrm. In this dcument, kernel refers t the pen surce Linux kernel that is custmized fr the Tizen platfrm. The fllwing sectins give a brief verview abut the Tizen kernel cnfiguratin and envirnment t custmize the kernel. Kernel Cnfiguratins The fllwing table defines the recmmended kernel cnfiguratins t be used fr the Tizen platfrm. Cnfiguratin Table 1. Kernel cnfiguratins Descriptin CONFIG_CGROUPS/CONFIG_CGROUP_MEM_RES_CTRL Cntrl grup CONFIG_CMA/CONFIG_DMA_CMA Cntiguus memry allcatr CONFIG_DMA_SHARED_BUFFER Share a buffer amng dma devices CONFIG_DRM Direct rendering manager graphic infrastructure CONFIG_VIDEO_V4L2_SUBDEV_API Vide fr Linux f the multimedia API CONFIG_USB_GADGET USB gadget supprt CONFIG_USB_G_SLP Tizenusb_mde (sdb, ether) cmpsite driver CONFIG_ANDROID_LOGGER Dlg lg driver CONFIG_EXT4_FS Ext4 file system CONFIG_SECURITY_SMACK SMACK security access cntrl Tizen File System Tizen adpts the ext4 file system as a default rt file system. Unlike Andrid, Tizen des nt use ramdisk and initramfs. The VFAT file system can be used fr an external SD card. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 11 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Tizen Partitin Layut The fllwing figure illustrates an example f the Tizen partitin layut. The prduct vendr can mdify the sequence r partitin layut fr their devices, as needed. Figure 3. Tizen partitin layut Partitin 1: CSA (Cnfiguratin Saved Area) Cntains nn-vlatile data that is the calibratin value f the mdem. Partitin 2: Bt Includes the kernel image mdem image and device driver mdules. Partitin 3: Platfrm Cntains the rt file system, fundamental Tizen framewrks, and sme general Linux utility. Partitin 4: Data Includes applicatins, libraries f applicatins, and the platfrm database. Partitin 5: CSC (Custmer Sftware Cnfiguratin) Stres the custmer s sftware cnfiguratin. Partitin 6: UMS (USB Mass Strage) Cntains the default (media) cntents. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 12 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers File System Hierarchy Standard in Tizen Each partitin has the hierarchy illustrated in the fllwing figure. Figure 4. File system hierarchy /usr/apps: In-huse applicatin /pt/usr/apps (/pt/apps): Third-party and dwnladable applicatins /pt/dbspace: Database files fr the Tizen framewrk /pt/strage/sdcard: External sdcard munt pint /smack: SMACK file system t lad and stre smack rules Memry Management in Tizen Tizen maintains a prcess and its resurces using cgrup. If a prcess mves t the fregrund frm the backgrund, the prcess grup is mved int the fregrund cgrup. Accrding t the fregrund grup plicy, the pririty f the prcess is prmted t reduce the pssibility that the prcess is killed in a lw memry circumstance. If the system memry reaches the lw memry threshld, the kernel ntifies the resurced. The resurced reclaims the backgrund grup t get sufficient free memry. If the resurced fails t get the free memry, it attempts t kill a victim prcess which has the highest scre ( m_scre_adj x memry size f the prcess ). Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 13 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.2 System This sectin describes the system and sensr framewrks. 3.2.1 System Framewrk The fllwing figure illustrates the System framewrk. System server Figure 5. System framewrk The system server handles system events, such as ut f memry events and changes in the battery level and plug & play device status, as well as managing the prcess watchdg. Pwer manager The pwer manager is a sessin daemn that runs t manage the system pwer. It prvides cnditinal state transitin. The Tizen pwer manager functinalities cntrl the display backlight changes and device sleep. Device manager The device manager prvides the interface fr cntrlling all devices, such as LCD backlight changes and applicatin prcessr sleep. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 14 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers USB manager The USB manager sets USB cnfiguratins t cnnect t the PC, and mnitrs external USB hst devices, such as keybards, mice, cameras, USB strages, and USB printers. Prting the OAL Interface (Mandatry) The System framewrk has the libdeviced library fr applicatins, and the libdevice-nde library as a wrapper library f the OAL (OEM Adaptin Layer). The OAL interface prvides an easy way fr devices t access the kernel by gruping OAL APIs depending n the device type. The OAL APIs supprt all f the devices specified by vendrs. OEM develpers must implement the API defined in devman_plugin_intf.h and cmpile their library as libslp_devman_plugin.s. The Devman library uses sysfs fr interfaces with device drivers and kernel. sysfs is a virtual file system prvided by Linux 2.6 r abve. T cnfigure the OAL interface: 1. Install the OEM library as libslp_devman_plugin.s t /usr/lib. 2. The OAL API definitins are in the devman_plugin_intf.h header file, which is lcated in libdevice-nde. systemd systemd is the first prcess t execute user space. It manages bt sequences and launches deviced, resurced, and ther daemns. The unit files f Tizen are lcated in /usr/lib/systemd/system and /usr/lib/systemd/user. Yu must add yur wn unit files there. Yu must enable 'cgrup' and 'autfs' ptins in the kernel cnfiguratin fr systemd. systemd als depends n dbus and sme libraries, such as libntify and libudev. Fr mre detailed infrmatin n system, see the systemd wiki (http://www.freedesktp.rg/wiki/sftware/systemd/). 3.2.2 Sensr Framewrk The Sensr framewrk prvides sensr events t applicatins and system cmpnents. A sensr event is measured infrmatin frm hardware based n a sensr r a virtual sensr. Tizen supprts individual plugin framewrks fr the fllwing sensrs: Accelermeter sensr Gyrscpe sensr Prximity sensr Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 15 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Gemagnetic sensr Light sensr The fllwing figure illustrates the Sensr framewrk. Prting the OAL Interface (Mandatry) Figure 6. Sensr framewrk The sensr OAL includes the prcessr plugin, the filter plugin, and the sensr plugin. The accelermeter sensr (accel) is used as an example t illustrate each plugin prttype implementatin. Yu can use cmmn sensr plugin (prcessr, filter, sensr) cde in git: sensr-framewrk/sensr-plugin-surce. Prcessr plugin: Active cmpnent (it has a thread) that prcesses data r makes events frm a filter r frm sensr data Sensr plugin: A passive cmpnent that gets raw data frm the kernel nde Filter plugin: A passive cmpnent that cnverts sensr raw data t ther types f data. Cnfiguratin The Sensr framewrk lads the sf_sensr.cnf, sf_filter,cnf, sf_prcessr.cnf, and sf_datastream.cnf cnfiguratin files fr lading sensr, filter, and prcessr plugins. All cnfiguratin files are included in the sensr-framewrk package. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 16 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers T add the sensr API and enum t the library, add APIs fr yur sensr and assign yur private number fr the event/data type. Fr mre detailed infrmatin n the Sensr framewrk, see the Sensr Framewrk part f the Tizen wiki site (https://wiki.tizen.rg/wiki/prting_guide#descriptin_2). 3.3 Graphics and Windw System (OpenGL ES, X Server) The fllwing figure illustrates the Tizen UI and graphics mdule architecture. Graphics Figure 7. UI and graphics mdule architecture Tizen prvides high-perfrmance 3D graphics as a cmpnent f the UI and graphics mdule. There are hardwareaccelerated OpenGL ES (Open Graphics Library Embedded System) and EGL (Embedded-System Graphics Library) features fr 3D applicatins, such as 3D games. OpenGL ES is an applicatin prgramming interface (API) fr advanced 3D graphics, targeted at handheld and embedded devices. T vercme device cnstraints, such as limited prcessing capabilities and memry availability, it prvides a subset f the functinality in OpenGL. Embedded system-specific features have been added t enhance rendering efficiency, such as precisin qualifiers t the shading language frm OpenGL ES 2.0. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 17 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers OpenGL ES 3D Graphics Library The fllwing figure illustrates the interface fr Tizen high-perfrmance 3D graphics library with OpenGL ES. Prting Requirements Figure 8. 3D graphics library interface 3D graphics vendrs must prvide the fllwing prting requirements fr Tizen t functin crrectly: OpenGL ES The required versin f OpenGL ES: 1.1 and 2.0 The driver must als supprt the fllwing extensins t OpenGL ES 1.1: GL_OES_framebuffer_bject GL_OES_blend_subtract GL_OES_blend_func_separate GL_OES_matrix_palette GL_OES_draw_texture GL_OES_texture_cube_map GL_OES_query_matrix GL_OES_pint_size_array The driver must als supprt the fllwing extensins t OpenGL ES 2.0: GL_OES_EGL_image GL_OES_get_prgram_binary GL_OES_fragment_precisin_high GL_OES_depth24 GL_OES_texture_flat GL_OES_packed_depth_stencil GL_OES_element_index_uint GL_EXT_texture_frmat_BGRA8888 GL_OES_texture_npt GL_OES_rgb8_rgba8 GL_OES_vertex_half_flat GL_OES_cmpressed_ETC1_RGB8_texture GL_OES_standard_derivatives GL_OES_mapbuffer Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 18 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers GL_EXT_multi_draw_arrays GL_IMG_texture_cmpressin_pvrtc GL_EXT_multisampled_render_t_texture GL_OES_vertex_array_bject GL_OES_read_frmat Vendrs need t prvide tls fr generating a binary shader n Linux. EGL The minimum versin required fr EGL is 1.4. EGL must supprt DRI2. Cmmn 3D applicatins use DRI2-based EGL. The 3D cmpsite windw manager requires DRI2-based EGL. The driver must supprt the fllwing extensins t EGL 1.4: GL_KHR_image EGL_KHR_image_base EGL_KHR_gl_texture_2D_image EGL_KHR_gl_texture_cubemap_image EGL_KHR_gl_renderbuffer_image EGL_KHR_image_pixmap EGL_KHR_lck_surface EGL_KHR_fence_sync EGL_KHR_reusable_sync EGL_IMG_cntext_pririty FBDEV based EGL (ptinal) The FBDEV must be based n a triple buffer mechanism. It must perate based n page flipping instead f cpying buffers. T avid a tearing prblem, crdinate with LCD vsync signal. Generally, cmpsitr enables vsync using the eglswapinterval() API. DRI2-based EGL (mandatry) Very imprtant! EGL must be implemented based n X11 DRI2 prtcl. EGL must supprt a texture frm pixmap (using EGL_KHR_image_pixmap and GL_OES_EGL_image). GPU synchrnizatin API T avid flickering, internal EGL API which waits fr the cmpletin f the buffer cpy cmmand is required. Header and Library name Header files and libraries must be prvided within the driver accrding t the Khrns API Implementers Guide. Nte: Yu may need t implement sme memry management techniques fr sharing memry between yur CPU and the graphics prcessing unit. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 19 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Windw System (Xserver) The fllwing figure illustrates the main parts f XServer and the cunter parts in the Linux kernel. Figure 9. XServer cmpnents Like ther Unix/Linux systems, Tizen cntains an XServer-based windw system. The X windw system prvides an interface fr manipulating resurces, such as windws, pixmap, and gc. X clients send requests t the X server fr drawing smething r manipulating windws. The X server accepts the client request and sends back a reply. In additin, the X server sends X events t the client when input events frm devices are pending r when the X server encunters events that the X client is interested in, such as cnfigure r expsure events. Tizen uses X.rg realizatin Xserver, which is an pen surce implementatin f the X Windw System (http://www.x.rg/). X.rg server can be divided int 2 parts: DIX layer is a device-independent layer that perfrms device-independent tasks. DDX layer is a device-dependent layer that perfrms device-dependent tasks. T make the X windw system wrk n a device, yu must prt the X input/vide driver in the DDX layer. X Input Driver There are 2 X input drivers: X Evdev driver and X Evdev-multituch driver. Each driver reads an input event stream frm each input device nde, makes X internal events, and puts them int the X server's internal event queue. Fr ding this, the X input drivers mainly use interfaces implemented n the xf86 DDX layer inside the X server. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 20 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Evdev driver: This driver interprets events frm the kernel evdev subsystem fr devices, such as a key(bard) device, muse device, r tuchpad. Nte: Basically, this driver can be used withut any mdificatins. Fr infrmatin n the data structures and basic functins t be implemented fr a device, see http://www.x.rg/wiki/develpment/dcumentatin/xrginputhowto/. Evdev-multituch driver: This driver interprets events frm the kernel evdev subsystem fr tuch-screen devices. It supprts 2 kinds f MT prtcl: MT prtcl A (which includes Tracking ID) MT prtcl B Nte: Basically, if the MT prtcl B is supprted by the kernel f a device, this driver can be used. Yu can supprt a legacy single-tuch prtcl by mdifying the surce cde. Using the MT prtcl B is recmmended. T supprt a new tuch prtcl, d ne f fllwing: Implement smething fr the new tuch prtcl inside the driver. Clne the evdev multi-tuch driver and implement the new tuch prtcl in the clne. Cnvert frm the new prtcl t an existing prtcl, which is supprted by the evdev multituch driver by default. X input driver cnfiguratin: The fllwing ptins under ServerFlags are essential: AllwEmptyInput: "true" means that the X server is started withut any keybard/muse driver. AutAddDevices: "false" means that ht plugged input devices are nt supprted. AutEnableDevices: "true" means that a 'DevicePresenceNtify event is sent t all X clients by default. Fr mre detailed infrmatin n the X cnfiguratin, see http://www.x.rg/releases/current/dc/man/man5/xrg.cnf.5.xhtml. By applying and mdifying the cnfiguratin files (such as xrg.cnf r files under the xrg.cnf.d directry), yu can apply ptinal features. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 21 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers X Vide Driver The X vide driver is a driver library that cntains the implementatin t supprt the xf86 DDX layer, t display smething n the screen: Driver Mdule Implementatin f a driver mdule fr the xf86 DDX. Mde Setting Implementatin fr the devices t display images n it. Kernel can supprt the mde setting (fr example, Drm mde setting). EXA Implementatin fr the graphic acceleratin architecture. Memry allcatin and extra draw primitives. DRI2 Implementatin fr DRI2 (Direct Rendering Infrastructure ver.2). Fr the graphic acceleratin, the graphics memry must be allcated and shared thrugh the glbal memry management. XV XFree86 ffers the X Vide Extensin (XV), which allws clients t treat vide as any ther primitive and put vide int drawables mde. By default, the extensin reprts n vide adaptrs as being available because the DDX layer has nt been initialized. Prting X Vide Driver The X vide driver needs t implement the driver mdule and extensins mentined abve, using the interface prvided by the xf86 DDX and X extensins in the X server. All steps are described in http://www.x.rg/releases/x11r7.6/dc/xrg-server/design.txt. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 22 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.4 Multimedia This sectin describes the cmpnents f the Multimedia Framewrk. 3.4.1 Cdec Tizen Multimedia Framewrk prvides HW cdecs based n Gst-OpenMax IL Cdec plug-in. The Gst-penmax IL cdec plugin is a GStreamer plug-in package that allws cmmunicatin with OpenMAX IL cmpnents. Prting the OAL Interface Figure 10. Cdecs in the Multimedia Framewrk The Gst-penmax IL cdec plugin is used as ther GStreamer plugins. Fr mre infrmatin, see http://www.freedesktp.rg/wiki/gstopenmax. References Fr mre infrmatin abut OpenMAX IL cmpnents, see: http://www.khrns.rg/penmax/il/ Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 23 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.4.2 Camcrder (Including Camera) The Multimedia camcrder framewrk cntrls the camera plugin f GStreamer t capture camera data frm the device. Figure 11. Camera in the Multimedia Framewrk Nte that the kernel interfaces cntrlling the camera device can differ fr different chipsets, s the camera plugin must be implemented specifically fr each chipset. Each cnfig file cntains its wn specific hardware-dependent infrmatin. Camera surce plugin fr GStreamer Gets camera data (preview r captured image) frm the camera device Inherits GstPushSrc Cnfig files fr the Multimedia Camcrder framewrk mmfw_camcrder.ini: The camcrder settings file. mmfw_camcrder_dev_vide_pri.ini: This file includes the settings f the high-reslutin rear camera. mmfw_camcrder_dev_vide_sec.ini: This file includes the settings f the lw-reslutin frnt camera. Prting the OAL Interface GStreamer Camera plugin: Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 24 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Because the kernel interfaces cntrlling the camera device can differ fr different chipsets, the camera plugin must be implemented specifically fr each chipset. T develp a new plugin, see the GSteamer plugin develpment guide (http://gstreamer.freedesktp.rg/data/dc/gstreamer/head/pwg/html/index.html). The majr functinalities fr the camera are prvided by the GStreamer camera cntrl interfaces and signal callback, which are added by Tizen. The camera plugin must supprt them (gst-pluginsbase0.10/gst-libs/gst/interfaces/cameracntrl.h interfaces and signal callback: stillcapture ). Any third party develper wh wants t implement a camera surce plugin must derive it frm GstPushSrc. References Fr all GStreamer dcumentatin, see: http://gstreamer.freedesktp.rg/dcumentatin/ T develp GStreamer plugins, see: http://gstreamer.freedesktp.rg/data/dc/gstreamer/head/pwg/html/index.html 3.4.3 Radi The radi interface part f the Multimedia Framewrk supprts APIs t implement the fllwing FM radi features, using Linux V4L2 interfaces: Tune a frequency Get and set a frequency Scan all available frequencies Seek up and dwn Get frequency signal Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 25 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Prting the OAL Interface Figure 12. Radi in the Multimedia Framewrk The OAL interface fr the FM radi is the Linux kernel V4L2 interfaces. The radi mdule directly uses the V4L2 ictls t perfrm varius radi hardware cnfiguratins. References V4L2 specificatin: http://v4l2spec.bytesex.rg/spec-single/v4l2.html 3.4.4 Audi The fllwing figure illustrates the Multimedia Framewrk Audi cmpnents. Figure 13. Audi in the Multimedia Framewrk Avsystem Avsystem is a native Tizen cmpnent prviding an API fr handling the stream and the sund path in the upper layer. PulseAudi PulseAudi is a sund server accepting sund input frm ne r mre surces and redirecting it t ne r mre sinks. asund.cnf A cnfiguratin file fr extra ALSA DAIs (Digital Audi Interface), such as AIF1 and AIF2. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 26 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Prting the OAL Interface PulseAudi: PulseAudi in Tizen des nt supprt udev. PulseAudi must be started as a system mde. T supprt a variety f devices, sme cnfiguratin files have been separated frm PulseAudi t mmfw-syscnf. Fr mre infrmatin, see the cnfiguratin details belw. D nt change the default sink in /etc/pulse/system.pa. The default sink is used by sme mdules. If it is changed, sund playback experiences prblems: lad-mdule mdule-remap-sink sink_name=mn_alsa master=alsa_utput.0.analg-stere channels=1 asund.cnf: The name AIF2, AIF3 must nt be changed. /etc/asund.cnf has a dependency n the hardware. Fr mre detailed infrmatin, see the cnfiguratin details belw. Cnfiguratin T supprt a variety f devices, sme cnfiguratin files have been separated frm PulseAudi t mmfw-syscnf. PulseAudi has the fllwing cnfiguratin files: /etc/pulse/client.cnf /etc/pulse/daemn.cnf /etc/pulse/default.pa /etc/pulse/system.pa /usr/share/pulseaudi/alsa-mixer/prfile-sets/default.cnf In additin, there are a few mre cnfiguratin files. Currently, they d nt have a majr impact, but can be mdified, if necessary. usr/share/pulseaudi/alsa-mixer/prfile-sets/ usr/share/pulseaudi/alsa-mixer-paths/ References PulseAudi / ALSA http://www.freedesktp.rg/wiki/sftware/pulseaudi http://www.alsa-prject.rg/ Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 27 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.5 Cnnectivity This sectin describes the cmpnents f the Cnnectivity mdule. 3.5.1 WLAN The main WLAN features are: WLAN (802.11 b/g/n) WPS PBC EAP (AKA, SIM, PEAP, TTLS) The fllwing figure illustrates the Tizen WLAN architecture. Figure 14. WLAN architecture The WLAN architecture is centered n the Linux wireless (IEEE-802.11) subsystem. The Linux wireless SW stack defines the WLAN HW adaptatin SW interfaces that need t be used in Tizen. Cnnectin Manager (CnnMan) is a daemn fr managing internet cnnectins within embedded devices running the Linux perating system. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 28 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers WPA supplicant (wpa_supplicant) prvides supprt fr WPA and WPA2 (IEEE 802.11i / RSN). The supplicant is the IEEE 802.1X/WPA cmpnent that is used in the client statins. Prting the OAL Interface The WLAN driver plugin is specific t a Wi-Fi chipset. Wi-Fi chipset firmware and tls files must be cpied t the WLAN driver plugin directry, built, and installed befre testing the Wi-Fi functinality. The Wi-Fi driver must create the /pt/etc/.mac.inf file, which has the MAC address f the device. The WLAN driver plugin cntains a file called wlan.sh (/usr/bin/wlan.sh), which is used t lad r unlad Wi-Fi driver firmware. All ther Wi-Fi-related functinality is handled by the CnnMan daemn. References Cnnectin Manager (CnnMan) prject website: http://cnnman.net/ Linux wireless (IEEE-802.11) subsystem: http://linuxwireless.rg/ Infrmatin n Linux WPA/WPA2/IEEE 802.1X Supplicant: http://hstap.epitest.fi/wpa_supplicant/ Latest CnnMan release: http://git.kernel.rg/?p=netwrk/cnnman/cnnman.git;a=summary WLAN driver plugin git path: adaptatin/devices/wlandrv-plugin-xxx Reference kernel cnfiguratins The fllwing ptins must be enabled if the driver supprts the cfg802.11 cnfiguratin API: CONFIG_CFG80211 CONFIG_LIB80211 CONFIG_MAC80211 (Enable this flag, if the driver supprts the sftmac feature.) The fllwing ptins must be enabled if the driver supprts wireless extensin APIs: CONFIG_WIRELESS_EXT=y CONFIG_WEXT_CORE=y CONFIG_WEXT_PROC=y CONFIG_WEXT_PRIV=y CONFIG_WEXT_SPY=y CONFIG_WIRELESS_EXT_SYSFS=y Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 29 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.5.2 Bluetth Tizen uses pen surce Bluetth cmpnents, such as Bluez and Obexd. Bluez and Obexd run as the daemn, and a Bluetth Framewrk interface library is used by applicatins t access Bluez r Obexd ver the D-Bus interface. Figure 15. Bluetth architecture Supprted prfiles: GATT, FTP, OPP, MAP, PBAP, A2DP, AVRCP, HSP/HFP, RFCOMM, HID, HDP, and PAN Applicatin Definitin: Prvides a dialgue fr the user. Cntrls BlueZ/ObexD/PulseAudi Daemn. The Bluetth Lw Energy functin is implemented in bluez&bluetth-frwk. Hwever, there are n SDK APIs abut the BLE functins. The current plan is t include them in Tizen versin 3.0. Prting the OAL Interface The fllwing OAL scripts are run during the BT stack start and end sequences. These scripts invke BT-chip-specific (such as Bradcm) scripts, prvided by the chipset vendr t perfrm chip-specific cnfiguratin. The scripts are available with bluetth-dev-tls.under. When the package is installed, it cpies the scripts under /usr/etc/bluetth/. bt-stack-up.sh: This script file is used t run the hardware-specific script files t pwer up r start BT hardware alng with the backgrund prcesses, such as bluez and bexd. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 30 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers bt-stack-dwn.sh: This script file is used t run the hardware-specific script files t pwer dwn r stp BT hardware alng with the backgrund prcesses, such as bluez and bexd. bt-reset-env.sh: This script file is used t reset the BT chip by running bt-stack-dwn.sh alng with the resurce clean up. Cnfiguratin Sme cnfiguratin changes must be made t enable the specific chipset, scripts, and ther cnfiguratin infrmatin, such as UART speed and UART terminal (tty) t be pened specific t the chipset. The chipset vendr must prvide the needed changes. The fllwing set-up is a cnfiguratin example f the BCM4330 Bluetth chipset by Bradcmm: hciattach Prject bluez/tls/hciattach.c is patched t enable the BCM4330 chipset-specific hciattach tl. This service attaches the BT UART HCI interface t the BT stack at baud rate f 3000000. It is als respnsible fr lading the BT firmware n BCM4330. The Bluetth UART used is /dev/ttysac0 The Bradcm firmware used is BCM4330B1_002.001.003.0221.0265.hcd The UART speed cnfiguratin is 3000000 fr BCM4330B1 The bcmtl used is bcmtl_4330b1 The.bd_addr cntains the unique Bluetth address, which is generated during the first Bluetth activatin T register the Bluetth device: bcmtl_4330b1 /dev/ttysac0 FILE=BCM4330B1_002.001.003.0221.0265.hcd BAUD=3000000 ADDR=/csa/bluetth/.bd_addr SETSCO=0,0,0,0,0,0,0,3,3,0 LP T attach a serial device using UART HCI t the Bluetth stack fr a bradcm device: hciattach /dev/ttysac0 S 3000000 bcm2035 3000000 flw T run the Bluetth daemn versin 4.101: bluetthd T start up the device, set the device name, and enable the SSP mde: hcicnfig hci0 up hcicnfig hci0 name Tizen hcicnfig hci0 sspmde 1 T switch n the Bluetth radi: rfkill unblck bluetth Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 31 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers T switch ff the Bluetth radi: rfkill blck bluetth 3.5.3 NFC The fllwing figure illustrates the NFC cmpnents. Figure 16. NFC architecture The NFC applicatin enables the user t read and imprt the cntent written n an NFC tag, and write and save data in an NFC tag. The NFC client acts as an interface between the NFC applicatin and the NFC manager, while writing r editing tag infrmatin in any physical tag. The NFC manager is the main interface, which actually deals with NFC physical tags, creates a cnnectin with tags and detects it. It is a daemn prcess t cntrl the NFC chipset (such as nxp pn544 r lsi). It prvides the tag read/write service and basic P2P cmmunicatin service. It prvides a basic API t the client applicatin. The NFC plugin and device driver act as an interface between the NFC chipset and the NFC Manager. If yu are chip vendr (fr example, nxp, Bradcm, r lsi), yu must prvide the NFC chipset, device driver, and NFC plugin fr the Tizen NFC Framewrk. Fr a reference implementatin f the NFC plugin, g t the Tizen public cde site and dwnlad adaptatin/devices/nfc-plugin-nxp.git. T use any specific NFC chipset in the Tizen NFC Framewrk, yu must create the OAL interface in the NFC plugin prvided by the chip vendr. Prting the OAL Interface Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 32 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers The NFC plugin is implemented as a shared library and it interfaces the Tizen nfc-manager and the vendr NFC chip. The NFC manager lads the libnfc-plugin.s library at runtime frm {library_path}/libnfc-plugin.s. Any vendr-specific plugin must be installed in the same path. The plugin must be written with predefined OAL API interfaces. During the initializatin, the nfc-manager lads the libnfc-plugin.s, searches fr the nlad API, and calls it with an interface structure instance as an argument fr mapping all the OAL interfaces. The OAL/OEM interfaces are implemented accrding t the underlying NFC chipset. Once the mapping is dne, the NFC manager interacts with nfc-plugin, which implements the vendr-specific OAL interfaces. The nfc_em_interface_s struct is exprted in the nfc-plugin. Using this interface structure, the nfc-manager cmmunicates with the OAL interfaces at runtime. Fr a reference implementatin f the OAL interfaces, g t the Tizen public cde site and dwnlad adaptatin/devices/nfc-plugin-nxp.git, and see src/em/em_nxp.c. References NFC Technical specificatin 3.6 Telephny This sectin describes the Telephny mdule. Telephny Architecture Telephny supprts the plug-in architecture, which prvides flexibility t include varius types f predefined plug-ins int the system with very few changes. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 33 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers The fllwing figure illustrates the Telephny plug-in architecture. Functin calls acrss varius plug-ins g thrugh the Tizen Telephny library (libtcre) APIs. Cnnman Call App Messaging App Settings libtelephny TAPI TAPI TAPI DBUS Free Style Plug-in (Packet Service) Cmmunicatr (DBUS-TAPI) Free Style Plug-in (Indicatr) Free Style Plug-in (AT-Standards) Mdem Plug-in Free Style Plug-in (Database) Mdem Interface Plug-in Free Style Plug-in (VCONF) Drivers DB Mdem VCONF Telephny libraries Figure 17. Telephny architecture Telephny prvides 2 libraries: Telephny API (TAPI) library The TAPI library (r simply TAPI) is a standardized interface prvided t applicatins t interact with Tizen Telephny. Cre Telephny library (r libtcre) The Cre Telephny library (r libtcre) prvides an API framewrk fr Tizen Telephny t interwrk. The libtcre prvides APIs fr: Creatin, destructin, and maintenance f varius server cmpnents, such as Server, Cmmunicatr, HAL, Plug-in, and Cre Object Strage maintenance, queue mechanism, and general utility CMUX supprt (creatin, destructin, and prcessing) AT parser Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 34 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Telephny Plug-ins The fllwing Telephny plug-ins are available: Cmmunicatr plug-ins DBUS cmmunicatr is prvided fr the interface between TAPI and the Telephny Server. Mdem plug-ins Cntain cre functinal units prviding Telephny functinality. Maintain and manage Telephny states. Maintain and manage the database related t Telephny. Mdem interface plug-ins Interface between the Telephny Server and the Cmmunicatin Prcessr. Hardware-specific plug-ins which define hardware capabilities and usage. Mdem interface plug-in is als called the hardware abstractin layer (HAL). Free style plug-ins Prvide cmpletely independent functinality irrespective f hardware (Cmmunicatin prcessr). Include plug-ins, such as packetservice, strage, and indicatr. Prting OAL Interface OEM vendrs can prt each and every available plug-in within Telephny accrding t their needs. It is nt mandatry t prt all the plug-ins t supprt a specific hardware. OEMs need t specifically implement the Mdem and Mdem interface plug-ins t supprt their hardware. Any telephny plug-in must prvide a plugin descriptr structure (see /libtcre/include/plugin.h). The descriptr structure f each plug-in must be named as plugin_define_desc. The server btains the address f this symbl in rder t prvide cntrl t the plug-in t execute its defined functinality. The initializatin rder f a plug-in amng varius ther Telephny plug-ins is defined based n the plug-in s pririty. All Telephny plug-ins must be installed in the fllwing flders: Mdem plug-ins: /usr/lib/telephny/plugins/mdems/ Other plug-ins: /usr/lib/telephny/plugins/ Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 35 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.7 Security This sectin describes the Security mdule. 3.7.1 Access Cntrl (Smack) The fllwing figure illustrates the Tizen security mdel. T achieve the security mdel, Tizen 2.3 uses: Figure 18. Security mdel Discretinary Access Cntrl (DAC): File System permissins and Access cntrl list (ACL) http://en.wikipedia.rg/wiki/discretinary_access_cntrl Mandatry Access Cntrl (MAC) with the kernel LSM Smack http://en.wikipedia.rg/wiki/mandatry_access_cntrl SMACK in Tizen 2.3 Smack supprts 2 primary security requirements: Cntrl ver privileged resurces at the granularity f the applicatin Applicatin islatin with cntrlled sharing Security Mdels based n Smack Privilege Services that are being used by applicatins must cntrl if the caller has sufficient privileges t call Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 36 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers each API. In Tizen 2.3, this level f access cntrl is dne using very detailed Smack plicy n IPC mechanisms. In ther wrds, privilege is cmpsed f smack rules. Yu can cnfirm this in /usr/share/privilege-cntrl/*. Fr an verview f Tizen privileges, see: https://develper.tizen.rg/devguide/2.2.1/rg.tizen.gettingstarted/html/tizen_verview/privilege.htm Fr a list f the Tizen privileges, see: https://www.tizen.rg/k/privilege?langredirect=1 Manifest A Web r native applicatin develper must describe a privilege they want t use in the manifest file. In additin, each RPM package must have a manifest file where develpers can specify the access cntrl dmain in which their applicatin must be running and ptential additinal security plicies fr the applicatin. Installing applicatins The installer uses the cntent f the manifest file t set the security cntext f the installed applicatin r RPM package. The installer uses the libprivilege-cntrl cmpnent t handle the Smack security database. The installer updates the database f the applicatin's smack rules in /pt/dbspace/.rulesdb.db3. The smack rules fr the RPM package are stred in /etc/smack/accesses.d/*. Smack auditing By default, all denied events are audited. Kernel-space denied events remain n dmesg. Als, any user-space denied event n IPC mechanisms is recrded n dlgutil. Reference Fr smack, see: http://en.wikipedia.rg/wiki/smack_(linux_security_mdule) Fr manifest and installing applicatins, see: https://wiki.tizen.rg/wiki/security/webapps_and_smack#manifest_fr_webapps Fr manifest and installing the RPM package (Platfrm Mdule), see: https://wiki.tizen.rg/wiki/security/applicatin_installatin_and_manifest#manifest_file 3.7.2 Certificate Management In the Public Key Infrastructure (PKI) scheme, certificates are used t prve the wnership f public keys. Because Tizen uses the public key scheme, Cert-svc (Certificatin service) and Cert-svc-vcre are implemented t manage certificates efficiently and nly allw the installatin f applicatins with valid signatures. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 37 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Figure 19. Certificate management The fllwing table lists the main functins f the certificate cmpnents. Cert-svc Cert-svcvcre Table 2. Main functins Functin Descriptin Certificate Installatin Install certificates t the appinted lcatin. Certificate Deletin Delete unnecessary certificates. Certificate Infrmatin Extractin Extract infrmatin frm X.509 structure certificates. Certificate Search Search certificates using user request infrmatin. Certificate Verificatin Check whether certificate validatin is nrmally issued. Signature Verificatin Verify a signature using a message, signature, and certificates. Native App Signature Verificatin Check the validatin f native applicatin signatures. Web App Signature Verificatin Check the validatin f Web applicatin signatures. Reference Certificatin Service Prgramming Guide V 0.1 Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 38 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.7.3 Anti-Virus (CSR Framewrk) CSR (Cntent Screening and Reputatin) Framewrk cnsists f the cntent security framewrk and security plug-in. In Tizen, they are shared libraries. Cntent screening: Enables the caller mdule and applicatins t scan cntent (data, file). Figure 20. Cntent screening Reputatin (Web Prtecting): Can prtect the user arund the wrld frm Web-based malware threats, brwser explits, and identity theft. Figure 21. Reputatin Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 39 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Cntent Security Framewrk Shared library: libsecfw.s This file is linked directly t the system cmpnent which invkes the security API. It is respnsible fr plug-in (engine) lading and relading. Always try t lad the new plug-in frm the /pt/usr/share/sec_plugin/ path. Security Plug-in Shared library: libengine.s (cntent screening), libwpengine.s (reputatin) The security plug-in is laded in runtime and installed alng with the security applicatin package. Anti-virus App Package Frmat Package frmat must cnfrm t the Tizen applicatin frmat, which is a simple zip file. Package cntains: /bin/ (Applicatin executables) /res/ (Icns, pictures, and ther resurce files) /data/ (Data fr the applicatin) /lib/plugin/libengine.s r libwpengine.s (The installer cpies this file t /pt/usr/share/sec_plugin/libengine.s r libwpengine.s.) /database/ (Data fr the engine. Fr example, Signature DB. This directry is readable t everybdy.) /inf/manifest.xml (Cntains the prper app type. Fr example, <categry= sec-app />.) Tizen Installer Enhancements Checks the signature/certificate and makes sure it is certified by a trusted party. Cpies /lib/plugin/libengine.s t /pt/usr/share/sec_plugin/libengine.s r libwpengine.s. Cpies all files t /pt/usr/apps/[package id]/. Sets the smack label f /pt/usr/apps/[package id]/database t sec_database. All applicatins which use the cntent security framewrk already have rules t read sec_database. Gives permissin fr the security applicatin. (Privilege fr the security check, like access t the file system r ther applicatins.) Reference Tizen Cntent Security Framewrk Prpsal (Dcument versin 1.0.2 2013, McAfee, Inc.) Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 40 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 3.8 Lcatin The Lcatin mdule prvides lcatin-based services (LBS) including the psitin infrmatin, satellite infrmatin and GPS status. The main features are: GPS (Glbal Psitining System) Getting the current psitin, last knwn psitin, accuracy, distance, and velcity Getting the satellite infrmatin f GPS and GLONASS Ntifying the user when they enter r exit a predefined set f bundaries, knwn as ge-fence, such as schl attendance znes r neighbrhd bundaries. Lcatin Framewrk The fllwing figure illustrates the Lcatin framewrk. Figure 22. Lcatin framewrk Lcatin Library: Cntains the lcatin prviders that can be used by the native lcatins t get the services. GPS prvides psitin infrmatin, velcity, and satellite infrmatin. It is used t get the current psitin f a device. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 41 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers Lbs dbus: This is the IPC used t cmmunicate between the Lcatin mdule and the GPS Manager daemn. LBS Server: Prvides psitin, velcity, NMEA, and satellite infrmatin by cmmunicating with a GPS chip. Functinalities f the LBS Server: - GPS initializatin/de-initializatin and pen/clse cntrl. - Prvides the psitin result fr the lcatin library. - Lcatin sessin management-determinatin fr sessin terminatin based n sessin status. - Serial interface with the GPS receiver. - Enables the GPS chipset t supprt standalne GPS psitining methds. - Supprts the standalne peratin mde, where a GPS receiver device in which the receiver prvides all f its wn data needs and perfrms all psitin calculatins, withut cnnectin t an external netwrk r server. Prting the OAL Interface The LBS plugin is implemented based n the Tizen LBS server fr a vendr-specific GPS device. The LBS plugin is implemented as a shared library and the lbs-server lads a specific LBS plugin at runtime. An LBS plugin must be written with predefined interfaces. The lbs-server-plugin-dev surce package is installed n OBS by adding the fllwing cmmand in the package spec file: BuildRequires: pkgcnfig(lbs-server-plugin) Within the lbs-server-plugin-dev package, the surce files are lcated in: /usr/include/lbs-server-plugin/*.h /usr/lib/pkgcnfig/lbs-server-plugin.pc The gps_plugin_intf.h file includes the API interfaces fr the cmmunicatin between the lbs-server and its GPS plugin: typedef struct { /** Initialize plugin mdule and register callback fr event delivery */ int (*init) (gps_event_cb gps_event_cb, gps_server_param_t * gps_params); /** Deinitialize plugin mdule */ int (*deinit) (gps_failure_reasn_t *reasn_cde); /** Request specific actin t plugin mdule */ int (*request) (gps_actin_t gps_actin, vid *data, gps_failure_reasn_t *reasn_cde); } gps_plugin_interface; cnst gps_plugin_interface *get_gps_plugin_interface(); get_gps_plugin_interface() must be exprted in the LBS plugin. It gives the gps_plugin_interface structure t the lbs-server, and the lbs-server cmmunicates thrugh these interfaces. When the gps-manager is started, the GPS plugin is laded and the init() functin is called. At this mment, a GPS device must be initialized (fr example, fr pwer cntrl and firmware dwnlad). Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 42 Page

White Paper fr Tizen Platfrm Develpers and Manufacturers 4. Optimizatin Usually, 2 main appraches are used t carry ut ptimizatin tasks. The first ne is static (surce cde) analysis, which is usually helpful nly in rather simple applicatins. Static analysis is usually difficult t apply in cmplex sftware, which prvides, fr example, many services with different executin threads, system IPC usage, and thirdparty mdule (plug-in) supprt. In that case, yu must analyze the applicatin behavir at runtime with varius usage scenaris, and the secnd apprach, dynamic analysis, is mre effective. The Tizen platfrm prvides the necessary tls fr dynamic applicatin prfiling. The dynamic analysis prcess is split int several base stages: Prfiling sessin preparatin Data cllectin Visualizatin f the results At the preparatin stage, the develper selects the data that currently needs t be analyzed: pints f interest (such as libraries r functins), features t prfile (such as memry, file IO, and netwrk), and ther parameters (such as sampling perid). All that data is cllected n a target device during the prfiling sessin, and sent back t the hst system. The hst parses and stres the received data, perfrms the needed analysis, and displays the results in a human-readable frm. This apprach allws the develper t bserve hw the prgram behaves in a cmplex envirnment and hw different system aspects affect it. The fllwing figure illustrates the verall prfiling prcess fr a Tizen applicatin. Figure 23. Prfiling prcess System Wide Analyzer f Perfrmance (SWAP) System Wide Analyzer f Perfrmance (SWAP) is a dynamic binary instrumentatin engine that allws yu t carry ut system-wide perfrmance, memry, pwer cnsumptin prfiling, and ptimizatin. It is based n a kprbe mechanism, and prvides the facility t cllect all the necessary data fr analyzing the applicatin and whle system behavir at runtime. SWAP is used as a backend fr prfiling data cllectin n a target device. Except as nted, this cntent - excluding the Cde Examples - is licensed under Creative Cmmns Attributin 3.0 and all f the Cde Examples cntained herein Fr details, see the Cntent License.. 43 Page