Maemo 5 Architecture
             Overview

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA ...
Contents
       • Introduction
       • HW Architecture (Nokia N900)
       • SW Architecture (Maemo 5)
       • Developer...
Maemo 5 Architecture
             Introduction




Discover Maemo
Santa Clara, CA   Dec 09
Product Multimedia Computer
    Internet Optimized
                       evolution

                                     ...
Software developed with the
  community

                                         14.000 members
                         ...
Maemo 5 Architecture
             HW Architecture
                           Top Level view
                           Run...
Top level view
  Runtime view                                   Peripherals
                                         Keybo...
Runtime view - boot


                                                        rootfs
                                     ...
Runtime view – Storage
                  FLASH partitions   Size           Comments

                  Boot loaders…      ...
Developer view – Interfaces provided
     Component              Low level interface   Comments
     Accelerometer        ...
Maemo 5 Architecture
             SW Architecture
                           Target
                           Top level v...
Solid target SW architecture on Linux – first in
taking Linux desktop paradigm to mobile devices & now in its
5th generati...
Top Level Architecture
                            <<layer>> Independent applications

           People, Places, Media, I...
Rockstars in subsystem view
     Desktop                             Hildon desktop      Clutter

     Toolkits           ...
Process view

                  Run as     System processes       UI server
                                              ...
Deployment view – APIs                                             System SW APIs
                                        ...
Deployment view – Typical application
         Application
                                                          A typ...
Maemo 5 Architecture
             Developer tools architecture
                           Scratchbox




Discover Maemo
Sa...
Maemo SDK basics
    Development environment
      Uses Scratchbox
      masquerades host system and tools to look like ta...
Scratchbox architecture

                  Scratchbox sandbox
                                                     OS plat...
That’s all folks!
             Thank you!

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA  ...
Upcoming SlideShare
Loading in...5
×

Maemo 5 Architecture by Tapio Tolvanen

2,687

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,687
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
105
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Maemo 5 Architecture by Tapio Tolvanen

  1. 1. Maemo 5 Architecture Overview Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09
  2. 2. Contents • Introduction • HW Architecture (Nokia N900) • SW Architecture (Maemo 5) • Developer tools architecture • Q&A Discover Maemo Santa Clara, CA Dec 09
  3. 3. Maemo 5 Architecture Introduction Discover Maemo Santa Clara, CA Dec 09
  4. 4. Product Multimedia Computer Internet Optimized evolution Nokia N900 Nokia N810 WiMAX Edition Nokia N810 Nokia N800 Discover Maemo Nokia 770 Santa Clara, CA Dec 09
  5. 5. Software developed with the community 14.000 members 700 hosted projects 200 applications Maemo Nokia is a key contributor to Community projects such as GNOME/GTK+. Open source projects Discover Maemo Santa Clara, CA Dec 09
  6. 6. Maemo 5 Architecture HW Architecture Top Level view Runtime view “Developer” view Discover Maemo Santa Clara, CA Dec 09
  7. 7. Top level view Runtime view Peripherals Keyboard, vibra, actuators… WLAN N900 (802.11g) … OMAP 3430 Bluetooth Proximity (v2.1) Cortex A8 (ARM) Modem SPI I2C ALS (HSPA) SSI PowerVR DSP SGX USB Accelero- (HS 2.0) SDRAM ctrl, DMA, … meter McBSP, UART LCD Camera Camera Touch MMC/SD (800x480) (5 Mpx) (VGA) Discover Maemo Santa Clara, CA Dec 09
  8. 8. Runtime view - boot rootfs [initrd] kernel code boot loader boot ROM code Discover Maemo Santa Clara, CA Dec 09
  9. 9. Runtime view – Storage FLASH partitions Size Comments Boot loaders… ~ 600 kB Kernel 2048 kB Initfs 2048 kB Not used Rootfs 257280 kB UBIFS, “/” eMMC partitions Size (32GB) Comments /home/user/MyDocs ~ 28 GB FAT32 /home 2 GB ext3, /home/opt /swap 768 MB swap Discover Maemo Santa Clara, CA Dec 09
  10. 10. Developer view – Interfaces provided Component Low level interface Comments Accelerometer sysfs HAL, MCE Ambient light sensor sysfs HAL Bluetooth BTH, ALSA Bluez Camera(s) V4L2 gstcamerabin DSP DSP Bridge/OpenMAX gst elements FM TX ALSA Graphics accelerator driver, EGL OpenGLES2.0, clutter LCD framebuffer toolkits LEDs sysfs MCE, HAL MMC/SD Block device ext3, vfat Peripherals sysfs, input layer MCE, HAL TV-out Xrandr USB driver LINUX HS USB OTG WLAN Discover Maemo driver 802.11g Santa Clara, CA Dec 09
  11. 11. Maemo 5 Architecture SW Architecture Target Top level view, logical view, process view Subsystem examples Deployment view Discover Maemo Santa Clara, CA Dec 09
  12. 12. Solid target SW architecture on Linux – first in taking Linux desktop paradigm to mobile devices & now in its 5th generation Objective: Solid, high performance software architecture for Linux-based multimedia computer – modular, secure, open, and expandable. Design characteristics: Allow collaborative development of operating system components in open source projects and differentiation by Nokia in user experiences. Discover Maemo Santa Clara, CA Dec 09
  13. 13. Top Level Architecture <<layer>> Independent applications People, Places, Media, Internet Maemo services Maemo platform interface Middleware interface <<layer>> Middleware AF, Content, Context, System, Multimedia, Communications, Runtimes Base interface <<layer>> base Essentials; Kernel; Multimedia, Graphics, Communications & System Discover Maemo adaptation Santa Clara, CA Dec 09
  14. 14. Rockstars in subsystem view Desktop Hildon desktop Clutter Toolkits Qt GTK+, GDK SDL Data mgmt SQLite Debian pkg mgmt Tracker Communic. Telepathy GUPnP BlueZ Multimedia PulseAudio GStreamer MAFW linuxwireless.org OpenGL ES V4L2 OHM upstart Core BusyBox Gconf D-Bus System Xorg HAL GLib Discover Maemo Linux Kernel Santa Clara, CA Dec 09
  15. 15. Process view Run as System processes UI server processes user dsme hildon-desktop nobody bme hildon-input-method haldaemon mce sapwood server messagebus dbus-daemon hildon-home root maemo-launcher Discover Maemo Santa Clara, CA Dec 09
  16. 16. Deployment view – APIs System SW APIs * libhal RTCOM APIs * libhal-storage Toolkit APIs Multimedia APIs * telepathy-glib * libalarm * Gio * gstreamer * farsight2-libs * mce-dev * Glib * gstreamer-libs * libprofile * Gobject * gstreamer-plugins-0.10 * farsight2-plugins * GTK+ * pulseaudio * telepathy-farsight * ATK * gupnp * libnice * GDK * gupnp-av * libaccounts Connectivity APIs * GDK-pixbuf * libcanberra * libosso-abook * libconic * dbus * libmafw * libebook * libgwobex * dbus-glib * libspeex * libedataserver * bluez * gconf * mafw-shared * osso-wlan * pango * libsoup * icd2 * cairo Hildon APIs * clutter * libhildon Application Interface APIs * libhildondesktop * calendar-backend * libhildonfm * libcityinfo * libosso * libtime * libnotify * liblocation * libtracker-common Discover Maemo * libsharing-plugin * libtracker-module Santa Clara, CA Dec 09
  17. 17. Deployment view – Typical application Application A typical UI application Hildon GTK+ Gnome VFS GStreamer libosso GConf2 Pango ATK Cairo D-Bus GObject GLib Discover Maemo Santa Clara, CA Dec 09
  18. 18. Maemo 5 Architecture Developer tools architecture Scratchbox Discover Maemo Santa Clara, CA Dec 09
  19. 19. Maemo SDK basics Development environment Uses Scratchbox masquerades host system and tools to look like target fixes tools rather than packages for cross compilation similar development process to normal desktop Why Scratchbox? a lot of reuse of existing components in OSS projects these components are not designed to be cross compiled speed of development Simple to use apt-get source <any standard Maemo distribution package> dpkg-buildpackage Flexible execution X86, ARMEL, qemu Supported programming languages C, C++ and Python (C officially) The actual Maemo SDK is Discover Maemo Set of preconfigured Scratchbox targets and root file systems Santa Clara, CA 26 Dec 09
  20. 20. Scratchbox architecture Scratchbox sandbox OS platform: “scratchbox” software for target devkits toolchains rootstrap CPU transparencies host tools PC Host sbrsh/nfs Target device Discover Maemo Santa Clara, CA Dec 09
  21. 21. That’s all folks! Thank you! Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×