Maemo 5 Architecture
             Overview

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA   Dec 09
Contents
       • Introduction
       • HW Architecture (Nokia N900)
       • SW Architecture (Maemo 5)
       • Developer tools architecture
       • Q&A




Discover Maemo
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             Introduction




Discover Maemo
Santa Clara, CA   Dec 09
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
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
Maemo 5 Architecture
             HW Architecture
                           Top Level view
                           Runtime view
                           “Developer” view



Discover Maemo
Santa Clara, CA   Dec 09
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
Runtime view - boot


                                                        rootfs
                                             [initrd]
                                    kernel
                                    code
                           boot
                           loader
                  boot
                  ROM
                  code

Discover Maemo
Santa Clara, CA   Dec 09
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
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
Maemo 5 Architecture
             SW Architecture
                           Target
                           Top level view, logical view, process view
                           Subsystem examples
                           Deployment view


Discover Maemo
Santa Clara, CA   Dec 09
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
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
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
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
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
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
Maemo 5 Architecture
             Developer tools architecture
                           Scratchbox




Discover Maemo
Santa Clara, CA   Dec 09
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
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
That’s all folks!
             Thank you!

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA   Dec 09

More Related Content

PDF
SG Security Switch Brochure
PDF
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
PDF
2008 EBU Training BBC Scotland Infrastructure
PPTX
Nic teaming and converged fabric
PDF
Http Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
PDF
INSIDE M2M products & references
PDF
Xensummit2009 Io Virtualization Performance
SG Security Switch Brochure
Gaweł mikołajczyk. holistic identity based networking approach – an irreducib...
2008 EBU Training BBC Scotland Infrastructure
Nic teaming and converged fabric
Http Jaoo.Com.Au Sydney 2008 File Path= Jaoo Aus2008 Slides Dave Thomas Lif...
INSIDE M2M products & references
Xensummit2009 Io Virtualization Performance

Similar to Maemo 5 Architecture by Tapio Tolvanen (20)

PDF
Varkon Semiconductor
PPTX
Future Cloud Infrastructure
PPT
Презентация команды "Обыватели"
PDF
Open Storage Sun Intel European Business Technology Tour
PDF
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
PDF
Google Android Naver 1212
PPT
59137949-Cluster-Computing (1).ppt .....
PDF
State Of The Art - Part 3 Technical Spec
PDF
Compression for DB2 for z/OS
PPTX
Cluster computing
PDF
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
PDF
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
PDF
Embracing concurrency for fun utility and simpler code
PDF
Brochure NAS LG
PDF
Multimedia software hardware
PDF
What Mobile Developers Should Know
PDF
Mozilla in Vietnam 2009
PDF
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
PDF
ODSA Use Case - SmartNIC
PDF
Introduction To SPOT
Varkon Semiconductor
Future Cloud Infrastructure
Презентация команды "Обыватели"
Open Storage Sun Intel European Business Technology Tour
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
Google Android Naver 1212
59137949-Cluster-Computing (1).ppt .....
State Of The Art - Part 3 Technical Spec
Compression for DB2 for z/OS
Cluster computing
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Embracing concurrency for fun utility and simpler code
Brochure NAS LG
Multimedia software hardware
What Mobile Developers Should Know
Mozilla in Vietnam 2009
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
ODSA Use Case - SmartNIC
Introduction To SPOT
Ad

More from Ashley Walker (9)

PDF
Native Application Development With Qt by Rahul Nimbahlkar
PDF
Maemo 5 Debugging Apps by Saravanane D
PDF
Hildon Desktop Widgets by Dimitry Pastushenko
PDF
Developer Tools, Nokia Platforms Santtu Ahonen
PDF
Maemo Now And Future Janne Heikkinen
PDF
Importance Of The Maemo Community Randall Arnold
PDF
Enabling Mobile Innovation Stuart Parmenter
PDF
Developer Offering With Maemo Software Rob Taylor
PDF
Ovi Store And Maemo Devices Gregg Sauter
Native Application Development With Qt by Rahul Nimbahlkar
Maemo 5 Debugging Apps by Saravanane D
Hildon Desktop Widgets by Dimitry Pastushenko
Developer Tools, Nokia Platforms Santtu Ahonen
Maemo Now And Future Janne Heikkinen
Importance Of The Maemo Community Randall Arnold
Enabling Mobile Innovation Stuart Parmenter
Developer Offering With Maemo Software Rob Taylor
Ovi Store And Maemo Devices Gregg Sauter
Ad

Recently uploaded (20)

PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PPTX
Internet of Everything -Basic concepts details
PDF
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
PDF
sbt 2.0: go big (Scala Days 2025 edition)
PDF
Convolutional neural network based encoder-decoder for efficient real-time ob...
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
PDF
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
PPT
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
PDF
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
PPTX
Build Your First AI Agent with UiPath.pptx
PDF
4 layer Arch & Reference Arch of IoT.pdf
PDF
Taming the Chaos: How to Turn Unstructured Data into Decisions
PPTX
Module 1 Introduction to Web Programming .pptx
PDF
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
PPTX
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION
Early detection and classification of bone marrow changes in lumbar vertebrae...
Rapid Prototyping: A lecture on prototyping techniques for interface design
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Basics of Cloud Computing - Cloud Ecosystem
giants, standing on the shoulders of - by Daniel Stenberg
Internet of Everything -Basic concepts details
Transform-Your-Factory-with-AI-Driven-Quality-Engineering.pdf
sbt 2.0: go big (Scala Days 2025 edition)
Convolutional neural network based encoder-decoder for efficient real-time ob...
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
Produktkatalog für HOBO Datenlogger, Wetterstationen, Sensoren, Software und ...
The-Future-of-Automotive-Quality-is-Here-AI-Driven-Engineering.pdf
Galois Field Theory of Risk: A Perspective, Protocol, and Mathematical Backgr...
Transform-Your-Streaming-Platform-with-AI-Driven-Quality-Engineering.pdf
Build Your First AI Agent with UiPath.pptx
4 layer Arch & Reference Arch of IoT.pdf
Taming the Chaos: How to Turn Unstructured Data into Decisions
Module 1 Introduction to Web Programming .pptx
Dell Pro Micro: Speed customer interactions, patient processing, and learning...
GROUP4NURSINGINFORMATICSREPORT-2 PRESENTATION

Maemo 5 Architecture by Tapio Tolvanen

  • 1. Maemo 5 Architecture Overview Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09
  • 2. Contents • Introduction • HW Architecture (Nokia N900) • SW Architecture (Maemo 5) • Developer tools architecture • Q&A Discover Maemo Santa Clara, CA Dec 09
  • 3. Maemo 5 Architecture Introduction Discover Maemo Santa Clara, CA Dec 09
  • 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. 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. Maemo 5 Architecture HW Architecture Top Level view Runtime view “Developer” view Discover Maemo Santa Clara, CA Dec 09
  • 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. Runtime view - boot rootfs [initrd] kernel code boot loader boot ROM code Discover Maemo Santa Clara, CA Dec 09
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. Maemo 5 Architecture Developer tools architecture Scratchbox Discover Maemo Santa Clara, CA Dec 09
  • 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. 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. That’s all folks! Thank you! Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09