Maemo 5 Architecture by Tapio Tolvanen


Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
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 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