Linux na mobilních zařízeních
Jozef Mlích 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]
http://www.fit.vutbr.cz/~imlich/
Tvorba aplikací pro mobilní zařízení 27. 10. 2010 TAM 2010 | 1 / 16
Agenda
Motivace
Hardware
Software
–
Uživatelské rozhraní
–
Další aplikace
–
Middleware (knihovny)
Programování / Dema
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 2 / 16
Motivace
Možnost volby – často existuje víc distribucí Otevřenost – můžeme studovat zdrojáky, když něco nefunguje podle našich představ, tak to můžeme opravit Znovupoužitelnost –
můžeme spustit desktopové aplikace
–
často stačí “jen” přizpůsobit uživatelské rozhraní
–
jsou technologie, které už známe z desktopu, nemusíme se učit úplně všechno od nuly
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 3 / 16
Hardware
Experimentální zařízení (Openmoko, Greenphone)
Mobilní telefony (N900, Aawa, PalmPre, ..)
Netbooky (Touchbook, ...)
IVI – In Vehicle Infotainment
Hometainment Televize, Topení, Klima, ...
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 4 / 16
Hardware
CPU
–
ARMv4, v5, v6, v7, ..
–
(x86)
–
+DSP, +FPU, +GPU
–
+SoC
FM příjmač/vysílač Klávesnice + další tlačítka (např. spoušť foťáku) Síť –
GSM (2G, 2.5G, 3G)
Touchscreen
–
Wifi
Akcelerometry
–
Bluetooth
Gyroskop
Audio (sluchátka vs. reprák)
GPS
Správa napájení
Kompas
IR/FIR
LED
USB režim host/device
Vibrátor
MicroSD, NAND, NOR
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 5 / 16
Hardware
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 6 / 16
Software
Cross compiling vs. Nativní překlad
virtualizační nástroje (scratchbox)
knihovny, balíčkování, distribuce aplikací
Odlehčené knihovny (busybox)
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 7 / 16
Uživatelské rozhraní
XServer vs. Framebuffer –
Fake X Server
–
Rychlost?
Onscreen keyboard Session manager (modální dialogy, zavírání okna, seznam úloh)
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 8 / 16
Software
PIM –
Personal Information Management
–
Integrace kontaktů (email, IM, facebook, volání/sms, kalendář narozeniny)
–
Kalendář
Integrace s dalšími službami –
Youtube, Flicker, Picasa, iTunes, Ovi Store, Android Market
–
Navigace, GeoCaching, mapové zdroje (google, openstreetmap, sky), Foursquare
GPS
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 9 / 16
Software Middleware
DBUS
mdbus s org.freesmartphone.ogsmd /org/freesmartphone/GSM/Device org.freesmartphone.GSM.SMS.Sen dMessage 0049987654321 "test message" [] dbussend ...
devfs
/dev/input/event3 /usr/include/linux/input.h
procfs, sysfs
echo 1 > /sys/devices/platform/gta02 led.0/leds\:gta02 aux\:red/brightness
Telepathy
FSO
libhildon
etc.
struct input_event { struct timeval time; __u16 type; __u16 code; __s32 value; }; http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 10 / 16
Maemo SDK
Cross kompilace –
Překladač (gcc, TI překladač)
–
Virtualizace (např. virtual box, qemu, vmware)
–
Balíčkování
Xephyr :2 hostcursor screen 800x480x16 dpi 96 ac kb & newgrp sbox /scratchbox/login sbconf select FREMANTLE_ARMEL # výběr překladače export DISPLAY=:2 afsbinit.sh start
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 11 / 16
Package management
Motivace: –
dostat program snadno a rychle k uživateli
–
vyřešit závislosti
–
“podepsaný” a “bezpečný” software
–
i komerční aplikace
Gentoo (portage) > OpenEmbeded (bitbake, ipk) > Openmoko (opk)
RHEL/Fedora (rpm) > Meego
Debian (deb) > Hackable:1/Maemo > OVI Store
Android (apk)
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 12 / 16
ALSA
alsamixer, alsactl, alsastate
Jaké jsou požadavky?
control.49 { comment.access 'read write' comment.type INTEGER comment.count 1 comment.range '0 – 3' iface MIXER name 'Mic1 Capture Volume' value 0 }
WM8753 Codec – Neo Freerunner http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 13 / 16
Filesystem
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
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 14 / 16
Shrnutí
Výhody a nevýhody Framebufferu/XServeru?
Co je cross compiling? Jaké jsou alternativy?
Proč balíčkujeme?
Hardwarové rozdíly (audio, síť, další periferie)?
Co je procfs, sysfs, dbus?
Kde začít s vývojem aplikaci?
Proč Linux vs. Android vs. Windows Mobile vs. Symbian?
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 15 / 16
Literatura
http://wiki.openmoko.org
Linux From Scratch http://www.linuxfromscratch.org/
Karim Yaghmour, Building Embedded Linux Systems, 1st ed. (O'Reilly Media, 2003). http://natisbad.org/N900/n900commentedhardwarespecs.html
http://www.fit.vutbr.cz/~imlich/
TAM 2010 | 16 / 16