Hi,欢迎来到嵌入式培训高端品牌 - 华清远见教育科技集团<北京总部官网>,专注嵌入式工程师培养15年!
当前位置: > 华清远见教育科技集团 > 嵌入式学习 > 讲师博文 > AT9G45开发板Android移植过程
AT9G45开发板Android移植过程
时间:2017-01-05作者:华清远见

移植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. 网址是//at91.com/android4sam
             c)     按照网上的步骤,打补丁。
                      i.     //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 //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

发表评论
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)