安裝arm linux編譯及調試工具 轉.doc_第1頁
安裝arm linux編譯及調試工具 轉.doc_第2頁
安裝arm linux編譯及調試工具 轉.doc_第3頁
安裝arm linux編譯及調試工具 轉.doc_第4頁
安裝arm linux編譯及調試工具 轉.doc_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

安裝arm linux編譯及調試工具 轉Ubuntu8.04下如何安裝arm-linux編譯及調試工具刪除用戶:sudo deluser用戶名最近在使用arm-linux的過程中遇到了各種各樣的問題,通過網絡找到了一些解決方法,現(xiàn)在匯總一下,希望能對遇到類似困擾的兄弟們有所幫助,這篇總結是我自己寫的,上面大部分方法都是從網上找的,沒有注明出處,望原作者見諒工具:1.host:ubuntu8.04 2.linux-kernel:2.4.18-rmk7 3.arm-linux-gcc:2.95.3 url:6.8 url:6.8 url:ftp://pub/insight/releases/insight-6.8.tar.bz2一、arm-linux-gcc編譯工具的安裝注:我的安裝路徑是/usr/local/arm,我的工作路徑是/workspace,根據自己的實際情況修改1、下載cross-2.95.3.tar.bz2到工作目錄(我的是/workspace),解壓安裝代碼:kansonkanson:/workspace$tar-jxvf cross-2.95.3.tar.bz2 kansonkanson:/workspace$sudo cp-r 2.95.3/usr/local/arm這是已經編譯好的針對arm的交叉編譯工具,解壓后直接拷貝到安裝路徑即可2、設置環(huán)境變量打開/.bashrc文件,在末尾處粘貼代碼:if-d/usr/local/arm;then PATH=/usr/local/arm/2.95.3/bin:$PATHfi重新登錄用戶,以使環(huán)境變量生效代碼:kansonkanson:/workspace$su kanson在shell下安輸入arm-linux然后多按幾下TAB,如果列出一堆arm-linux-開頭的命令表示arm-linux交叉編譯工具已經安裝好了二、arm-linux-gdb+gdbserver的編譯及安裝注:arm-linux-gdb的安裝路徑是/usr/local/arm/2.95.3 1、arm-linux-gdb的編譯安裝下載gdb-6.8.tar.bz2至工作目錄代碼:kansonkanson:/workspace$tar-jxvf gdb-6.8.tar.bz2 kansonkanson:/workspace$cd gdb-6.8 kansonkanson:/./gdb-6.8$./configure-target=arm-linux-enable-sim-prefix=/usr/local/arm/2.95.3-prefix用于指定安裝路徑代碼:kansonkanson:/./gdb-6.8$make kansonkanson:/./gdb-6.8$sudo make install完成后可以在/usr/local/arm/2.95.3/bin下找到arm-linux-gdb文件2、arm-linux-gdbserver的編譯安裝進入./gdb/gdbserver代碼:kansonkanson:/./gdb-6.8$cd gdb/gdbserver kansonkanson:/./gdbserver/$./configure-target=arm-linux-host=arm-linux-prefix用于指定安裝路徑代碼:kansonkanson:/./gdbserver/$make CC=arm-linux-gcc(CC=arm-linux-gcc用于指定arm-linux編譯器)編譯時出現(xiàn)PATH_MAX undeclared錯誤的解決方法:在hostio.c文件中增加#include linux/limits.h原因是宏PATH_MAX在limits.h中沒有定義,而是定義在linux/limits.h中編譯成功后在當前目錄下會生成gdbserver文件,拷貝至開發(fā)板上(可放入開發(fā)板/usr/bin/目錄下,這樣在任何目錄下均可執(zhí)行gdbserver命令)三、arm-linux-insight的編譯安裝注:arm-linux-insight的安裝路徑是/usr/local/arm/2.95.3/1、下載insight-6.8.tar.bz2至工作目錄代碼:kansonkanson:/workspace$tar-jxvf insight-6.8.tar.bz2 kansonkanson:/workspace$cd insight-6.8 kansonkanson:/./insight-6.8$./configure-target=arm-linux-enable-sim-prefix=/usr/local/arm/2.95.3-prefix用于指定安裝路徑代碼:kansonkanson:/./insight-6.8$make kansonkanson:/./insight-6.8$sudo make install完成后可以在/usr/local/arm/2.95.3/bin下找到arm-linux-insight文件四、arm-linux-gdb+gdbserver調試實例我使用的是nfs方式與開發(fā)板連接,host ip是,開發(fā)板ip是00在host端代碼:kansonkanson:/workspace$vi hello.c輸入如下內容代碼:#include stdio.h int main(int argc,char*argv)int i;for(i=0;i 10;i+)printf(%dn,i);return 0;代碼:kansonkanson:/workspace$arm-linux-gcc-g-o hello hello.c將hello拷至開發(fā)板(如/board目錄)在開發(fā)板端代碼:#gdbserver :2345 hello構式:gdbserver hostip:port文件名開發(fā)板端輸出代碼:等待host連接在host端代碼:kansonkanson:/workspace$arm-linux-insight hello啟動arm-linux-insight軟件如圖1所示Files-Target Settings如下圖2設置我用的是nfs方式與開發(fā)板相連,如果用的是串口,選Remote/serial點進Run圖標(就是那個小人兒圖標啦)彈出對話框Make breakpoing pending on future shared library load?選no,如果選Yes,insight就會退出并提示段錯誤,不知道是什么原因連接成功后開發(fā)板端顯示代碼:Remote debugging from host 此是在host端即可對程序進行調試了,與windows下的調試工具用法相仿五、用arm-linux-gdb+gdbserver+insight調試pthreads程序時,出現(xiàn)Program received signal SIG32,Real-time event 32的解決方法出現(xiàn)此警告的原因是開發(fā)板端/lib下的libthread_db.*(我的是libthread_db.1.0.so)文件不包含debug信息,可在host端使用file命令來查看libthread_db.1.0.so文件是否包debug信息我的開發(fā)板原來的libthread_db.1.0.so使用file命令查看顯示為:libthread_db-1.0.so:ELF 32-bit LSB shared object,ARM,version 1,for GNU/Linux 2.2.5,stripped stripped-表示不含debug信息從arm-linux交叉編譯安裝目錄里找到包含debug信息的libthread_db.*,我的在/usr/local/arm/2.95.3/arm-linux/lib下然后在arm-linux-insight的Target Settings窗口下的Command to issue after attaching下填入handle SIG32 pass noprint nostop還有一種解決方法編譯時不帶-static選項,會出現(xiàn)SIG32警告$arm-linux-gcc-g threads.c-o threads-shared-lpthread編譯時使用-static選項,則不會$arm-linux-gcc-g threads.c-o threads-static-lpthread-static這種方法我沒有試過附件:insight_1.png31.63 KiB|被瀏覽4536次insight_0.png24.28 KiB|被瀏覽4466次kevinkevin-desktop:/work/gdb-6.8$./configure-target=arm-linux-enable-sim-prefix=/usr/local/arm/2.95.3 checking build system type.i686-pc-linux-gnulibc1 checking host system type.i686-pc-linux-gnulibc1 checking target system type.arm-unknown-linux-gnu checking for aBSD-compatible install./usr/bin/install-c checking whether ln works.yes checking whether ln-s works.yes checking for gcc.gcc checking for Ccompiler default output file name.configure:error:C compiler cannot create executables Seeconfig.logfor more details.kevinkevin-desktop:/work/gdb-6.8$我的遇到錯誤,多謝幫助!321kevin寫道:kevinkevin-desktop:/work/gdb-6.8$./configure-target=arm-linux-enable-sim-prefix=/usr/local/arm/2.95.3 checking build system type.i686-pc-linux-gnulibc1 checking host system type.i686-pc-linux-gnulibc1 checking target system type.arm-unknown-linux-gnu checking for aBSD-compatible install./usr/bin/install-c checking whether ln works.yes checking whether ln-s works.yes checking for gcc.gcc checking for Ccompiler default output file name.configure:error:C compiler cannot create executables Seeconfig.logfor more details.kevinkevin-desktop:/work/gdb-6.8$我的遇到錯誤,多謝幫助!應該是你的gcc工具沒有裝全,重新安裝一下gcc試試make3:*tk3d.o錯誤1 make3:正在離開目錄/home/kevin/work/insight-6.8/tk/unixmake2:*all錯誤2 make2:正在離開目錄/home/kevin/work/insight-6.8/tkmake1:*all-tk錯誤2 make1:正在離開目錄/home/kevin/work/insight-6.8make:*all錯誤2在安裝insight-6.8的過程中有出現(xiàn)問題了,幫忙看一下是那種問題。謝謝!注冊:2007-08-25 13:11帖子:35地址:ecjtu標記,隨后研究,謝謝樓主!_專注,才能追逐目標,才能追求完美。安裝arm-linux-gdb出錯,樓主幫忙看下是什么原因。bscripts-Werror././gdb/cli/cli-cmds.c cc1:warnings being treated as errors././gdb/cli/cli-cmds.c:在函數(shù)pwd_command中:././gdb/cli/cli-cmds.c:323:錯誤:忽略聲明有warn_unused_result屬性的getcwd的返回值make2:*cli-cmds.o錯誤1 make2:正在離開目錄/home/rambo/fc/gdb-6.8/gdbmake1:*all-gdb錯誤2 make1:正在離開目錄/home/rambo/fc/gdb-6.8make:*all錯誤2注冊:2007-10-29 23:20帖子:12地址:浙江寧波cc1:warnings being treated as errors././gdb/cli/cli-cmds.c:在函數(shù)pwd_command中:././gdb/cli/cli-cmds.c:323:錯

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論