嵌入式課程-第5講(嵌入式linux開發(fā)基礎)_第1頁
嵌入式課程-第5講(嵌入式linux開發(fā)基礎)_第2頁
嵌入式課程-第5講(嵌入式linux開發(fā)基礎)_第3頁
嵌入式課程-第5講(嵌入式linux開發(fā)基礎)_第4頁
嵌入式課程-第5講(嵌入式linux開發(fā)基礎)_第5頁
已閱讀5頁,還剩79頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、通過建立共享通過建立共享目錄實現(xiàn)目錄實現(xiàn)Linux下有許多性能優(yōu)異、使用靈活高效的開下有許多性能優(yōu)異、使用靈活高效的開發(fā)工具:發(fā)工具:C編譯器編譯器GCC(ARM-GCC)項目管理工具項目管理工具GNU MAKE開發(fā)調試工具開發(fā)調試工具GDB匯編編譯器匯編編譯器AS鏈接器鏈接器LD等。等。Linux系統(tǒng)下的系統(tǒng)下的GCC是是GNU推出的完全免費,推出的完全免費,功能強大,性能優(yōu)越的多平臺編譯器功能強大,性能優(yōu)越的多平臺編譯器支持支持C/C+/FORTRAN等多種語言。等多種語言。GCC編譯后生產的代碼,其執(zhí)行效率與一般編譯后生產的代碼,其執(zhí)行效率與一般的編譯器相比平均要高的編譯器相比平均要高2

2、030。n-E:只對源程序進行預處理,默認輸出為標準輸出。只對源程序進行預處理,默認輸出為標準輸出。n例如,例如,#arm-linux-gcc -E hello.c hello.in-S:只對源程序進行預處理和編譯,自動生成匯編文只對源程序進行預處理和編譯,自動生成匯編文件。件。n-c:執(zhí)行預處理、編譯和匯編而不進行鏈接,生成以執(zhí)行預處理、編譯和匯編而不進行鏈接,生成以.o為后綴的目標文件。為后綴的目標文件。n-o output_filename:指定輸出文件名為:指定輸出文件名為:output_filenamen-LDIR:指定編譯時的搜索庫的路徑,指定編譯時的搜索庫的路徑,DIR為庫路徑為

3、庫路徑的名稱。的名稱。n-IDIR:指定頭文件目錄,指定頭文件目錄,DIR為目錄名。為目錄名。-On:對程序進行優(yōu)化編譯和鏈接,這里對程序進行優(yōu)化編譯和鏈接,這里n為優(yōu)化等為優(yōu)化等級,共有級,共有4個等級,其中個等級,其中-O0為不優(yōu)化,為不優(yōu)化,-O1/O為第為第一級優(yōu)化,且運行與一級優(yōu)化,且運行與-g共同使用。共同使用。-w:關閉所有警告信息。關閉所有警告信息。-Wall:打開所有警告信息。打開所有警告信息。-g:產生調試工具產生調試工具GDB所需要的標準符號信息。如所需要的標準符號信息。如果要對源代碼進行調試,就必須加入該選項。果要對源代碼進行調試,就必須加入該選項。-ggdb:此選項將

4、盡可能的生成此選項將盡可能的生成gdb的可以使用的調的可以使用的調試信息。試信息。qmake程序是程序是Linux下程序實現(xiàn)自動編譯的重要工具;下程序實現(xiàn)自動編譯的重要工具;qLinux下較大的項目,都會考慮把整個項目分解為多下較大的項目,都會考慮把整個項目分解為多個小文件,即采用模塊化組織結構;個小文件,即采用模塊化組織結構;q模塊化組織有利于代碼的查找和定位;模塊化組織有利于代碼的查找和定位;q在編譯過程中,模塊化組織有利于提高編譯效率;在編譯過程中,模塊化組織有利于提高編譯效率;qmake程序只編譯已修改的源文件,或者目標文件程序只編譯已修改的源文件,或者目標文件(“.o”文件)不存在的

5、源文件;文件)不存在的源文件;q最后將所有目標文件與庫進行鏈接。最后將所有目標文件與庫進行鏈接。qmake命令的一般語法規(guī)則:命令的一般語法規(guī)則:make f make文件名文件名 其他選項其他選項 目標名目標名-f指出描述依賴關系的文件,如果使用默認指出描述依賴關系的文件,如果使用默認文件名,則不需要該選項。文件名,則不需要該選項。目標名指目標名指make程序所要更新的目標名稱。程序所要更新的目標名稱??梢栽谝淮螆?zhí)行中指定多個目標名;也可可以在一次執(zhí)行中指定多個目標名;也可以不指定目標名,這時執(zhí)行以不指定目標名,這時執(zhí)行makefile中的中的第一個目標。第一個目標。APP = demoAP

6、P = demo$(APP)$(APP)q幾種常用函數(shù):幾種常用函數(shù):Addsuffix:加后綴函數(shù),將文件名序列中各文加后綴函數(shù),將文件名序列中各文件加上后綴。件加上后綴。$(addsuffix .c,foo bar)返回值為返回值為foo.c bar.c。嵌入式嵌入式Linux交叉編譯環(huán)境交叉編譯環(huán)境包括:包括:binutils:二進制文件的處理工具集,如二進制文件的處理工具集,如ld等等arm_gcc:交叉編譯器交叉編譯器glibc:C鏈接和運行庫鏈接和運行庫1.復制復制Toolchain/xscalev1_010001.tar.gz到目錄到目錄/Opt下;下;2.解壓縮:解壓縮:tar

7、 - xzvf xscalev1_010001.tar.gz 3.設置設置PATH環(huán)境變量:環(huán)境變量:=“$PATH:/Opt/xscalev1/bin” 或者在或者在etc/profile中添加:中添加:export PATH=“$PATH:/Opt/xscalev1/bin”如果編譯成功生成如果編譯成功生成boot文件。文件。boot是是bootloader鏡鏡像文件。像文件。 n文件系統(tǒng)為文件系統(tǒng)為JFFS2,需要把修改后的文件系統(tǒng),需要把修改后的文件系統(tǒng)做成做成JFFS2映像文件:映像文件:n配置配置window環(huán)境下的超級終端環(huán)境下的超級終端n打開程序打開程序-附件附件-通訊通訊-超

8、級終端超級終端n選擇使用串口選擇使用串口com1,并設置串口通訊參數(shù):,并設置串口通訊參數(shù):BaudRate:115200數(shù)據位:數(shù)據位:8奇偶校驗:無奇偶校驗:無停止位:停止位:1數(shù)據流控制:無數(shù)據流控制:無n打開開發(fā)板電源,打開開發(fā)板電源,PC端按回車進入端按回車進入bootloader的下載模式的下載模式配置網絡配置網絡IP地址參數(shù)地址參數(shù)n輸入輸入0 選擇選擇 CommandLine Moden輸入命令:輸入命令:set 可以查看當前的開發(fā)板與可以查看當前的開發(fā)板與pc機的機的IP地址地址n將開發(fā)板的將開發(fā)板的IP地址設為與地址設為與pc機相同網段的地址,機相同網段的地址,根據根據pc

9、機的實際機的實際IP地址設置其中的參數(shù)地址設置其中的參數(shù)mydestipaddr:set destipaddr 2set myipaddr 00在在pc端啟動端啟動tftp下載工具下載工具n解壓文件解壓文件Cisco TFTP Server.rar(實驗室已經安實驗室已經安裝在裝在C:Cisco TFTP Server)n運行該目錄下的程序運行該目錄下的程序TFTPServer.exe,并配置,并配置tftp服務器的根目錄服務器的根目錄n將需要燒寫的內核和文件系統(tǒng)文件拷貝到將需要燒寫的內核和文件系統(tǒng)文件拷貝到tftp服服務器的根目錄下務器的根

10、目錄下開始燒寫內核和文件系統(tǒng)開始燒寫內核和文件系統(tǒng)n回到超級終端界面回到超級終端界面(并利用網線連接并利用網線連接pc和開發(fā)板和開發(fā)板)n燒寫內核燒寫內核n輸入命令:輸入命令:tftp zIage kerneln輸入命令:輸入命令:flash kerneln燒寫文件系統(tǒng)燒寫文件系統(tǒng)n輸入命令:輸入命令:tftp rootfs.img rootn輸入命令:輸入命令:flash rootn燒寫成功,重啟開發(fā)板電源,燒寫成功,重啟開發(fā)板電源,Linux系統(tǒng)將正常系統(tǒng)將正常引導引導下載下載helloworld到開發(fā)板到開發(fā)板n開發(fā)板系統(tǒng)成功引導后,輸入開發(fā)板系統(tǒng)成功引導后,輸入root登陸到嵌入式登陸到嵌入式Linux系統(tǒng)系統(tǒng)n切換到需要下載的文件目錄:例如切換到需要下載

溫馨提示

  • 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

提交評論