移植開源軟件到嵌入式Linux系統技術攻略_第1頁
移植開源軟件到嵌入式Linux系統技術攻略_第2頁
移植開源軟件到嵌入式Linux系統技術攻略_第3頁
免費預覽已結束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、移植開源軟件到嵌入式 Linux 系統技術攻略移植開源軟件到嵌入式 Linux 系統技術攻略一、在 PC 機 Linux 上安裝適宜的交叉編譯工具鏈。這一步很簡單,一般就是將工具鏈的壓縮包解壓到某個路徑下, 就完 成了安裝。我們這里假設目標單板是 arm 處理器,運行 Linux 系統,用的工具鏈是 arm-linux-gcc-3. 4. 1, 工具鏈安裝路徑是 /opt/arm-1inux-gcc-3. 4. 1 。并且,為了使用方便,我們己經將 /opt/arm-1 inux-gcc-3. 4. 1/bin目錄添加到PATH環境變量中了。這樣就可以直接使用armTinux-gcc 、arm

2、-linux-ld等命令了。如果不這樣做的話,后面使用 /設定編譯器時,就得用 /opt/arm-1inux-gcc-3. 4. 1/bin/arm-1inux-gcc了。二、開源庫的移植由于有些開源應用程序本身又依賴于一些開源庫。因此,我們的 移植 步驟是,先移植開源庫,再移植開源應用程序。不然的話,開 源應用程 序的編譯就會成問題。因此,這里先介紹開源庫的移植。庫的移植,其實就是對工具鏈自帶的庫進行了擴充。例如,假設上述 arm 匚具鏈的 stdio. h 文件路徑為 /opt/arm-1inux-gcc-3. 4. 1/include/stdio. h那么,我們移植完開源庫之后:/opt

3、/ar 曠 linux-gcc-3. 4. 1/include/ 下面就會多出一些頭文件。/opt/arm-1 inux-gcc3. 4. 1/lib/下面就會多出一些 .a 文件 或 .so文件。當然,但凡單板上用到的 /opt/arm-1 inux-gcc-3. 4. 1/lib/ 下面 的 .s 文件,不管是工具鏈自帶的,還是我們移植的,都需要拷貝 到單板的根 文件系統的 /usr/lib/S 錄中。好了,下而說說具體移植步驟。假設我們己經獲取并解壓了開源庫的源碼包, 并且在 shell 中己 經進 入了源碼包的根目錄。接下來的工作,分三步進行。1. 配置注意,這是最關鍵的一步。在這一步

4、中,我們要指定諸如目標單 板的 操作系統、CPU工具鏈等信息。如何指定這些信息呢,不同的軟件可能會有相同。我們如果不熟 悉, 就需要仔細閱讀源碼包中附帶的諸如 READMEINSTALL等文件。這些文 件會告訴我們,如何指定這些信息。一般來講,常見的配置方法,是通過 ./configure 命令進行。當 然, 有些開源包,可能叫 ./config 或其他名字。這并不重要。這些 configure 通常都是很大的 shell 腳本,應該都是用自動化 工具 生成的。因此,我們不用費力去讀他的內容。以 opensll 為例。配置命令為:./config-pref ix=/ opt/arm-1inux

5、-gcc-3. 4. 1/linux-elf:arm linux-gcc這就指定了目標類型是 linux-elf, 工具鏈是 arm-linux-gcco安裝路徑是: /opt/arm-1 inux-gcc-3. 4. 1/o 注意,這個路徑是 交 叉工具鏈 include 目錄及 lib 目錄的父目錄。因為頭文件及編譯 后的庫 文件,需要分別安裝到 include 與 lib 目錄中。當然,在配置命令中, 我們還可以指定其他選項, 以做進一步的 定制。般來講,可以通過 ./configure-help命令查看所支持的可定 制選 項。該命令會輸出所支持的各種選項,選項的含義,以及默認是否打 開

6、等 信息。當然,對于 opens 11 來說,這里是用 ./config-help命令。如果這一步失敗, 通常是編譯系統依賴的某個工具沒找到。 這個 好辦, 安裝一下就是了。2. 編譯這就簡單了,一般來說,一個 make命令搞定3. 安裝這就簡單了,一般來說,一個 makeinstal 1 命令搞定對丁?本例來說,由丁指定了安裝路徑為: -prefix=/opt/arm- linux-gcc-3. 4. 1/因此,頭文件 例如, openssl/ssl.h 及編譯后的庫文件 如 libcrypto. alibssl. a, 會分別被安裝至 lj/opt/arm-1 inux-gcc- 3. 4

7、. 1/include -Aj/opt/arm-linux-gcc-3. 4. 1/lib目錄中。這樣一來,就相當于擴充了 /opt/arm-linux-gcc-3. 4. 1 自帶的庫。接下來 , 就可以編譯使用了 opensll 的開源應用程序了。三、開源應用程序的移植假設我們己經獲取并解壓了開源應用程序的源碼包,并且在 shell 中 己經進入了源碼包的根目錄。接下來的工作,也分三步進 行。1. 配置和開源庫的移植類似。在這一步中,我們要指定諸如目標單板的 操作 系統、CPU工具鏈等信息。如果不熟悉,同樣需要需要仔細閱讀源碼包中附帶的諸如 README> INSTALL等文件。這些

8、文件會告訴我們,如何指定這些信息。以 e2fsprogsl. 42. 5 為例。配置過程如下可能相對傳統一點mkdirrelease cdrelease/ /c on figure一-host=arm-li nu xCC=arm-li nu x-gcc當然,我們同樣可以帶上更多的參數,做更多的 ' 定制。例如,帶上參數LDFLAG二-static 從而指定靜態鏈接。如果這一步失敗,有兩個原因:編譯系統依賴的某個工具沒找到。這個好辦,安裝一下就是 了。b.開源應用程序的某個功能項所依賴的某個開源庫沒有找到。這種問題,有兩個解決方法:一是移植此開源庫,按照前面的方法;二是通過 -disable-funcname 關閉此功能項,如果確實用不到 該功 能項的話。2. 編譯這就簡單了,一般來說,一個 make命令搞定3. 安裝這一步,需要將上述編譯出的可執行文件、程序運行需要用到的 配置 文件、程序運行需要用到的所有動態庫文件無論是工具鏈自帶 的庫文 件,還是我們移植的庫文件,都拷貝到單板的根文件系統的 相應的目 錄下就行了。庫文件拷貝到 /usr/lib/ 目錄中。配置文件拷貝到 /etc/ 下面適宜的路徑中。可執行文件拷貝到/bin或/usr/bin

溫馨提示

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

評論

0/150

提交評論