安卓序言:
经过八个月的Am335x的linux的项目实战,已经基本熟悉了335x的开发思路,只是很多硬件的移植细节还不是很清楚,但是为了近期的继续培养自己的探索精神,决定利用自己的私有时间,将公司的开发平台,跑起来安卓,直到挂起来文件系统。
linux:
之前打算建立写博客的习惯,怎奈,发表四篇后,写了很多,只是一直忘了发表。以后会陆续发表自己做335x的linux和安卓过程。
废话少说,进入到安卓开发的入门,就是开发环境的建立和源码的获得。
建立开发环境过程中,走了很多的弯路,明明是要求是64位,偏偏玩的自己安装的都是32位。生活在于折腾。
am335x_mmcsd_images-ver1.0
|-- Boot_Images
| |-- boot.scr
| |-- MLO
| |-- u-boot.bin
| |-- uImage
| `-- uImage_host (replace this as uImage if you need USB host functionality)
|-- Filesystem
| `-- rootfs_am335x.tar.bz2
|-- Media_Clips
| |-- Audio
| |-- H264
| |-- Images
| `-- MPEG-4
`-- mkmmc-android.sh
1.开发源码包下载。
ubuntu:32位
2.建立PDF sourceinsight putty的串口打印的工具移植。
apt-get install okular//pdf
source insight//wine source insight.exe
putty的安装如okular一样的方式。
apt-get install putty
3.chmod 777 XXXX.bin
./xxxx.bin
raise GitError('%s: %s' % (command[1], e))
error.GitError: config: [Errno 2] No such file or directory
原因:没有装git,faint
解决:
sudo apt-get install git
sudo apt-get install git-core
4./home/android/TI-Android-ICS-4.0.3-DevKit-EVM-SK-3.0.1/prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin 在.bashrc中加入。
5.编译uboot。通过
make distclean
make am335x_evm_config
修改Makefile
ARCH :=arm
CROSS_COMPILE :=arm-eabi-gcc
6.编译内核。
首先make distclean
然后修改Makefile文件的ARCH :=arm
CROSS_COMPILE:=arm-eabi-
执行make menuconfig
选择Load an Alternate Configuration File
然后输入am335x_evm_android_defconfig
Save an Alternate Configuration File
.config
生成的工具在uboot的tools里面,把这个mkimage考到/usr/bin下就行了:
#cp mkimage /usr/bin/mkimage
至此,开发环境正式搭建。
7.制作启动用SD卡文件。
通过 USB 读卡器连接Ubuntu 系统上的微型 SD 卡 (至少 2 GB 大小)
tar -jxvf TI_Android_EVM-sk.tar.bz2
./mkmmc-android.sh /dev/sd
上面的步骤会生成有三个分区的 SD 卡。
boot -启动映像 (引导装载机、 启动脚本和内核)
rootfs-文件系统 (Android ICS 4.0.3)
data -媒体剪辑 (音频、 视频和图像)
./mkmmc-android.sh /dev/sdb ./Boot_Images/MLO ./Boot_Images/u-boot.img ./Boot_Images/uImage ./Boot_Images/uEnv.txt ./rootfs.tar.bz2
8.使用ttyUSB0
lsmod | grep usbserial
如果有usbserial,说明系统支持USB转串口
插上USB转串口,在终端输入命令#dmesg | grep ttyUSB0,
如果出现连接成功信息,则说明ubuntu系统已经识别该设备了。
make TARGET_PRODUCT=am335xevm_sk
遇到问题:
/bin/bash: bison: command not found
build/core/config.mk:268: *** Error: could not find jdk tools.jar, please install JDK6, which you can download from java.sun.com. Stop.
9.安装bison和JDK6
下载JDK
在china net上下载的
修改/etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.6.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.6.0_XX/bin/java" 1
$ sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.6.0_XX/bin/javac" 1
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac
然后执行java -version
Error occurred during initialization of VM java/lang/NoClassDefFoundError:
解决办法:看环境变量。
查看需要确认的就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式,如果发现rt.pack 和 tools.pack 那么多半问题就出在这里。
unpack200 rt.pack rt.jar
unpack200 tools.pack tools.jar
16.文件系统:
编译 Android 系统执行编译:与我处于开发调试模式的区别。
我所使用的方式是用SD卡,而也是可以通过使用打包的Android的打包来开发的。
http://www.ibm.com/developerworks/cn/opensource/os-cn-android-build/
阅读(3649) | 评论(0) | 转发(0) |