原创 AT9G45开发板Android移植过程

2010-10-25 17:55 2043 8 8 分类: 智能手机

作者:王劲南,华清远见嵌入式学院讲师。


移植Android 2.2.1过程


环境:Ubuntu10.04及以后版本、Linux2.6.30源码包(软件)、ATMEL9G45开发板。(硬件)


工具:Gcc4.4及以后版本,Java6-JDK


库文件:flex, bison, gperf, libsdl-dev, libesd0-dev, libwxgtk2.6-dev, build-essential, zip, curl


过程简介:


先拿到适合Android平台运行的内核源码树,可以从官网下,也可以从制造商处拿到。再同步Android平台源码树。再安装Java 1.6及其它第三方的库。编译内核、编译Android平台(根文件系统)、NFS联机调试。


移植基本步骤:


1. 制做出适合于Android运行的内核


     a)     解压linux-2.6.30.tar.gz源码包
                      i. tar xf linux-2.6.30.tar.gz
             b)     在ATMEL的官网上下载针对linux-2.6.30的补丁包
                      i. 网址是http://at91.com/android4sam
             c)     按照网上的步骤,打补丁。
                      i.     http://www.at91.com/android4sam/bin/view/Android4SAM/LinuxKernel
                      ii.    
                      iii.    分别下载以上文件并解压安装补丁:
                              1.     tar xvjf linux-2.6.30.tar.bz2
                              2.     cd linux-2.6.30
                              3.     zcat 2.6.30-at91.patch.gz | patch -p1
                              4.     tar xvzf 2.6.30-at91-exp.4.tar.gz
                              5.     for p in 2.6.30-at91-exp.4/*; do patch -p1 < $p ; done
                              6.     patch -p0 < linux-2.6.30-at91-exp4-android-2.0.1_r1-ver1.diff


2. 编译打好补丁的内核。


     a)    make ARCH=arm menuconfig
             b)    make uImage ARCH=arm CROSS_COMPILE=<cross_tools>


3. 同步Android平台代码


     a)     Android平台实质上是根文件系统,通过NFS挂载,我们可以很轻松的调试我们的平台,在同步之前要保证磁盘有足够大的空间。理论是2GB,但实际上要有8GB的空间,才能保证万无一失。
             b)     同步Android是通过一个repo的脚本实现的,它会调用git这个工具去下载Android平台中的各各独立分支。
             c)    具体的同步方法如
                     i. sudo apt-get install curl
                     ii. cd ~
                     iii. mkdir ~/bin
                     iv. curl http://android.git.kernel.org/repo > ~/bin/repo
                     v. chmod a+x ~/bin/repo
                     vi. mkdir mydroid
                     vii. cd mydroid
                     viii. repo init -u git://android.git.kernel.org/platform/manifest.git -b android-2.2.1_r1
                     ix. repo sync


4. 同步好源码后需要安装一些库文件及Java6环境


     a)    sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java6-jdk sun-java6-jre zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
             b)    JAVA_HOME=<java的安装路径>
             c)    PATH=$JAVA_HOME/bin:$PATH
             d)    CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
             e)    export JAVA_HOME
             f)    export PATH
            g)    export CLASSPATH


5. 编译Android平台


    a)    进入Android平台根目录
            b)    source build/envsetup.sh
            c)    make

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条