北京電子科技學院(BESTI)
實 驗 報 告
課程: 資訊安全系統設計基礎 班級: 1352班
姓名: 馬悅 學号: 20135235 成績:
指導教師: 婁嘉鵬 實驗日期:2015.11.10
實驗密級: 預習程度: 實驗時間:15:30—18:00
儀器組次: 必修/選修:必修 實驗序号:一
實驗名稱: 開發環境的熟悉
實驗目的與要求:
1、熟悉linux開發環境
2、使用linux的armv4l-unknown-linux-gcc編譯
3、編譯,使用基于NFS方式的下載下傳調試
4、了解嵌入式開發的基本過程
實驗儀器:
名稱 | 型号 | 數量 |
計算機 | 1 | |
嵌入式開發平台 | UP-NETARM2410-CL |
實驗内容、步驟與體會:
一、實驗内容
本次實驗建立在掌握嵌入式開發平台使用方法和配置方法的基礎上,要求使用windows xp,linux(red hat),arm三個系統;在linux系統中安裝arm系統,然後利用arm平台完成linux系統中C語言源檔案的編譯,并在windows系統中執行生成的可執行檔案。
二、實驗步驟
- 連接配接arm開發闆
- 領取試驗箱之後,首先打開實驗箱檢查 電源線、網線、并口線、插口線 無缺失;然後卸除主機後的保護闆,使得主機背後的插口友善與試驗箱連接配接;
- 確定試驗箱的開關處于off檔位。将實驗箱的網線、并口線分别與主機上的對應位置連接配接好(将主機上之前的網線拔出)。将電源線插在插線闆上。将插口線一端插在arm闆的端口0處,另一端插在主機對應位置。
- 建立超級終端
- 運作windows XP系統下“開始”、“所有程式”、“附件”、“通訊”、“超級終端”。打開之後,程式會自動建立一個通信終端,在彈出的對話框中,将該終端直接命名為 arm(圖示選擇預設即可),其他設定無強制性要求,并點選“确定”。在之後彈出的屬性對話框中,将波特率設為 115200,資料位設為 8,無奇偶校驗,停止位為 1,資料流控制設定為“無”。
- 如圖所示:
-
資訊安全系統設計基礎實驗一 -
資訊安全系統設計基礎實驗一
- 啟動實驗平台
資訊安全系統設計基礎實驗一 - 打開超級終端,打開arm機電源開關。等待一分鐘,arm機的資訊會顯示在超級終端的視窗中。
- 繼續等待,直至出現如圖6所示界面。輸入ifconfig指令,記錄下arm機的ip為:192.168.0.121。
資訊安全系統設計基礎實驗一 - 修改windows xp系統的ip使得它與arm機的ip在同一網段
-
- 打開windows xp系統中的“控制台”——“網絡連接配接”——“本地連接配接”,輕按兩下檢視本地連接配接的狀态;點選“屬性”鍵,在“正常”頁籤中輕按兩下出現的“Internet協定(TCP/IP)”,檢視并修改本機ip(實驗中設定的ip為192.168.0.55);
- 打開vmvare虛拟機平台,在“導入已有的虛拟機”選項中導入C槽下的red hat.vmi檔案,進入linux環境。然後點選“從這裡開始”——“系統設定”——“網絡”(輕按兩下),在彈出的“網絡配置”對話框中依次點選“編輯”——“裝置”,進入“以太網服務”頁籤,在“手工設定ip”下方修改red hat 的ip(實驗中設定的ip為192.168.0.234);
- 修改完IP,重新開機一下虛拟機,IP才能啟作用。重新開機後在指令行中使用ifconfig确認 如圖:
-
資訊安全系統設計基礎實驗一
- 在red hat中安裝arm編譯器
- 回到xp系統,點選“開始”——“運作”,輸入虛拟機的 ip:\192.168.0.234,會彈出要求輸入使用者名以及password的對話框,輸入使用者名 bc,密碼 123456 然後确定即可進入與虛拟機共享的檔案夾(bc)處(Samba Server對話框);
- 把需要安裝的、包含在armv4l-tools壓縮包中的軟體安裝包解壓縮到bc檔案夾中(或者解壓縮之後拷貝至此處),這時linux虛拟機就可以對該軟體安裝包進行操作了;
- 進入虛拟機,依次輸入“cd /home/bc”(回車)和“cd armv4l-tools”(回車),就可以進入到含有install.sh的檔案夾中。(這時可以輸入ls指令檢視現有檔案目錄,确定該路徑下含有install.h檔案)然後在指令行中輸入./install.sh,安裝腳本程式将會自動建立目錄,配置編譯環境。如圖:
-
資訊安全系統設計基礎實驗一 -
資訊安全系統設計基礎實驗一
6.、配置環境變量
在虛拟機中使用“vi /root/.bashprofile”進入bashprofile檔案(該檔案為隐藏的系統檔案,可以用ls -A檢視);
将其中的 PATH 變量修改為PATH=$PATH:$HOME/bin:/opt/host/armv4l/bin/ (也就是補充一個路徑);
儲存檔案,然後後執行: source /root/.bash_profile,則以後 armv4l-unknown-linux-gcc 會自動搜尋到,可以在終端上輸入。
7、編寫并編譯hello.c檔案
在虛拟機中進入檔案夾/root/bc,在此目錄下編寫 hello.c 檔案(vi hello.c即可建立并編輯hello.c檔案,編輯結束之後輸入:wq儲存并退出);
利用指令armv4l-unknown-linux-gcc hello.c -o hello對 hello.c 進行編譯,生成 hello 可執行檔案;
可以利用ls指令檢視在bc檔案夾中是否出現了hello.c及hello可執行檔案。
8、下載下傳調試
在超級終端中将共享檔案夾挂載好,建立開發闆與虛拟機之間的通訊。輸入指令“mount -t nfs -o nolock 192.168.0.234:/home/bc /host”(注意bc後面要有空格!)
在超級終端中運作編譯通過的hello可執行檔案。
三、實驗中的疑問與解決方案
1、實驗過程的了解,實驗指導書中知識點的了解。
(1)為什麼需要交叉編譯?如何安裝交叉編譯環境?
答:<1>由于一般通用計算機擁有非常豐富的的系統資源、使用友善的內建開發環境和調試工具等,而嵌入式系統的系統資源非常緊缺,無法在其上運作相關的編譯工具,是以,嵌入式系統的開發需要借助主控端來編譯出目标機的可執行代碼。
<2>先将安裝包解壓後放到共享檔案夾中,在虛拟機中安裝交叉編譯環境并修改環境變量,在超級終端中将共享檔案挂載好即可運作可執行檔案。
(2)實驗箱、虛拟機Redhat、WinXP之間的IP需要滿足什麼關系?如何配置?為什麼?
答:實驗箱、虛拟機、WinXP的IP必須處于同一網段。用ifconfig 指令檢視實驗箱的IP為:192.168.0.121,将pc機的ip設為192.168.0.55,redhat虛拟機ip設為192.168.0.234。這樣它們之間就可以互相通信了。
(3)實驗中mount指令中每個選項什麼意思?
答:mount -t nfs -o nolock 192.168.0.234:/root/bc /host
“-t nfs”指定檔案系統類型為檔案網絡共享類型,“-o nolock ”關閉檔案鎖,“192.168.0.234:”為要挂接的裝置,“/root/bc /host”表示挂載裝置中/root/bc目錄下的檔案到本機host檔案夾中。
2、實驗過程中遇到的問題以及解決方案。
(1)編譯器安裝問題及解決方案
答:安裝arm編譯器時,在pc機中無法通路虛拟機中的檔案。考慮到實驗箱,虛拟機和pc機可能并沒有相通,于是檢視pc機ip位址,發現設定錯誤,pc機的ip位址與虛拟機并沒有處于同一網段,修改後問題得以解決,通路成功。
(2)Vim問題及解決方案
答:hello.c檔案編輯好後,檔案編譯無法通過,于是vi進入檔案,發現少了一個分号,加上分号後問題得以順利解決。編輯hello.c檔案時,無法退出,按Esc退出編輯模式,再:wq順利退出。
(3)交叉編譯問題及解決方案
答:在超級終端運作hello可執行檔案時,無法顯示結果。檢查後發現并沒有進入到hello檔案所在的目錄下,hello檔案是被挂載到host檔案夾下的,于是先輸入指令cd /host,再輸入./hello,檔案運作成功。
四、實驗體會
本次實驗是資訊安全系統設計基礎的第一次實驗,由于對實驗裝置不太了解以及對linux系統接觸不多,實驗前做了較多的準備,認真預習了實驗步驟,是以實驗進行地還是相對比較順利的,當然也遇到了一些問題,但是經過小組的分析及讨論,最終問題都得以順利解決。第一次實驗相對來說比較簡單,更多的是對裝置的熟悉以及程式設計環境的搭建,通過本次實驗我們對Linux下的程式設計有了更深的認識,為今後更深入的實驗也打下了良好的基礎!