+ All Categories
Home > Documents > Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02...

Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02...

Date post: 18-Oct-2019
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
34
TAM 2012 | 1 / 34 http://www.fit.vutbr.cz/~imlich/ Unix na mobilních zařízeních Jozef Mlích Tvorba aplikací pro mobilní zařízení 21. 11. 2012 Department of Computer Graphics and Multimedia Brno University of Technology, Faculty of Information Technology Božetěchova 2, 612 66 Brno, Czech Republic [email protected]
Transcript
Page 1: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 1 / 34http://www.fit.vutbr.cz/~imlich/

Unix na mobilních zařízeních

Jozef Mlích

Tvorba aplikací pro mobilní zařízení 21. 11. 2012

Department of Computer Graphics and MultimediaBrno University of Technology, Faculty of Information Technology

Božetěchova 2, 612 66 Brno, Czech [email protected]

Page 2: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 2 / 34http://www.fit.vutbr.cz/~imlich/

Obsah

Principy Boot Souborové systémy Komunikace s jádrem Meziprocesová komunikace

(DBUS) GUI (libhildon, qt) Překlad, Vzdálené ladění,

Deployment Emulace, virtualizace Profiling Balíčkování, Prodej

Konkrétní zařízení / distribuce Greenphone, Openmoko Nokia N900 Nokia N9 mer project Jolla Sailfish Tizen Blackberry Playbook, BB10 Android

Page 3: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 3 / 34http://www.fit.vutbr.cz/~imlich/

Motivace

Neučit se nové věci (bez toho to asi nepůjde) Nezačínat od nuly v asembleru Zkoumat zdrojové kódy Ohýbat řešení

– Znovupoužívat kód Vyvíjet pro desktop, spouštět na embedded systémech

(telefon, ale i smart tv, řízení klimatizace nebo auto) Tak aby to fungovalo s ostatními

– stejné API– stejné knihovny– stejné principy – Dodržování standardů

například POSIX == PortableOperating System Interface

Page 4: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 4 / 34http://www.fit.vutbr.cz/~imlich/

Because iPhone and iPad are too mainstream!

Page 5: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 5 / 34http://www.fit.vutbr.cz/~imlich/

Jak může takové mobilní zařízení vypadat?

http://wiki.staxplatform.org/

Page 6: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 6 / 34http://www.fit.vutbr.cz/~imlich/

Boot

Co je potřeba?– Procesor, paměť, disk– Obrazovka, Dotyková obrazovka, klavesnice “jsou navíc”

PC vs. Embedded system– BIOS -> primary master (volba/default) -> MBR (grub stage 1)

-> VBR (grub stage 2) -> kernel, initramfs, systemd– Bootloader (adresa natvrdo zadrátovaná do NAND/NOR),

kernel, initramfs, systemd (SYSV init, upstart) Bootstrap

– Příklad problemu: Jak přečíst ext4 partition, když driver je na ext4 partition (atd.)

Bootloader– Často napsané v asembleru, co nejjednodušší– Například u-boot (nebo blob, bootldr, redboot, able)– Co multiboot? “klávesnice” (+,-,home) vs. dotyková obrazovka

Page 7: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 7 / 34http://www.fit.vutbr.cz/~imlich/

NAND má jiné fyzikální vlastnosti než klasické disky

FAT– Běžně foťáky, usb klíče– Pozor na patenty!– Neumí symlinky a posixové

oprávnění– Velikostní limity

ext2/3/4, reiserFS, XFS– Desktopové systémy

JFFS2, YAFFS, UBIFS– Journalling Flash File

System

Souborové systémy

Page 8: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 8 / 34http://www.fit.vutbr.cz/~imlich/

Greenphone

2006/9 Vývojářské zařízení 300MHz 64MB RAM 240x320 Linux, Qtopia (mobilní Qt)

Page 9: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 9 / 34http://www.fit.vutbr.cz/~imlich/

Openmoko – GTA02 Freeruner, GTA04

2008/6 GTA02 (2012/2 GTA04)

Vývojářské zařízení 400 MHz (800 MHz) SDRAM 128MB (512MB) 480x640 Linux (10+ distribucí)

– i Android (2. zařízení celosvětově, 1. v ČR)

– Qt, Gtk, C, C++, Python, ... Opensource je i hardware Celosvětový prodej ~10 000

“telefon, který netelefonuje”

Page 10: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 10 / 34http://www.fit.vutbr.cz/~imlich/

PCB

Page 11: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 11 / 34http://www.fit.vutbr.cz/~imlich/

Blokové schéma

Page 12: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 12 / 34http://www.fit.vutbr.cz/~imlich/

Linux - user space

2006-2008 Malý výkon CPU Málo paměti Špatná podpora knihoven

– Akcelerometry, GPS (/dev/tty) – udev, “gpsd”– LED (gpio) – udev, sysfs, procfs, ..– Správa sítě (gsm, wifi, bluetooth, ir, nfc, usb) – ipconfig,

iptables, network manager, ...– Audio (bluetooth, “hlasitý odposlech”, sluchátka,

fm příjmač/vysílač) – alsa, oss, phonon– Softwarová klávesnice

Page 13: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 13 / 34http://www.fit.vutbr.cz/~imlich/

DevFs// bez přerušení

#include <linux/input.h>

int main (int argc, char** argv) { FILE *eventfp = NULL; eventfp = fopen("/dev/input/event3", "rb");

struct input_event buffer[BUFSIZE];

if (fread(buffer, sizeof (struct input_event), BUFSIZE, eventfp) != BUFSIZE) { fprintf(stderr, "fread() failed\n"); exit(1); }

for (int i = 0; i < BUFSIZE; i++) { printf("%d %d %d\n", buffer[i].type, buffer[i].code, buffer[i].value); } fclose(eventfp); return 0;}

struct input_event { struct timeval time; __u16 type; __u16 code; __s32 value;};

Page 14: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 14 / 34http://www.fit.vutbr.cz/~imlich/

SysFs, ProcFs

LEDecho 1 > /sys/devices/platform/gta02-led.0/leds\:gta02-aux\:red/brightness

cat /sys/devices/platform/i2c_omap.2/i2c-2/2-0032/leds/lp5523\:channel1/brightness

#!/bin/shecho 0 > /sys/class/gpio/exportecho out > /sys/class/gpio/gpio0/directionwhile [ true ]; do echo 1 > /sys/class/gpio/gpio0/value sleep 1 echo 0 > /sys/class/gpio/gpio0/value sleep 1doneecho 0 > /sys/class/gpio/unexport

Page 15: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 15 / 34http://www.fit.vutbr.cz/~imlich/

Advanced Linux Sound Architecture

alsamixer alsactl alsastate

WM8753 Codec – Neo Freerunner

control.49 {comment.access 'read write'comment.type INTEGERcomment.count 1comment.range '0 – 3'iface MIXERname 'Mic1 Capture Volume'value 0

}

Page 16: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 16 / 34http://www.fit.vutbr.cz/~imlich/

Maemo Linux - Nokia 770, N800, N810, N900

770 -> N900 2005/11 -> 2009/11 tablet -> telefon pro geeky 250MHz -> 600 MHz 64MB -> 256 MB DDR 800x480 Maemo Linux

– Založeno na debianu– libhildon (gtk), qt– C, C++, Python, Bash

Komunitní repozitáře (+Nokia Store)

Page 17: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 17 / 34http://www.fit.vutbr.cz/~imlich/

D-Bus

Meziprocesová komunikace– Každý proces zveřejní “API”– D-Feet (gui prohlížeč)– Například “asynchronní rozhraní pro gps”

$ dbus-send --print-reply \ --type=method_call --dest=org.freedesktop.Notifications \ /org/freedesktop/Notifications \ org.freedesktop.Notifications.SystemNoteDialog \ string:'Hello, world!' uint32:0 string:'NAO OK!' \

method return sender=:1.1 -> dest=:1.15 uint32 4

Page 18: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 18 / 34http://www.fit.vutbr.cz/~imlich/

GUI z desktopu na mobil

Vykreslování– Framebuffer– X-Server– Wayland (budoucnost?)

Knihovny– (desktop: gtk, qt, efl, fltk, motif, wxwidgets, ..)– “skin” (Dekorace, default velikost tlačítek)– libhildon – upravené gtk (všechny okna jsou přes celou

obrazovku)– qt-components – všechny gui prvky předělané

Je nutné přizpůsobit GUI– Velikost tlačítek, množství zobrazených informací– Dotykový displej (jeden dotyk == kliknutí myší)– Multitouch

Page 19: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 19 / 34http://www.fit.vutbr.cz/~imlich/

Nokia N9, Nokia N950

2011/9 Smartfon pro běžné

uživatele 1GHz, 1GB RAM, 854x480 Linux - MeeGo Harmattan

– deb– Qt, QtQuick, C++, QML– Gtk, Python, Bash, atd. lze,

ale nedostane se do Nokia Store

Nokia Store (+komunitní repozitáře)

Vývoj je srovnatelný s Symbian^3 a novějším

Page 20: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 20 / 34http://www.fit.vutbr.cz/~imlich/

Překlad

Toolchain– Překladač – arm5/arm7/x86, sizeof(int), big/little endian

export CC=/usr/local/bin/arm-linux-gnueabi-gcc– Knihovny, závislosti

export CFLAGS=-I /usr/local/arm_root/include– qmake myproject.pro -r -spec linux-g++-maemo

– autoreconf && ./configure && make

Host, Target

Page 21: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 21 / 34http://www.fit.vutbr.cz/~imlich/

Scratchbox

Umožňuje provozovat současně několik toolchainů jako “OS uvnitř OS”, snadne přepínaná mezi různými “hosts”

“apt-get install” uvnitř ovlivní jen daný toolchain Přepínání toolchainů

– emulovaný (arm+QEMU) – nativní (x86)

GUI v Xephyr (X Server v okně) chroot

$ Xephyr :2 -host-cursor -screen 854x480x16 -dpi 96 -ac +extension Composite & $ scratchbox[sbox-HARMATTAN_X86: ~] > meego-sb-session start

Page 22: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 22 / 34http://www.fit.vutbr.cz/~imlich/

Ladění aplikace na hardware

Workflow – Prepare makefile – qmake – Compile – make – Create package – dh_make, etc.– Install package to sysroot

– ssh/scp (generic device), madde– Debug – gdb, gdbserver, valgrind

ssh [email protected]

Page 23: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 23 / 34http://www.fit.vutbr.cz/~imlich/

Vzdálené ladění – Symbian

http://www.developer.nokia.com/Community/Wiki/Symbian_OS_Internals/14._Kernel-Side_Debug

Page 24: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 24 / 34http://www.fit.vutbr.cz/~imlich/

gprof Běžný smartphone vydrží s

přípojením k internetu ~ 1d Špatně napsaná aplikace

může snížit celkovou výdrž na ~ 3h

Sledujeme například – Zatížení CPU, paměti– Síťový provoz (změnou

timeoutu jabberu +1h)– Počet probuzení (C-states)– Taktovací frekvenci CPU– Přerušení (IRQ)

Profiling, Energy-profiler, powertop

Tip: používejte “heartbeat” v Qt je to třída:

QSystemAlignedTimer maximumInterval: 15 minimumInterval: 5

Page 25: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 25 / 34http://www.fit.vutbr.cz/~imlich/

Mer project, Jolla Sailfish

mer-project Snaha znovu vytvořit části

systému, které jsou v MeeGo Harmattan uzavřené

rpm

Jolla Sailfish 2012/12 Linux, podrobnosti? Navazuje na MeeGo

Harmattan, mer project, nemo mobile

#Jolla program na #Slush12 (streda, 21 Nov): UI event o 16 az 17:00 nasho casu

Page 26: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 26 / 34http://www.fit.vutbr.cz/~imlich/

2013/Q1 Tizen SDK 2.0 Sloučení s OS Bada Linux

– HTML5, EFL– Gtk, Qt není oficiálně

podporované

Tizen

Page 27: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 27 / 34http://www.fit.vutbr.cz/~imlich/

Blackberry Playbook, Blackberry 10

Blackberry Playbook 2011/4 1 GHz, 1GB RAM, 1024x600 QNX

– C, C++, Java, HTML5, Adobe AIR

– Qt

Blackberry 10 2013/1 QNX

– Realtime unix – C, C++, Java, HTML5,

Adobe AIR, Cascades SDK (Qt)

App World

Page 28: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 28 / 34http://www.fit.vutbr.cz/~imlich/

Blackberry Playbook

Blackberry Native SDK$ . ~/bbndk-2.1.0/bbndk-env.sh

$ blackberry-connect -targetHost 169.254.0.1 -devicePassword x$ ssh -i ~/.rim/bbt_id_rsa [email protected]

Balíčky *.bar Zip META-INF/MANIFEST.MF bar-descriptor.xml

– (v meego se používa *.desktop viz freedesktop.org)– Lze nastavit proměnné prostředí– název, popisek, ikona

Page 29: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 29 / 34http://www.fit.vutbr.cz/~imlich/

Android

2008/9 - ... ~ 4000+ zařízení Linux

– Ne vanilla )-;– C++ s NDK, ale ...– Dalvik, něco jen přes JNI– Bionic vs. Libc– IPC přes binder, ashmem– Qt přes Necessitas– Python for Android, etc.

Page 30: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 30 / 34http://www.fit.vutbr.cz/~imlich/

Co se jinam nevešlo

Bezpečnost– sandbox (komunikace

například přes dbus)– aegis (MeeGo Harmattan)– SELinux

Balíčkování– Deb, Rpm, Bar, Jar– Open Build Service– Personal Package Archive

DSP– http://sourceforge.net/projects/dspgateway/– http://elinux.org/images/9/9f/DSPGateway_Celf_Jamboree6.ppt

User Interface– Aplikace by měla vypadat

nativně– http://harmattan-

dev.nokia.com/docs/ux/– https://developer.blackberr

y.com/design/ UEFI

– Secure boot vs. Vendor lock-in

Page 31: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 31 / 34http://www.fit.vutbr.cz/~imlich/

Monetizace

Nokia Store– Symbian + MeeGo téměř

stejný program– Podíl na trhu:

Symbianu > WP– MeeGo : Symbian^3,A,B

1 : 9– Registrace 1 EUR– Nákup aplikace – kartou,

“kreditem na volání”– Pravidla nedovolují různé

věci (platby přes jiný systém, porngorafický obsah, apod.)

– Lze dělat aplikaci pouze pro lokální trhy

Monetizace – Blackberry– Podíl na trhu:

BB > WP– App World– Android Aplikace jsou

kompatibilní– Registrace zdarma– Platby přes PayPal účet

Page 32: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 32 / 34http://www.fit.vutbr.cz/~imlich/

Shrnutí

Co všechno je potřeba k překladu C/C++ kódu pro linuxový telefon?

Jakým způsobem lze ladit aplikaci přímo na telefonu? Jak přistupovat na hardware? Jaké jsou požadavky na filesystem na mobilním telefonu? Co lze udělat pro snížení spotřeby energie?

Page 33: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 33 / 34http://www.fit.vutbr.cz/~imlich/

Shrnutí

Co všechno je potřeba k překladu C/C++ kódu pro linuxový telefon?

– Toolchain (SDK) – Překladač, Knihovny, Chroot, IDE Jakým způsobem lze ladit aplikaci přímo na telefonu?

– scp (madde, dpkg -i), gdb+gdbserver, valgrind, printf Jak přistupovat na hardware?

– API (Qt), DevFS, SysFS, ProcFS, D-Bus Jaké jsou požadavky na filesystem na mobilním telefonu?

– Dobrá životnost NAND, bezpečnost (odcizení), bezpečnost (poškození), rychlost, jednoduchost, patenty, kompatibilita s stolním počítačem, ..

Co lze udělat pro snížení spotřeby energie?– Profiling (CPU), Energy profiling Sleep místo blokujícího čekání,

omezit používání gps, síťová komunikace “v dávkách” (bursts):se(velky blok+sleep) < se(víc malých bl., bez sleep)

Page 34: Unix na mobilních zařízeních - fit.vutbr.czimlich/data/TAM/2012-Unix-na-MT.pdfOpenmoko – GTA02 Freeruner, GTA04 2008/6 GTA02 (2012/2 GTA04) Vývojářské zařízení 400 MHz

TAM 2012 | 34 / 34http://www.fit.vutbr.cz/~imlich/

Doporučená literatura

http://elinux.org/ Karim Yaghmour: Building Embedded Linux Systems, 1st ed.,

O'Reilly Media, 2003. Zucker, Daniel, and Ray Rischpater. Beginning Nokia Apps

Development: Qt and HTML5 for Symbian and MeeGo. Apress, 2010.

Beekmans, Gerard. Linux from Scratch. Iuniverse Inc, 2000.http://www.linuxfromscratch.org/

N900 Qt SDK bug workaround https://bugreports.qt.nokia.com/browse/QTSDK-864

https://www.developer.nokia.com/Community/Wiki/Code_snippets_table_for_common_use_cases Fitzek, Frank H. P., Tommi Mikkonen, and Tony Torp. Qt for

Symbian. John Wiley and Sons, 2010. Hoque, M.A., M. Siekkinen, and J.K. Nurminen. “On the Energy

Efficiency of Proxy-based Traffic Shaping for Mobile Audio Streaming.” In 2011 IEEE Consumer Communications and Networking Conference (CCNC), 891 –895, 2011.


Recommended