Nokia 770

Nokia Smartphones:
platforms and OSes
Martino Ruggiero
• Introduction to Nokia platforms
• Mobile Computers:
– Nokia N900
– Maemo
• Smartphones:
– Nokia N8
– Symbian
• Nokia application development:
– Qt
Nokia platforms & strategy
Nokia N900 HW specs
• Display
– The N900 has a 3.5 inch touch-sensitive widescreen
display with a 800x480 pixel resolution (105
pixels/cm, 267 ppi).
– The touchscreen is resistive (i.e. not multi-touch).
– The 16M colors TFT LCD panel is a Sony
– Content Adaptive Backlight Control:
• It allows reducing backlight or brightness levels
depending on the image being shown to save power.
• For instance, if the image contains only dark pixels, the
brightness of the backlight can be reduced. This will
naturally boost the pixel value.
N900 Processor
• The N900 is powered by a Texas Instruments OMAP 3430 ARM Cortex-A8
running at 600 MHz.
• The OMAP 3430 consists of:
• ARM Cortex A8 processor running at 600Mhz: designed in 65-nm CMOS
– Imagination Technologies PowerVR SGX530 GPU: supports OpenGL ES 1.1/2.0,
OpenVG 1.1, OpenGL 2.0/3.0, DirectX 9/10.1 and OpenCL
– TMS320C64x DSP/ISP: Digital/Image Signal Processor running at 430 Mhz.
– IVA 2+ accelerator: as described on TI web site, a second generation poweroptimized version of the imaging video and audio accelerator used in TI's
DaVinci technology. Enables multi-standard (MPEG-4, H.264, WMV) encode
and decode at DVD up to HD resolutions. IVA 2+ provides H.264-based video
at greater than CIF resolutions.
Superscalar ARM® Cortex™-A8 RISC core
Processor designed in 65-nm CMOS process technology
IVA™ 2+ (Image Video Audio) accelerator enables multi-standard (MPEG4, WMV9, RealVideo,
H263, H264) encode/decode at D1 (720x480 pixels) 30 fps, and up to 720p resolutions
Dedicated Imagination POWERVR SGX 2D/3D graphics hardware gives user interface and
gaming developers the power to create rich graphics effects with cinematic realism
Support for OpenGL ES 1.1, ES 2.0, and OpenVG
Integrated Image Signal Processor (ISP) for faster, higher-quality image capture and lower
system cost
N900 Memory &
Mass storage
• The N900 has 256 MB of RAM.
• The Nokia N900 has 32 GB eMMC and 256 MB NAND nonremovable storage.
– The 256 MB NAND is formatted using UBIFS. It contains the
bootloader, the kernel and root filesystem.
– The 32GB eMMC is split into 3 partitions:
• 768 MB of swap
• 2 GB mounted as /home (ext3).
• 25 GB of free space mounted as /home/user/MyDocs (VFAT). When the
device is put in mass storage mode, this partition is the exported partition.
• A microSDHC extension slot
– not directly accessible, i.e. it requires removing the battery cover.
N900 Power management
The N900 includes a Texas Instruments TWL4030 which acts as an all-in-one audio and power
The key features include:
– Audio
Integrated Voice and Audio Codecs
Dual Stereo up-link and down-link
Stereo and Mono support
Audio Amplifiers
Analog/Digital Mixing
Speaker drivers
Digital MICs support
– Battery Charger
Regulated supply support
USB Charging
Car Kit
Back-up battery switch
– Clocks
• 32KHz Oscillator and integrated RTC
– Transceivers
• High Speed USB2.0 On-The-Go transceiver
– Drivers
• LED drivers
• Vibrator drivers
OMAP Power Management
The PM branch is a development branch of the linux-omap kernel for the purposes of
developing and stabilizing the PM infrastructure for OMAP and submitting it upstream.
full-chip retention in idle and suspend
full-chip OFF in idle and suspend
idle PM via CPU idle
active PM via DVFS using CPU freq
support for multiple OMAP3 boards
N900 Sensors and
The N900 has built-in STMicroelectronics LIS302DL accelerometers.
The bluetooth chipset is a Broadcom BCM2048.
The wifi chipset is a Texas Instruments WL1251.
FM/RDS receiver support is provided by the Broadcom BCM2048 (which also provide the bluetooth
support for the device).
The FM transmitter support is provided by Silicon Labs Si4713 chipset.
640x480 VGA resolution, 0.3 megapixel
The GPS of the N900 is from TI. It supports:
The main camera is associated with Carl Zeiss optics, Tessar lens.
The front camera of the N900 is a ST Microelectronics VS6555.
The FM Transmitter has an internal antenna and supports frequencies from at least 76.00Mhz to
Infrared (IR)
The main camera is a Toshiba ET8EK8 (5MP).
No software is currently installed on the device to use the FM receiver but some are available as intallable
Integrated GPS, Assisted-GPS (via, and Cell-based receivers
Pre-loaded Ovi Maps application
Automatic geotagging
Ambient Light Sensor (ALS)
Proximity sensor
The N900 has a 38 keys sliding backlit keyboard.
• Maemo is a software platform that is
mostly based on open source code and
powers mobile devices
• Maemo Community is an open source
community developing software
around the Maemo platform.
• The Maemo community has over
22.000 registered members that
contribute to more than 900
community development projects in
the Maemo Garage.
Software Platform
The Maemo platform is the core
software stack that runs on mobile
devices such as the Nokia N900
The Maemo SDK provides an open
development environment for
The Maemo platform consists of the software stack from the Linux kernel to the Maemo
APIs and the Hildon UI framework.
Commercially available devices running on Maemo come with the pre-installed Hildon UI and a set of applications
delivered by Nokia. It is possible to develop other UIs on top of the Hildon UI framework.
Maemo platform is based on Linux operating system which itself inherits its architecture
from the Unix operating system.
Linux and other open source projects contributing to the Maemo platform embrace sharing of source code,
collaboration and open development model.
The Maemo community promotes these values by keeping the Maemo platform open wherever feasible, by
sharing source code, and by contributing code directly to the upstream projects.
Key Components of the Maemo Platform
The Maemo platform is based on the Linux operating system kernel.
– Linux is a monolithic kernel that supports multiple hardware platforms and is able to support a wide range
of different kinds of devices from wrist watches to large server systems.
– Currently all devices running on the Maemo platform have an OMAP chipset, which contain a generalpurpose ARM processor and a DSP unit.
The user interface architecture of Maemo 5 is based on GNOME framework, especially the
GTK+ widget set.
– GNOME is a leading application framework for desktop Linux systems.
– Maemo platform has inherited many central components such as GTK+, the GStreamer multimedia
framework, the GConf configuration management, and the XML library.
– The Maemo platform extends GTK+/GNOME technologies by providing extensions for a mobile desktop.
Evolution of Maemo
A series of Internet Tablets with touch screen have been built
until today with the Maemo platform.
– The first device was the Nokia 770 Internet Tablet that was
launched in November 2005. The Nokia 770 Internet Tablet allowed
Internet access over WLAN connection.
– The next device on the Maemo platform was the Nokia N800
Internet Tablet built on Maemo 3 release. It added Skype/VoIP-calls
over WLAN and had an integrated camera.
– Another step forward was the Nokia N810 using Maemo 4. It has
also a full QWERTY keyboard beside the touch screen, a Mozilla
technology-based Internet browser, GoogleTalk support, and GPS
– Maemo 5 was a major step in the evolution of Maemo. Maemo 5
introduced a completely redesigned finger-touch UI, cellular phone
feature, and live multitasking on the Maemo Dashboard. Maemo 5
is computer technology powering the latest Maemo device, the
Nokia N900.
Maemo  Meego
MeeGo is a Maemo evolution
Meego blends Maemo with Intel’s Moblin software to create an open platform for
multiple processor architectures.
Applications for MeeGo can be deployed on a range of mobile devices such as:
– mobile computers,
– netbooks,
– tablets
Nokia N8
N8 features a 680MHz ARM 11 processor along with a “3D Graphics HW
Accelerator with OpenGL-ES 2.0 support”, it also features 256MB of SDRAM and
512 MB of NAND memory.
AMOLED capacitive touchscreen,
Storage Memory
Bluetooth 3.0
Micro USB connector and charging
High-Speed USB 2.0 (micro USB connector)
FM Radio/Transmitter
GPS and navigation
Internal memory: 16 GB
MicroSD memory card slot, hot swappable, up to 32 GB
16M colors Size 360 x 640 pixels, 3.5 inches
Multi-touch input method
Proximity sensor for auto turn-off
Accelerometer sensor for UI auto-rotate
Integrated GPS, A-GPS receivers
Ovi Maps with free car & pedestrian navigation
Compass and accelerometer for correct orientation of display
12 megapixel camera with Carl Zeiss optics
Xenon flash
Face recognition software
Secondary camera for video calls (VGA, 640 x 480 pixels)
• Symbian OS is one of Nokia's mobile operating systems for mobile devices
and smartphones, with associated libraries, user interface, frameworks
and reference implementations of common tools, originally developed by
Symbian Ltd.
– It is a descendant of Psion's EPOC and runs exclusively on ARM processors,
although an unreleased x86 port existed.
• In 2008, the former Symbian Software Limited was acquired by Nokia and
a new independent non-profit organization called the Symbian Foundation
was established.
• Symbian OS and its associated user interfaces S60, UIQ and MOAP were
contributed by their owners to the foundation with the objective of
creating the Symbian platform as a royalty-free, open source software.
Symbian Foundation
• The platform has been designated as the successor to
Symbian OS, following the official launch of the Symbian
Foundation in April 2009.
– The Symbian platform was officially made available as open source
code in February 2010.
• Devices based on Symbian OS accounted for 46.9% of
smartphone sales in 2009, but the platform's market share
dropped to 41% as of Q2 2010.
– Some estimates indicate that the cumulative number of mobile
devices shipped with the Symbian OS up to the end of Q2 2010 is 385
Symbian design guidelines
Symbian OS was created with three systems design principles in mind:
– the integrity and security of user data is paramount,
– user time must not be wasted,
– all resources are scarce.
To best follow these principles, Symbian:
– uses a microkernel,
– has a request-and-callback approach to services,
– maintains separation between user interface and engine.
The OS is optimized for low-power battery-based devices and for ROM-based
Symbian features pre-emptive multitasking and memory protection
Applications, and the OS itself, follow an object-oriented design:
– Model-view-controller (MVC).
Symbian and the limited resources
• There is a strong emphasis on conserving resources
• All Symbian programming is event-based
– The CPU is switched into a low power mode when applications are not directly
dealing with an event
• Similarly the Symbian approach to threads and processes is driven by
reducing overheads.
• The Symbian kernel (EKA2) supports sufficiently-fast real-time response to
build a single-core phone around it
– A phone in which a single processor core executes both the user applications
and the signaling stack
– This has allowed Symbian EKA2 phones to become smaller, cheaper and more
power efficient than their predecessors
Symbian System Model
• The Symbian System Model contains the following layers,
from top to bottom:
– UI Framework Layer
– Application Services Layer
• Java ME
– OS Services Layer
generic OS services
communications services
multimedia and graphics services
connectivity services
– Base Services Layer
– Kernel Services & Hardware Interface Layer
Developing on Symbian OS
Symbian C++
Java ME
Flash Lite
Standard C/C++
• Deployment
– Applications must be Symbian Signed for Symbian OS 9.x in order to make use
of certain capabilities (system capabilities, restricted capabilities and device
manufacturer capabilities).
– Applications not using these capabilities (including only requiring user
capabilities) can instead be self-signed for free.