嵌入式技術(shù)實驗指導書_第1頁
嵌入式技術(shù)實驗指導書_第2頁
嵌入式技術(shù)實驗指導書_第3頁
嵌入式技術(shù)實驗指導書_第4頁
嵌入式技術(shù)實驗指導書_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

實驗五:GDB遠程調(diào)試實驗學時:2實驗類型:綜合一、實驗目的鞏固Linux下應用程序編寫的基本方法和掌握使用GDB進行遠程調(diào)試的基本方法二、實驗條件RedHatLinux9.0操作系統(tǒng)(完全安裝)、arm-linux-gcc交叉編譯器安裝包、PC機(帶網(wǎng)卡)、MagicARM270教學實驗開發(fā)平臺、arm-linu-gdb和gdbserver軟件和arm-linux-insight三、實驗原理及相關(guān)知識在目標機系統(tǒng)端運行g(shù)dbserver,在宿主機端運行arm-linux-gdb,宿主機和目標系統(tǒng)通過串口、以太網(wǎng)連接后,即可對應用程序進行調(diào)試。可以直接使用arm-linux-gdb,使用命令進行調(diào)試或者使用GDB的圖形前端進行調(diào)試。四、實驗步驟編寫一個能編譯通過,但運行有錯誤的程序,通過gdb進行遠程調(diào)試,找出程序錯誤,并糾正。本實驗直接使用gdb圖形前端insight進行調(diào)試。實驗步驟:(1)在/pxa270/nfs/prog/目錄下建立gdb-debug目錄,并在該目錄中建立denug.c文件,編寫程序。$mkdir/pxa270/mfs/prog/gdb-debug$cd/pxa270/nfs/prog/gdb-debug$vibugging.c(2)編寫Makefile(可以從已有的Makfeile上修改),并編譯程序,得到debug文件。$viMakefile$make(3)啟動MagicARM270實驗箱,進行NFS連接,并進入gdb-debug目錄,運行debug程序。[root@MagicARM270?]#mount-tnfs192.168.0.94:/pxa270/nfs/mnt—onolock[root@MagicARM270~]#cd/mnr/prog/gdb-debug[root@MagicARM270gdb-debug]#./bugging由于實驗箱中的gdbserver中有問題,可以重新編譯一下:步驟如下:首先cd/mnt/hgmt/f/Linux/gdb./configure--target=arm-linux--prefix=/usr/local/arm/gdb-vMakeMakeinstallExportPATH=$PATH:/usr/local/arm/gdbCd/gdb/gdbserverCC=arm-linux-gcc./configure--host=arm-linuxMakeCpgdbserver/pxa270/nfs(4)得不到預期結(jié)果?,F(xiàn)在使用gdb對應用程序進行調(diào)試。在MagicARM270端,啟動gdbserver。[root@MagicARM270gdb-debug]#gdbserver192.168.0.94:1000debug192.168.0.94是宿主機的IP地址,開啟了端口1000。(5)在宿主機端,在/pxa270/nfs/prog/gdb-debug/目錄下啟動arm-linux-insight軟件。$arm-linux-insightdebug啟動insight圖形界面。從Insight主界面的FileOTargetSettings進入連接設置界面。在Connection欄進行遠程連接設置:Target欄選擇GDBserver/TCP,Hostname欄填寫MagicARM270的IP地址,端口號固定為1000。從Insight主界面的ViewOConsole,啟動Insight的Console終端,在(gdb)提示符下輸入c,開始程序調(diào)試。然后即可在Insight界面通過快捷圖標進行調(diào)試如單步、設置斷點、觀察變量等操作了。(6)單步運行程序,看運行到哪兒出錯,尋找出錯原因,糾正錯誤,再次調(diào)試,直到能夠得到正確結(jié)果為止。五、思考題及其它不使用Insight界面,直接使用GDB的命令進行調(diào)試,熟悉Insight各菜單的功能實驗六:Linux內(nèi)核裁剪實驗學時:3實驗類型:綜合一、實驗目的掌握Linux內(nèi)核裁減,熟悉Linux內(nèi)核各配置項的含義二、實驗條件Linux-2.6.18內(nèi)核源碼包、Windows操作系統(tǒng)、PC機(帶網(wǎng)卡)、MagicARM270教學實驗開發(fā)平臺三、實驗原理及相關(guān)知識請查詢相關(guān)資料,了解Linux內(nèi)核裁減相關(guān)知識,將光盤提供的Linux2.6.18源碼包復制到主機上,解壓安裝后對Linux進行配置、裁減和編譯。四、實驗步驟(1)解壓內(nèi)核將光盤提供的Linux內(nèi)核源碼包linux-2.6.18-zhiyuan.tar.bz2復制至U/pxa270/linux目錄下,使用tar命令解壓到當前目錄下。$cd/pxa270/linux$tarxjvflinux-2.6.18-zhiyuan.tar.bz2(2)安裝和配置內(nèi)核進入Linux內(nèi)核源代碼安裝目錄,對內(nèi)核進行配置和裁減。首先將內(nèi)核配置為MagicARM270的默認配置。$cdlinux-2.6.18$makemagicarm270_defconfig(3)裁減內(nèi)核接著在MagicARM270默認配置的基礎上對內(nèi)核進行裁減。使用makemenuconfig命令,進入文本菜單的配置界面,根據(jù)提示進行操作。$makemenuconfig$makezImage(5)更新系統(tǒng)如果裁減正確,編譯完畢,在varch/arm/boot>目錄下會生成zImage文件。這就是編譯好的內(nèi)核,將該文件通過ZLG/BOOT下載到MagicARM270中,重新啟動系統(tǒng),查看裁減后的內(nèi)核的運行狀況。如果裁減不恰當,可能會出現(xiàn)錯誤,則需要重新進行配置。實驗六UDP通訊實驗【課時】2課時【實驗目的】掌握Linux下UDP通訊編程【實驗環(huán)境】RedHatLinux9.0操作系統(tǒng)(完全安裝)arm-linux-gcc交叉編譯器安裝包PC機(帶網(wǎng)卡)1臺MagicARM270教學實驗開發(fā)平臺1套【實驗要求和內(nèi)容】Linux操作系統(tǒng)支持TCP/IP的網(wǎng)絡體系結(jié)構(gòu),也稱InternetProtocolSuite(IPS)。應用層的數(shù)據(jù)從傳輸層一直到數(shù)據(jù)鏈路層逐級打包,最后通過物理層與計算機網(wǎng)絡通訊。在TCP/IP網(wǎng)絡體系的分層中,傳輸層有兩個協(xié)議傳輸數(shù)據(jù):TCP(傳輸控制協(xié)議)、UDP

(用戶數(shù)據(jù)報協(xié)議)。TCP協(xié)議是面向連接的一個協(xié)議,可靠性高,對系統(tǒng)資源要求較多;UDP協(xié)議是提供最少服務的傳輸層協(xié)議,不提供可靠性,可靠性由用戶程序保證,對系統(tǒng)資源要求較少。UDP主要用于短應用和控制消息,具有如下優(yōu)點:UDP不要求保持一個連接;UDP沒有因接收方認可收到數(shù)據(jù)包而帶來的開銷;UDP要求的網(wǎng)絡帶寬比TCP更小,當然,UDP也具有這樣的缺點:傳輸出錯后,如果如果應用中需重傳,必須由用戶控制;當數(shù)據(jù)包太大,需人為分包。實驗步驟:(1)在/pxa270/nfs/prog目錄下,為本實驗建立工作目錄udp。$mkdir/pxa270/nfs/prog/udp2)進入udp目錄,在內(nèi)創(chuàng)建目錄utalker,并在utalker目錄下,使用自己熟悉的編輯器(如vi)建立發(fā)話端程序文件talker.c,并編寫程序代碼。$cdudp$mkdirutalker$vitalker.c編寫Makefile文件,使該程序最終在ARM上運行。編譯,得到可執(zhí)行文件talker。$viMakefile$make在udp目錄下創(chuàng)建目錄listener,并在listener目錄下編寫偵聽端(監(jiān)聽端)程序文件listener.c,編寫Makefile文件,使該程序最終在PC上運行。編譯,得到偵聽端程序listener,并運行。$cd/pxa270/nfs/prog/udp$mkdirlistener$cdlistener$vilistener.c$make$./listenerOK:ObtainSocketDespcritorsucessfully.OK:BindthePort5000sucessfully.啟動MagicARM270,進行NFS連接,進入udp/utalker目錄,運行發(fā)話端talker,觀察主機是否收到字符串"MagicARM270UDPExperiment."。[root@MagicARM270?]#mount-tnfs192.168.0.94:/pxa270/nfs/mnt—onolock[root@MagicARM270~]#cd/mnt/prog/udp/utalker[root@MagicARM270utalker]#./talker192.168.0.94OK:Sentto192.168.0.94total27bytes!其中,192.168.0.94為運行偵聽端程序的PC的IP。實驗七TCP通訊實驗【課時】2課時【實驗目的】掌握Linux下TCP通訊編程【實驗環(huán)境】RedHatLinux9.0操作系統(tǒng)(完全安裝)arm-linux-gcc交叉編譯器安裝包PC機(帶網(wǎng)卡)1臺MagicARM270教學實驗開發(fā)平臺1套【實驗重點及難點】重點:難點:【實驗要求和內(nèi)容】實現(xiàn)實驗箱和宿主機TCP通訊。主機(服務器)向?qū)嶒炏洌蛻舳耍┌l(fā)送字符信息,客戶端將收到的字符信息打印出來,并統(tǒng)計字符個數(shù)實驗步驟:(1)(1)在/pxa270/nfs/prog/目錄下,為本實驗建立工作目錄tcp。$mkdir/pxa270/nfs/prog/tcp(2)進入tcp目錄,在內(nèi)創(chuàng)建目錄uclient,并在uclient目錄下,建立客戶端程序文件client.c,并編寫程序代碼。$cd/pxa270/nfs/prog/tcp$mkdiruclient$viclient.c(3)編寫Makefile文件,使client最終在ARM上運行。編譯,得到client文件。$viMakefile$make(4)在tcp目錄下創(chuàng)建目錄server,在server目錄下建立服務器端程序文件server.c,并編寫程序。然后便希望Makefile文件編譯,使server程序在PC上運行。編譯得到服務器端程序server,并運行。$cd/pxa270/nfs/prog/tcp$mkdirserver$cdserver$viserver.c$viMakefile$make$./serverOK:ObtainSocketDespcritorsucessfully.OK:BindthePort5000sucessfully.OK:ListeningthePort5000sucessfully.(5)啟動MagicARM270,進行NFS連接,進入tcp/uclient目錄,運行客戶端client。[root@MagicARM270~]#mount-tnfs192?168?0?94:/pxa270/nfs/mnt-onolock[root@MagicARM270~]#cd/mnt/prog/tcp/uclient[root@MagicARM270uclient]#?/client192?168?0?94OK:Haveconnectedtothe192?168?0?94其中,192.168.0.94為運行server程序的PC的IP地址。(6)在客戶端出現(xiàn)“OK:Haveconnectedtothe192.168的提示信息后,服務器端會出現(xiàn)連接成功的信息:OK:Serverha

溫馨提示

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

評論

0/150

提交評論