Omat kalvopohjat

Download Report

Transcript Omat kalvopohjat

Symbian OS
version 7.0, 8.x, 9.x
Lessons and presentations 2008
© Raimo Hälinen
1
Symbian OS and Hardware
CPU 32-bit
190 MHz and 206 MHz
ROM
Z: drive mapping
Operating system
Built-in middleware
Application
Execution in-place (load for Ram)
2
Symbian OS and Hardware
RAM
mapped to C: drive
Active program or application
System kernel
The system uses all ram memory
typical memory size 8 Mb or 16 Mb.
I/O devices
Screen digitizer (pen)
Keyboard
Memory Card slot (d:drive)
RS232 port
Infraded port
Bluetooth
3
Symbian OS architecture
Server
Server
Server
Suojatun tilan
rajapinta
Application
Application
Application
Engine
Engine
DLL rajapinta
Kernel
4
Symbian Os architecture
Application (Sovellus)
Sovellus, johon on liitetty käyttöliittymä
käyttäjälle
Suoritetaan erillisenä prosessina
Käyttää omaa virtuaalista osoiteavaruutta
Prosessirajapinta erottaa eri sovellukset
toisistaan
Erillinen oma osoiteavaruus varmistaa, etteivät
käynnissä olevat prosessit ylikirjoita toistensa
tietoja.
5
Symbian OS architecture
Server (palvelin/palvelu)
Ohjelma, johon ei ole liitetty
käyttöliittymää
Voi käyttää yhtä tai useaa laiteresurssia
Palvelinta/palvelua käyttävä asiakas
saa palvelut APIen kautta
Jokainen palvelupyyntö käynnistää
oman prosessin.
6
Symbian OS architecture
Engine (Dataengine)
Osa sovellusta
Käytetään sovelluksen tarvitseman datan
käsittelyyn
Sovelluksen suunnittelussa käyttöliittymä
voidaan erottaa omaksi osaksi ja dataengine
omaksi osaksi
Lähdemoduulien käyttö
DLL käyttö helpottaa sovellusten suunnittelua ja
kirjoittamista
7
Symbian OS architecture
Kernel (ydin)
huolehtii ja hallinnoi laiteresursseista
CPU käskykantasuoritukset
suojattu tila (privilege)
suorittaa ohjelmat käyttäjämoodissa
käyttäen järjestelmäresursseja
järjestelmä APIen kautta
8
Symbian OS architecture
Memory Management Unit (MMU)
ROM ja RAM muistien käsittely ja
hallinta
ROM muistia käytetään jaettuna
RAM muistista varataan tilat jokaiselle
prosessille erikseen (virtual address
space)
9
Symbian OS architecture
Prosessit (Processes)
voi muodostua useista erillisistä säikeistä
sovellusta kirjoitettaessa säikeet kirjoitetaan näkyviin.
Säikeet (Threads)
itsenäinen osa prosessia
ajetaan erillään muista säikeistä
säikeiden käyttämä osoiteavaruus voi olla yhteinen
Ydin (kernel) määrää säikeiden suoritusjärjestyksen
Context switching
Säikeiden suoritusjärjestys
Ohjelmallisesti toteuttava
Vaikein toteutus on säikeiden kutsu prosessien välillä
Memory Management Unit käsittelee prosessista toiseen tapahtuvat
kutsut
Funktiokutsut ovat yksinkertaisempia toteuttaa
10
Symbian OS suoritettavat ohjelmat
Sovellusohjelman rakenne
xxx.exe
e32main()-funktio
Dynaamiset linkkikirjastot (DLL)
Jaetut DLL
Ladataan automaattisesti
Rekursiivinen toiminto
Polymorfiset DLL
Abstract APIt
Kirjoitinohjaimet
Socket rajapinnat
11
Symbian OS ohjelmien suoritus
Rom-muistista ajettavat (Z:)
RAM-muistista ajettavat (C:)
Ohjelmakoodin lataaminen
Read only staattiset tiedot
Read/write staattiset tiedot
.exe tiedostot käyttävät omaa
muistiavaruutta
.dll tiedostot käyttävät jaettua
muistiavaruutta
.dll tiedostojen käsittely on optimoitu
12
Symbian OS
Virransyöttö ja tehon käsittely
Tietyt osat ja osatoiminnot on oltava
toiminnassa, vaikka järjestelmä on ajettu
alas (sammutettu).
Hälytystoimintojen on toimittava
Kriittisten tietojen tallettaminen/tallentaminen
Kommunikointitapahtumien kuuntelun tulee
olla mahdollista.
13
Symbian OS ja Kernel E32
ekern.exe
efsrv.exe
ewsrv.exe
apprun.exe
euser.lib
Kernel executive (ekern.exe)
14
Symbian OS tapahtumat
Näppäimistö
Kernel/ohjain
Window server
Application
Keskeytykset (interrupt)
ISR/DFC
Näppäintapahtuma
Tapahtuman
käsittely
Näkymän
päivitys
CPU power
15
Symbian OS ja APIt
APIen ryhmittelystä
Base
Middleware
UI
Applications
Communications
Language systems
Symbian OS connect
16
Symbian OS
Symbian OS Version 7.0s
Functionality
Robust multi-tasking kernel
OBEX rajapinta
WAP
Messaging
Multimedia
17
Symbian OS…
Graphics
Communication protocols
Mobile telephony
International support
Data synchronization
Security
Application Development
J2ME, MIDP 2.0, Personal Java, WAP
C++
Java application
18
Symbian OS 7.x version
19
Symbian 7.0 Application Engine
Agenda engine
generinen asiakas-palvelin, SMS-tuki, vCalendar, API-rajapinta
Contact model
generinen asiaka-palvelin, jaettu pääsy kontaktitietoihin, sähköpostiin, faxiin
ja tekstiviesteihin (SMS)
Office tukee tekstinkäsittelyä, taulukkolaskentaa, help-toiminnot,
kaavioiden käsittely ja tekstinkäsittely, Symbian OSWord
konvertteri, tietokantasovellus
SyncML
Database Adapter (DBA), täysin geneerinen ei tukeudu mihinkään
tietokantaan suoraan, mahdollistaen tietojen synkronoinnin ulkoisiin
lähteisiin.
Data Management
Web Engine (Opera)
Tuki XML, XHTML, ECMAScript, DOM ja DHTML
Java tuki (MIDlet), kuvien käsittely (jpeg, png muotoisina
Netscape plug-in arkkitehtuuri
FTP ja MIME tyyppien käsittely
20
Symbian 7.0 Application engine ...
Messaging
Short Message Service (SMS)
Enhanced Messaging Service (EMS)
Multimedia Messaging Service (MMS)
Email
Fax
21
Symbian 7.0 Application Framework
Graphical user interface (GUI)
tapahtumapohjainen (event-driven)
widget arkkitehtuuri
ikkunointiarkkitehtuuri
suora navigointi
Laitevalmistaja voi lisenssioida haluamansa piirteet
Application support services
Internationization support (Unicode 3.0)
front-end prosessointi tekstille
Rich text tuki
leikepöytätuki
parserituki
22
Symbian 7.0 Personal Area Networking
Bluetooth stack (pino) v1.1
Infrared IrDA v1.1
USB
Communication infrastructure
TCP
UDP
IPv4
ICMP
Point to Point Protocol (PPP)
DNS
Dial-up network
IPSec
Telnet
FTP
Ethernet (PCMCIA)
HTTP stack
WAP stack
23
Symbian 7.0 PC-Connection toolkit
Connection Manager
Connect Toolkit
Telephone (Puhelin)
GSM (SIM Application Toolkit, Class3
GPRS
EDGE (Enhanced Data-rates for Global
Evolution)
CDMA (IS-95)
CDMA 2000
24
Symbian 7.0 Security
Cryptography module
Cryptographic token framework
Certicate management module
Software installation
25
Symbian OS
System Categorisation
Common Symbian
Etel server
Uikon
Applicaton Utilities
Kernel
File server
User libraries
Esock server
TCP/IP
C32 server
Window server
INSOCK
TLS
Mbuf manager
Root server
26
Symbian OS …
Common Replaceable
Font/bitmap server
Screen drivers
Optional Symbian
Calendar engine
vCard and cCal
Contact engine
Database engine
GSM/SMS Stack
Help
Task scheduler
Bio Messaging
Optional Symbian …
Internet mail MTM
Messaging Engine
HTTP Client
Internet Protocols
SyncML
FORM Layout engine
Store
Bluetooth wireless technology
COMMS logging
IrDA
Cryptography library
Comms channels
27
Symbian OS …
Optional Replaceable
Fax MTM
Onboard convertes
Other application engines
Wserv plugin
On- board connectivity
PC Connectivity Toolkit
Alarm/World Server
Locales
Logging engine
System agent
MMS
WAP-browser engine
WAPStack
Browsing framework
28
Symbian OS …
Application Lever Internet
Data-type recognisers
Code converters
Grid layout engine
Printer drivers
View server
Power
C-standard library
Comms database
Media server
Multimedia
Comms utilities
Network options
FTP, Telnet
Security
Content handling framefork
29
Symbian OS versions
30
Symbian OS versions …
31
Symbian OS versions …
32
Symbian OS versions …
33
Symbian OS versions …
34
Symbian OS puhelintyyppejä
Nokia 9200 Communicator Series (based on Symbian OS v6.0):
Nokia 9210
Nokia 9210c/9210i/9290
Series 60 Developer Platform 1.0 (based on Symbian OS v6.1):
Nokia 7650
Nokia 3650/3600
Nokia 3660/3620
Nokia N-Gage
Nokia N-Gage QD
Sendo X
Siemens SX1
35
Symbian OS puhelintyyppejä
Series 60 Developer Platform 2nd Edition (based on
Symbian OS v7.0s):
Nokia 6600
Series 60 Developer Platform 2nd Edition with Feature
Pack 1 (based on Symbian OS v7.0s enhanced)
Nokia 6260
Nokia 6620
Nokia 6670
Nokia 7610
Panasonic X700
Samsung SGH-D710
36
Symbian OS puhelintyyppejä…
Series 60 Developer Platform 2nd Edition with Feature Pack 2
(based on Symbian OS v8.0)
Nokia 6630
Series 80 Developer Platform 2.0 (based on Symbian OS v7.0s
enhanced):
Nokia 9500
Nokia 9300
Series 90 Developer Platform 2.0 (based on Symbian OS v7.0s
enhanced):
Nokia 7700
UIQ 2.0 (based on Symbian OS v7.0):
Motorola A920
Motorola A925
Sony Ericsson P800/P802
37
Symbian OS puhelintyyppejä…
UIQ 2.1 (based on Symbian OS v7.0 enhanced):
BenQ P30
BenQ P31
Motorola A1000
Sony Ericsson P900/P908
Sony Ericsson P910
NTT DoCoMo Platform (based on Symbian OS v6.1):
NTT DoCoMo FOMA F2051
NTT DoCoMo FOMA F2102V
NTT DoCoMo FOMA F900i
NTT DoCoMo FOMA F900iT
38
C++ ohjelmointiympäristön ja APIt
sisältävät tyypit
C++ using Symbian OS SDKs
Nokia 9210
Nokia 9210c/9210i/9290
Nokia 7650
Nokia 3650/3600
Nokia 3660/3620
Nokia N-Gage 􀂃 Nokia N-Gage QD
Siemens SX1
Sendo X
Nokia 6600
Nokia 6620
Nokia 7610
Sony Ericsson P800/P802
Sony Ericsson P900/P908
Motorola A920 􀂃 Motorola A925
39
Symbian OS 8.x arkkitehtuuri
40
Symbian OS 8.1 arkkitehtuuri
41
Symbian OS 8.x puhelintoiminnot
Monitoimintoinen API
Abstrakti puhelinverkko
GSM
GPRS
EDGE
CDMA (IS-95)
3GPP CDMA 2000 release A
W-CDMA
42
Symbian OS 8.x puhelintoiminnot
Puhelinverkon hallinta ja verkkosignaalin teho
Verkon vaihtuminen ja sen informaatio
Puhelimen tunnistus verkkoon liityttäessä
Puhelinnumeroiden hallinta ja sijoittelu
SIM-kortti tai puhelimen muisti
R-UIM (CDMA2000) tai UICC(W-CDMA)
Puhelinnumeroiden synkronointi
ISV Telephony API puhelinverkon hallintaan ja puhelimen
asetusten hakuun ja muuttamiseen
puheen ja kytkentäisen verkon data siirtojen hallinta
43
Symbian OS 8.x GSM
· voice calls – initiate, terminate and answer voice calls
· circuit-switched data calls – initiate, terminate and answer data calls including
HSCSD. Pass the
control of serial port to communication protocols to stream data
· abstraction – the abstraction supports a wide variety of ETSI GSM phase 2+
functionality
· GSM phase 2+ SIM Application Toolkit, Class 3 (ETSI 11.14 R98), with the
exception of class 'a' and
class 'b'
· supplementary services supported include – Alternative Line Service (ALS),
Alternating Call Services
(between voice and data), retrieve NITZ time information, call forwarding, call
waiting, call barring,
Called/Calling Party Identity Presentation (CLIP) and Restriction (CLIR), setting
up Closed User
Group (CUG) call, User-User signalling (UUS), conference call, charging
information, message
waiting identification, network service requests (USSD).
44
Symbian OS 8.x GPRS
attachment and detachment from the GPRS network
activation and deactivation of a Packet Data Protocol (PDP)
context for data transfer
ability to activate and deactivate the PDP context automatically
with no explicit client intervention
ability to automatically suspend a GPRS data connection when
an incoming or outgoing GSM
voice call is made, and to resume a suspended GPRS data
connection on notification from the GPRS network
information and notification service to the client software of
network information such as
GPRS capabilities,
current GPRS network availability,
change in the current state of a GPRS
connection and general PDP contexts parameters.
45
Symbian OS 8.x Communication
Kommunikointitietokannan hallinta
Socket palvelut
Asiakas-palvelin sovellusten API
Verkkoprotokollien hallinta
yksikäsitteinen IP osoitteistus
Primary Packet Data Protocol
WLAN
Bluetooth
Poin to Point Protocol yhteyksien hallinta
RS232C sarjaporttituki
HTTP ja WAP pinojen hallinta
46
Symbian OS 8.x verkkojen hallinta
Transmission Control Protocol (TCP)
User Datagram protocol (UDP)
IPv4 ja IPv6 pinojen hallinta
OSI tasojen 3 ja 4 tuki
Internet Control Message Protocol (ICMP)
Point to Point Protocol
Domain Name System (DNS)
Dialup verkkotuki
Transport Layer Security (TLS)
Secure Socket Layer (SSL)
IPSec – IP tason hallinta
Telnet Protocol engine
FTP
Ethernet tuki (PCMCIA, WINS, IrLan)
47
Symbian OS 8.x HTTP ja WAP kehykset
HTTP 1.0 ja 1.1 asiakaspinon hallinta
WAP pinon hallinta
CL WSP (yhteydetön protokolla WAP
WDP datagram protokollatuki asiakas-palvelin
sovelluksille
WAP push kuuntelija
WML käyttäjäagentti
Moniverkkohallinta OSI tasolla 2
48
Symbian OS 8.x Sanomien hallinta
Short Message Service (SMS)
Enhanced Message Service (EMS)
Multimedia Messaging Service (MMS)
email
Message Type Modules (MTM)
Send as API
Bearer Independent Object Messaging (BIO)
49
Symbian OS 8.x Multimedia
50
Symbian OS 8.x Multimedia
Media Support Library (MLS)
Media Device Framework (MDF)
MIDI
Image Conversion Library (ICL)
kuvaformaattituki
JPEG, GIF, BMP, MBM, SMS, WBMP, PNG, TIFF, WMF,
ICO
Kamera tuki API
video, still ja kuvan kaappaus
Zoomaus ja salamavalotuki
OpenGL ES API
3D grafiikan käyttö
51
Symbian OS 8.x Grafiikka
Open Font System
Graphics Device Interface (GDI)
2D Hardware Abstraction Layer (HAL)
2D tuki sisältää BitBit operaatiot, graafisten
elementien käytön
Asynkroninen GDI kiihdytin
Rajapinta graafisen näytönohjaimen ja videoohjaimen välillä on asynkroninen
52
Symbian OS 8.1 Graphics
53
Symbian OS 8.x Application Engine
Agenga engine
to-do engine
Contac model sisältää geneerisen asiakaspalvelin tietokantamoottorin
Help toimintojen moottori
Leikepöytätuki eri mediatyypeille
54
Symbian OS 8.x SyncML client
Tietojen synkrointipalvelut eri
toiminnoille
SyncML 1.1.2 yhteensopivuus
yksi ja kaksisuuntainen synkronointi
synkronointi voidaan toteuttaa eri
protokollilla
HTTP, WSP, OBEX, Infra, Bluetooth, USB
55
Symbian OS 8.x Device Management
Nokia Eriksson OTA määrittely v6
Nokia Smart Messagin v2
OMA SyncML Device Management v1.1.2
56
Symbian OS 8.x GUI
an event-driven GUI and widget architecture
a windowing system for sharing screen, keyboard and pointer between
applications; clocks and animated bitmaps; a control framework for sharing an
application window between application components
a direct navigation link (DNL) system enables close task-based integration
between applications
a mechanism for the licensee to customize the look and feel (LAF) of the GUI
a plug-in mechanis m for the user to input non-standard data (e.g. for ideogram
input or voice recognition for phones that may not have a keyboard)
control factory structure allows the framework to be extended by multiple
applications
a notifier framework allowing system events and alarms to be handled more
flexibly by the GUI
a flexible screen indicator and status bar framework
runtime changeable color schemes
bitmap animation performed in the window server thread
multiple simultaneous (but non-overlapping) semi-transparent windows
flicker-free redrawing or ‘Double-Buffering’.
57
Symbian OS 8.x CPU
Symbian OS 8.x tukee seuraavia
suorittimia:
ARMv4T – ARM920T
ARMv5T – XScale, ARM1020T
ARMv5TJ – ARM926EJ, ARM1026EJ
Intel x86 (emulaattorit)
58
Symbian OS 8.x C/C++
Standard C library
relaatiotietokantatuki (API)
kahden DBMS tuki
SQL tuki (rajoitettuna)
Symbian OS C++ API
59
Symbian OS 8.x Java
60
Symbian OS 8.1 Java
61
Symbian OS 9.x (9.1-5)
Symbian OS 9. sisältää versiot 1-5.
Symbian 9.1 toiminnot
UI Framework
Internationalization support
Application services
Java J2ME 2.0
OS services
Communication services
Multimedia and Graphics services
Connectivity Services
Base servises
Kernel services
Tools
62
Symbian OS 9.2 arkkitehtuuri
63
Symbian OS 9.3 arkkitehtuuri
64
Symbian OS 9.2 ja 9.3
arkkitehtuurit
65
Symbian OS 9.5 ominaisuudet
Symbian OS 9.5
yleiskuvaus
66
Symbian Os 9.5 Toimivuusmuutokset
Symbian OS v9.5 brings some of the biggest
changes to the operating system since the
release of v9, with over 70 new features.
This new release is designed to further reinforce
Symbian OS as the leading mobile operating
system. For developers there are several features
that improve the performance of applications.
In addition, enhancements to middleware and
application engines will enable even more
exciting location-based and real-time
applications, as well as solid enterprise solutions.
67
Symbian Os 9.5 suorituskyky
Symbian OS v9.5 includes three new performance enhancing
technologies. These are:
Demand paging — commonly used in server-based operating systems,
this technology improves performance by loading only the code required
to execute specific functions, not an entire application or DLL.
It means that applications start more quickly, as will the phones
themselves. As a result phones can be built with less RAM or will enable
users to do more with current RAM footprints.
Demand paging will have the most impact on those phones employing
NAND flash in their ROM memory.
File server caching — available as an option to any third-party application,
file server caching enables data intensive applications to improve their
read write performance.
RAM defragmentation — an automatic service that runs in the background,
defragmenting free memory to maximize the pool available to applications.
As well as enabling memory to be used more efficiently, RAM
defragmentation contributes to improved battery usage by freeing up
banks of memory that can then be powered down until required.
68
Symbian Os 9.5 uudet toiminnot
Three completely new subsystems are delivered in
Symbian OS v9.5. These are:
SQL database — based on an implementation of the open
source SQLite, this new database technology provides the
scalability required for data intensive applications.
In addition, by delivering standard SQL support, the ability
to port desktop applications is enhanced.
Location-based services — with support for GPS and
mobile-originated and mobile-terminated location requests,
developers will be able to deliver richer navigation and
other location-based applications.
Bearer mobility — will allow applications to seamlessly
move from one bearer to another (for example, from 3G to
WLAN), without having to re-initiate network connections.
69
Symbian Os 9.5 muutokset
In addition to SQL database support, for developers porting
standard C applications from the desktop, Symbian OS v9.5
delivers P.I.P.S as an integral part of the operating system.
Significant improvements have been made to the PIM
applications. The contacts database has been migrated to the SQL
database to offer enhanced scalability.
In addition, new properties have been added within the agenda
model to provide enhanced compatibility with server based
applications, such as Microsoft Exchange Server and Lotus Notes.
Compatibility with Microsoft’s Exchange Server and desktop
systems has also been improved, with implementations of Mobile
ActiveSync and Media Transfer Protocol (MTP).
This will enable Symbian OS v9.5 devices to synchronize PIM data
with enterprise servers and music, pictures and video with a PC
host.
For public APIs published in the SDKs, Symbian OS v9.5 is binary
compatible with earlier v9 releases.
70
Symbian OS 9.5 muutoksia…
There are also several other improvements that will help
enhance the overall usability of Symbian OS phones. These
include:
Memory optimization in memory intensive subsystems,
such as the camera modules and messaging framework.
Battery life improvements.
Support for cryptographic hardware.
Digital TV features.
Support for High Speed Uplink packet access (HSUPA)
Support for the latest generation SD and MMC cards.
71
Symbian OS Java
72
Symbian OS ja Bluetooth
Some of the features of Bluetooth® wireless technology are:
Signals can be transmitted through walls and briefcases, thus
eliminating the need for line-of-sight.
Devices do not need to be pointed at each other, as signals are
omni-directional.
Both synchronous and asynchronous applications are supported,
making it easy to implement on a variety of devices and for a
variety of services, such as voice and Internet.
Devices have a range of about 10 metres and up to eight devices
can link to form a piconet.
Piconets communicate with each other easily and the chips can
change frequency at about 1600 hops per second.
This phenomena is known as frequency hopping, and provides
protection against interference.
Governments world wide regulate it, so it is possible to utilise the
same standard wherever one travels.
73
Symbian OS ja Bluetooth…
Symbian OS is a 32-bit multi-tasking operating system that is
specifically designed for portable, battery-powered mobile
phones.
Some of the key features that make Symbian OS ideal for
developing communications software include:
A flexible client-server based architecture and programming
systems to support compact but powerful software on wireless
information devices.
Instant access to user data using an effective multi-tasking kernel
at the lowest-level, and a very easy user interface framework at
the highest level.
Robust software design achieved through component-based
object orientation and comprehensive use of design patterns and
frameworks.
Adaptability to different device types and different underlying
communication technology.
74
Symbian OS ja sovellukset
C++ and Java software development kits.
At the heart of Symbian OS comms functionality
lie two servers, the socket server (ESOCK) and
the serial comms server (C32).
ESOCK provides clients with a BSD sockets-like
interface to server-side protocol functionality that
resides in framework libraries called protocol
modules (PRTs).
Currently, the TCPIP and the IrDA protocol suites
are implemented as protocol modules.
75
Symbian OS ja Bluetooth komponentit
In the Symbian OS Bluetooth® architecture, core stack
functionality is implemented by two components,
HCI.DLL and
the Bluetooth® protocol module (BT.PRT).
The Host Controller Interface module encapsulates the
canonical set of HCI commands and events.
Currently the serial UART flavor of HCI has been
implemented using the Ericsson Bluetooth® Development
Kit, the DigiAnswer PCMCIA cards and most recently the
Cambridge Silicon Radio Casira modules as reference
hardware.
Symbian is, however, able to support any HCI-compliant
Bluetooth® wireless technology hardware through a
modular Host Controller Transport Layer architecture.
76
Symbian Os ja Bluetooth BT.PRT
BT.PRT encapsulates the Bluetooth® L2CAP and RFComm
layers. As a Symbian OS protocol module, it provides a
sockets API to these protocols.
BT.PRT furthermore spawns distinct Bluetooth® Manager
and Service Discovery Protocol (SDP) server threads.
The Bluetooth® Manager abstracts all User Interface
interactions and access to non-volatile storage.
This allows for a future implementation of flexible access
policies to the range of services supported by a Symbian
OS phone.
The SDP server handles SDP queries and responses. Serial
port emulation is supported by the Bluetooth® comm
server module (BTCOMM.CSY) module which provides a
number of thin virtual serial ports for different legacy
services running over RFCOMM socket functionality.
77
Symbian OS Bluetooth® wireless
technology
Pre-Qualification against the v1.1
Bluetooth® wireless technology
Specification.
Symbian OS OBEX server implementation
to replace existing static library.
Bluetooth® 2.0 support through the
addition of an ad-hoc networking interface
(IP over Bluetooth® Network
Encapsulation Protocol (BNEP) over
L2CAP).
Additional profile support.
78
Symbian OS ja GPRS
GPRS (General Packet Radio Service) is an enhancement of core GSM
(Global System for Mobile Communications) networks, that allows the
rapid transfer of data bundled into 'packets', separate from voice or data
call circuits.
A 2.5G stepping stone to 3G networks and services, GPRS is a non-voice
service that acts as a supplement to existing Short Messaging Service
(SMS) and Circuit Switched Data (CSD) services.
With GPRS, data is transfered in packets and the set-up time is much
shorter. GPRS supports flexible data transmission rates by aggregating
several radio channels.
Though the theoretical maximum is 171.2 Kbps, typical throughput is up to
20 or 30 Kbps.
Offering a continuous 'always on' connection, GPRS is suited to be
charged by the amount of data transfered rather than by connect time.
GPRS services open a new door for mobile phones, offering true 'mobile
Internet' possibilities.
GPRS networks and services show today some of the possibilities of the
3G networks to come
79
Symbian OS ja GPRS
Being continuously online has several advantages:
email is delivered without having to make a connection to
collect it messages can be pushed to the user to inform
them of important events and information voice calls can be
made at the same time as the user accesses data (with a
class A phone)
Applications can be used in a shared environment, and
data sharing is made easier - effectively like being
connected to a LAN (Local Area Network).
Applications can be downloaded and installed, allowing
software updates to be received etc.
80
Symbian OS ja GPRS perustelut
Network operators are moving towards a goal where network speeds will
enable live audio and video to be transmitted over a mobile network.
This high-speed data transmission capability will enable many of the
services outlined above. However, building the infrastructure will take time
- a fact that is unacceptable to the network operators, as they want to
create the mobile community immediately.
This is where GPRS comes into play.
GPRS is not fast enough for live video, but is fast enough to create the
business demand for true third-generation (3G) network applications.
As GPRS runs over the existing GSM networks with the addition of two
network nodes, the rollout of GPRS services can be achieved quickly and
inexpensively in comparison with true 3G networks.
This paves the way for the 'always on' user experience, something which
has not been available with circuit-switched networks.
Thus users will get the feel of what later 3G networks will be delivering,
and the demand and uptake will be faster and easier for the user to handle.
In addition, GPRS uses available airwaves more efficiently than circuitswitched data (CSD) connections, as users effectively share available
resources rather than making a direct connection as per a data call.
81
Symbian OS ja
Network operation mode and phone classes
The Network Operation Mode, or NOM, is responsible for
the capabilities of a GPRS network, while the class
indicates the mobile phone capabilities.
On NOM 1 networks, mobile phones with the right
capabilities can have simultaneous circuit- and packetswitched connections.
On NOM 2 networks, mobile phones can remain attached to
the GPRS networks when in a voice call but they can't
transmit data at the same time.
On NOM 3 networks, mobile phones can either establish a
packet-switched data connection or a circuit-switched
voice one but they need to disconnect from one to
establish another.
82
Symbian OS ja
Network operation mode and phone classes…
Class A phones can make full use of NOM 1 networks: they
can use circuit-switched voice and GPRS data services at
the same time.
Class B phones can register circuit-switched voice and
packet-switched data services at the same time but may
only use one at a time.
Should the user receive a call while on the internet, they
can take the call and GPRS service will be suspended,
resuming once the voice call is ended.
Resuming GPRS service is much faster than re-establishing
a data call. Class C phones can only register for packetswitched data or for circuit-switched voice services; if the
user chooses GPRS, then they will be totally unavailable for
GSM calls and reciprocally.
83
Symbian OS ja
Network operation mode and phone classes…
End-users will initially have access to Class B mobile
phones, which are able to make and receive calls while
simultaneously being registered with GPRS services
- GPRS services will automatically be suspended and
resumed at the end of the call.
Class B phones only support one active service at a time GSM (voice, fax or data) or GPRS (data)
- though both services can be registered with the network
and the phone can switch automatically back and forth.
However, should the user roam to a network area that is
NOM III, their Class B phone will effectively be working as a
Class C phone.
84
Symbian OS ja palvelut
There are a wide variety of data services vendors that are utilising
Symbian and the Symbian Ecosystem for greater value.
AvantGo delivers mobile websites to consumers on PDAs and
smartphones. AvantGo
Enabling software for the mobile enterprise. Intrinsyc
View, edit and send Microsoft Word, Excel and PowerPoint files.
Quickoffice
On-location two-way proximity wireless data services to mobile devices.
WideRay
Data service discovery and promotion solutions for mobile operators.
Cibenix
Enabling access to the full Internet with the Opera Browser Opera
Dynamic UIs giving PC-like access to mobile data services. SurfKitchen
Automatic replication of personal data and phone settings. Cognima
85
Symbian OS ja laitehallinta
Device management
Symbian partners involved in device management
technology for Symbian OS mobile handsets.
Software solutions for customer care automation and
mobile device management. Bitfone
Smartphone and application lifecycle management tools:
create, test, deploy, support. Intuwave
Provider of Mobile Software Management and Firmware
Over-the-Air (FOTA) updating solutions. Red Bend
Embedded databases, mobile middleware, mobile and
remote device management. iAnywhere Solutions
86
Symbian OS ja
Digitaaliset oikeuksien hallinta
DRM & Mobile Commerce (mCommerce)
Symbian partners involved in DRM &
mCommerce technology for Symbian OS mobile
handsets.
OMA DRM client/server products. End-to-end
solutions. OMA v2 DRM Agents. Beep Science
DRM experts currently shipping full-featured OMA
client and server solutions. LockStream
Micro-billing, copy protection and distribution
management. Openbit
Secure transaction engine and web services for
eBusinesses. IBM website
87
Symbian OS ja
Sähköpostisovellukset
Symbian partners involved in mobile email technology for
Symbian OS mobile handsets.
Wireless Lotus Notes email, calendar, address. CommonTime
Secure wireless direct synchronisation with Microsoft Exchange
Server 2003 - no middleware server needed. DataViz Inc
Push email/PIM for businesses, operators, and device
manufacturers. Intellisync
Remote access to corporate email, databases, and enterprise
apps.
Access to Oracle Collaboration Suite. Oracle
View, edit and send Microsoft Word, Excel and PowerPoint files.
Quickoffice
Provides innovative wireless solutions for the worldwide mobile
communications market. RIM
Secure push email for individuals and all sizes of business. Visto
88
Symbian OS ja
Personal Information Management
PIM and data sync
Symbian partners involved in PIM and data sync technology for
Symbian OS mobile handsets.
Push email/PIM for businesses, operators, and device
manufacturers. Intellisync
Secure real-time push solution to mobilise enterprise and
personal messaging. Smartner Always-On Mail
Secure push email for individuals and all sizes of business. Visto
Mobile office and conference call products, End-to-end solution
contract engineering.
Wireless backup, synchronisation and management of a users
mobile addressbook. Phonesync
Premium Personal Information Management services for the
mobile phone. fusionOne
Wireless Lotus Notes email, calendar, address. CommonTime
89
Symbian OS ja
Tietoturva ja virukset
Symbian partners involved in security technology
for Symbian OS mobile handsets.
Antivirus solution with SMS updates.
F-Secure
Antivirus solution with over-the-air updates.
On-the-fly encryption to protect all information
stored on device memory and memory cards.
Pointsec
90
Symbian OS ja
Sovellusten kehitystyökalut
Symbian partners involved in development tools creation for
Symbian OS mobile handsets.
Developers can write and deploy one application for multiple
platforms.
Java and C++ tools and technology for mobile application
developers.
Create rich content and applications across mobile devices.
Macromedia
Comprehensive C++ software development tools for phone and
application creation.
CodeWarrior development tools
Embedded databases, mobile middleware, mobile and remote
device management.
iAnywhere Solutions
Smartphone and application lifecycle management tools: create,
test, deploy, support.
Intuwave
91
Mobiililaitteiden markkinat
92
Symbian OS 9.x
RAM
Symbian OS
Structure of Virtual
Machine
Home Area
Program A code
Program B code
Memory Managemen Unit
(MMU)
Page table
ProgramA_01 process data
ProgramA_02 process data
ProgramB_01 process data
ROM, Hardware, Page table
Run Area
Running process data
CPU Data Area
93
Symbian OS Kernel 9.x
Symian OS
Kernel architecture
Applications
euser.dll
User Area
Priviledged code
Nanokernel
-basic devices
-supervisor mode
-system interrupts
-predictable response time
-real-time behaviour
Kernel
Nanokernel (EKA2 only)
Kernel
extensions
Device
drivers
ASSP layer
Variant layer
Smartphone hardware
94
Symbian OS 9.x
Smartphones
One processor devices
Personality RTOS
Symbian OS kernel
using nanokernel
processor
Two processor devices
Real-Time Operating System (RTOS)
Kernel Eka 1 (Baseband processor)
Kernel Eka 2 (Application processor)
95
Symbian OS C/C++ programming
Symbian c/c++
Basic Data Types
Tint == integer
TUint == unsigned integer
Tint8, Tint16, Tint32 signed integer
TUint8, TUint16, TUint32,
Tint64, TUint64
TText8, TText16, TText == char /Unicode
TChar = char
TBool = boolean (true or false)
TReal32, TReal64, TReal = float
TAny == standard void type
96
Symbian OS C/C++ programming
Example of function
Tint sfunction(Tint ap1, TText ap2, TAny *ap3)
{
Tint vr1;
TChar dchar;
dchar =`A´;
for(Tint i =0; i < ap1; i++) {
}
dchar,LowerCase();
}
97
Symbian Os C/C++ programming
Symbian OS Classes categories (four type of classes)
Symbian C++ language uses prefixs (T,C,R,M)
T classes == Data Typ
encapsulate built-in data types
TChar
T class cannot contain data that requires destruction
C classes (Heap allocated classes derived from CBase)
compare to pointer (*p)
data members initialized to zero (0)
destructor is derived from CBase (automatic)
C classes types should never be allocated to stack!!
R classes == Resource Classes
RFile, RSocket, RProcess, RSemaphore are typical resource classes
Open(), Connect(), Close()
M classes == Interface classes
abstract class that defines an interface
protocols
98
Symbian OS C/C++ programming
Exception Error Handling and Cleanup
Error handling via Return Codes
KErrNone == success
KErrNotFound == failure
KErrNoMemory == failure
Error codes are defined in e32std.h library
Leaves and TRAP Harness
leaves == exception based error handling and recovery
exit function
trap == return called and cleanup must be called
compare c++
try
catch
throw
L suffix is used all Leave functions (MyFunctionL();
Symbian OS API User class includes Leave() functions.
Cleanup Stack
CleanupStack:: PushL(mo);
CleanupStack:: Pop(3,mo);
99
Symbian OS C/C++ programming
LC functions
Tint *pbuff = User::AllocLC(1500); // memory allocation
MyFunction1() {
CMyClass *pv1 = new (ELeave) CMyClass;
CleanupStack:: PushL(pv1);
CMyClass *pv2 = new (ELeave) CMyClass;
CleanupStack:: PushL(pv2);
Caller1L();
Caller2L();
CleanupStack:: PopAndDestroy(2,pv1);
}
Panics
User:: Panic(const TD& aCategory, Tint ar);
100
Symbian OS C/C++ programming
Header files and naming conventions
//MyLibary.h
class CLibraryClass {
public:
IMPORT_C CLibraryClass();
IMPORT _C void MyFunction1();
IMPORT_C void MyFuncttion2();
//MyLibrary.cpp
EXPORT_C
EXPORT_C
EXPORT_C
101
Symbian OS C/C++ programming
RLibary API
Polymorphic DLLs
shared DLL functions
only one EXPORT_C function
(factory function)
Static Data in DLLS (version 9)
Executable Files
102
Symbian OS C/C++ programming
Naming Conventions
Class names
prefixs = T, C, R, M
Variable names
Class member prefix ’i’
Argument prefix ’a’
Constants prefix ’K’ or _LIT
Enumerations prefix ’E’
Macros #define MAX_VALUE 25
Funtion names
suffix L leave functions
suffix LC leave functions to cleanup stack
suffix D Dialog functions
103
Symbian Operating Systems
Linkkejä
http://www.symbian.com/symbianos/index.html
http://www.symbian.com/symbianos/insight/insight13.ht
ml
http://www.symbian.com/phones/index.html
http://www.symbian.com/developer/index.html
http://developer.symbian.com/main/index.jsp
http://www.forum.nokia.com/
104