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]
34
Embed
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
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
– 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
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é
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
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
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
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.
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
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
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?
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?
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.