android portable media player rc2

36
期期期期 班班 TI701 班班 班班班 期期期期 98971001 班班班 98971012 班班班 98971016 班班班 98971025 班班班 98971029 班班班

Upload: bryant6831

Post on 12-Nov-2014

770 views

Category:

Documents


8 download

TRANSCRIPT

TI701 98971001 98971012 98971016 98971025 98971029

Android Strategy Analytics 2009 5

2009 Android 900% 2009 5 Google Android Market 4,900 ( ) Android 40 Net Applications 2009 3 6 Android iPhone Microsoft Symbian Blackberry Android T-Mobile G1 7 ( ) 100

Linux Google -> Intel Moblin

Android

Google

android wireless . Audio in/ Audio out Video in/Video out

(Performance depends on the S3C2440A processor speed)

Android (Applications) (Application

Framework)

(Libraries) Android RuntimesGoogle linux kernel

Android C/C++

Java Dalvik JVM

Linux (Linux Kernal)

kernel Android linux kernel Linux kernel linux kernel

diff

.patch patch linux kernel

Driver

Android linux kernel

kernel 1. Download Linux 2.6.25 for Android

1.0 SDK, Release 1

http://android.googlecode.com/files/linux-2.6.25-an

2. Download cross compiler Sourcery

G++ Lite 2008q3-66 for ARM EABI

http://www.codesourcery.com/sgpp/lite/arm/portal/

uda1341 soundcard porting

bitfield.h include/asm-arm/plat-s3c24xx/ Linux 2.6.25 for Android 1.0 SDK uda1341

driver s3c_uda1341.c sound/oss

sound/oss Makefile Obj-$(CONFIG_S3C2410_UDA1341)+= s3c_uda1341.o sound/oss kconfig config S3C2410_UDA1341 tristate "S3C2410 UDA1341 driver (S3C2440)" depends on SOUND_PRIME && SOUND && ARCH_S3C2410 help The UDA1341 can be found in Samsung's S3C24XX platforms. If you have a board based on one of these. Say Y or M here. If unsure, say N.

Touch Screen Porting kernel include/asm/arch-s3c2410/ts.h drivers/input/touchscreen/s3c2410_ts.c

Makefile Kconfig

DM9000 Porting Copy dm9000x.c drivers/net drivers/net/Makefile arch/arm/mach-s3c2440/mach-

s3c2440.c Makefile Kconfig

gedit $HOME/.bashrc

PATH=$PATH:/CodeSourcery/arm2008q3/bin source $HOME/.bashrc kernel.git MakefileARCH ?= arm CROSS_COMPILE ?=arm-none-linuxgnueabi-

mini2440 config

$ make menuconfig

kernel image

$ make zImage

mini2440 androidSuperViViFor mini2440 Android linux kernel

NFS

Android filesystem

Android Porting NAND Flash supervivi ( )

Android Porting kernel zImage file system

NFS

Android Porting

linux_cmd_line console=ttySAC0 root=nfs nfsroot=192.168.1.100:/nfs_root ip=192.168.1.70 init=/init

Android Porting Server /etc/exports /nfs

*(rw,sync,no_root_squash) Server IP IP Subnet mask Gateway

192.168.1.100 255.255.255.0 255.255.255.255

nfsroot

filesystem exports -r nfs

Android Porting arm

Android SDK Windows Linux Mac OS X (intel)

Eclipse Java JDK Android ADT

Android SDK

android create avd --target 2 --name

adb adb shell ls cd mkdir

adb install XXX.apk adb uninstall /data/app

adb push

sdcard mksdcard XXXMB emulator avd

sdcard sdcard /sdcard adb push /sdcard

Movie H.264 H.263

Music MP3 WAV AAC

emulator - skin HVGA-L

TouchScreen

include/asm/arch-s3c2410/ts.h drivers/input/touchscreen/s3c2410_ts.c

Kernel panic - not syncing:

Attempted to kill init

EABI cross-compiler (EABI:embedded-application binary interface)

http://darwin-dev.blogspot.com/2009_06_01_archive.html

MachineID bootloader(supervivi) Machine Id 782 kernel S3C2440(Machine ID = 362 )

kernel arch/arm/tools/mach-types s3c2440 ARCH_S3C2440 S3C2440 362 s3c2440 ARCH_S3C2440 S3C2440 782

linux wav cat

Android Portable Media Player TI701