AT9G45開發板Android移植過程

來源:互聯網
上載者:User

作者:王勁南,華清遠見嵌入式學院講師。

移植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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.