<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Android深度探索(卷1):安裝C/C++交叉編譯環境

          X86架構的CPU采用的是復雜指令集(Complex Instruction Set Computer,CICS),而ARM架構的CPU使用的是精簡指令集(Reduced Instruction Set Computer,RISC)。由于這兩種架構的CPU使用了不同的指令集,因此在X86架構上開發可運行在ARM架構上的程序就必須要使用交叉編譯器。 通常交叉編譯器和相關工具包含的了很多可執行文件以及大量的共享庫及頭文件等資源。這些資源的集合稱為交叉編譯環境。

                     李寧的新浪微博 http://weibo.com/androidguy 歡迎關注

     
         在Internet上可以找到集成好的交叉編譯環境,Android NDK和Android源代碼中也包含的交叉編譯環境。當然,如果我們需要一個完全獨立的交叉編譯環境,可以下載集成好的交叉編譯環境,也可以自己制作 (比較復雜,建議讀者下載集成好的交叉編譯環境)。下面介紹一個CodeSourcery交叉編譯環境,這個交叉編譯環境直接下載安裝就可以安裝。

        讀者可通過如下的網站訪問CodeSourcery下載頁面。

    http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/

        上面的頁面并未直接提供CodeSourcery的下載鏈接,讀者可以點擊“Download the GNU/Linux Release”鏈接,并輸入Email(建議使用Gmail)、地址等信息,最后點擊“Get Lite!”按鈕提交信息。如圖2-29所示。最后系統會將下載地址發送到剛才輸入的Email。

    進入下載頁面,會看到如圖2-30所示的不同版本的下載鏈接,選擇最新的版本即可。

                  圖2-30  CodeSourcery的不同版本

           進入CodeSourcery的下載頁面后,會看到如圖2-31所示的下載鏈接。目前CodeSourcery有Windows和Linux兩個版本。本書使用的是第1個(IA32 GNU/Linux Installer)。

         Linux版本的安裝文件是bin格式,讀者可執行下面的命令安裝CodeSourcery。其中package表示CodeSourcery的安裝文件名。

    sh package.bin

         執行上面的命令后,會顯示可視化的安裝界面,如圖2-32所示,讀者可按提示安裝CodeSourcery。

          為了使用方便,建議讀者將如下路徑加到PATH環境變量中。

       /root/compilers/CodeSourcery/Sourcery_CodeBench_Lite_for_ARM_GNU_Linux/bin

        下面編寫一個簡單的C程序來測試一下這個交叉編譯環境。

    //  first.c
     
    #include 
    <stdio.h>
     
    int main()
    {
        printf(
    "first arm program\n");
        
    return 0;
    }

    輸入下面的命令編譯first.c文件(需要加-static選項)。

    # arm-none-linux-gnueabi-gcc -static -o first first.c

    輸入下面的命令將first文件上傳到任意的Android設備的/data/local目錄中(沒有root權限也可以)。

    # adb push first /data/local

    使用adb shell命令進入Android設備的控制臺,并進入/data/local目錄,執行如下的命令

    # ./first

         執行上面的命令就會輸出“first arm program”信息。first程序在X86架構上運行的Ubuntu Linux中是無法運行的。讀者可以試著在Ubuntu Linux中運行first程序,看看會發生什么。


    注意:在安裝Code Sourcery的過程中會在/lib目錄尋找一個libc.so.6庫文件,但在Ubuntu Linux11.04及以上版本/lib目錄已經沒有libc.so.6庫文件了。這個庫文件被放在了其他的目錄。在32位的Ubuntu Linux中該文件的路徑是/lib/i386-linux-gnu/libc.so.6,在64位的Ubuntu Linux中該文件的路徑是/lib/x86_64-linux-gnu/libc.so.6。在安裝Code Sourcery之前可以使用ln命令為libc.so.6文件在/lib目錄建立一個鏈接。

    本文節選至《Android深度探索(卷1):HAL與驅動開發》, 接下來幾篇文章將詳細闡述如何開發ARM架構的Linux驅動,并分別利用android程序、NDK、可執行文件測試Linux驅動。可在ubuntu Linux、Android模擬器和S3C6410開發板(可以選購OK6410-A開發板,需要刷Android)






    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2013-01-28 23:28 銀河使者 閱讀(6233) 評論(0)  編輯  收藏 所屬分類: 原創linux 圖書

    主站蜘蛛池模板: 一二三四在线播放免费观看中文版视频| 亚洲高清在线观看| 男男AV纯肉无码免费播放无码| 国产精品内射视频免费| 亚洲AV无码专区亚洲AV桃| 亚洲成av人片不卡无码| 亚洲天堂久久精品| 亚洲精品无码午夜福利中文字幕| 免费人成网站在线播放| 色视频色露露永久免费观看| 国产片AV片永久免费观看| 在线成人爽a毛片免费软件| 中文字幕久无码免费久久| 黄色a级免费网站| 精品久久久久亚洲| 亚洲AV无码一区二区三区网址 | 亚洲av日韩av永久在线观看| 亚洲成a人片7777| 亚洲激情电影在线| 中文字幕亚洲色图| 精品亚洲A∨无码一区二区三区| 国产亚洲成AV人片在线观黄桃 | 黄色a级片免费看| 爱爱帝国亚洲一区二区三区| 欧美亚洲精品一区二区| 亚洲AV香蕉一区区二区三区| 亚洲国产精品成人午夜在线观看| 亚洲色偷偷偷综合网| 亚洲av无码一区二区三区四区| 亚洲日韩看片无码电影| 亚洲国产欧美日韩精品一区二区三区| 亚洲中文字幕久久精品蜜桃| a在线视频免费观看在线视频三区| 国产麻豆剧传媒精品国产免费 | 国产成人精品免费视频软件| 精品剧情v国产在免费线观看| 国产美女精品久久久久久久免费| 日韩在线天堂免费观看| 免费一级毛片正在播放| 精品亚洲一区二区三区在线观看| 亚洲精品中文字幕无码蜜桃|