2019-2020-1 20175208 20175218 20175230 實驗一 開發環境的熟悉

2019-2020-1 20175208 20175218 20175230 實驗一 開發環境的熟悉

1、實驗內容

一、交叉編譯環境-(使用本身筆記本電腦)

  1. 實驗三人一組
  2. 可使用本身的筆記本,也可使用實驗室臺式機
  3. 安裝老師提供的software目錄中的「VMware-workstation-full-10.0.1-1379776.exe」
  4. 解壓老師提供的software目錄中的「Ubuntu1204.rar」
  5. 用VMWare打開Ubuntu,用戶名:linux,口令:1
  6. 創建實驗目錄"mkdir linux_組員1學號_組員2學號_組員3學號"
  7. 在實驗目錄中編寫「hello word」程序,另外補充幾行打印全部組員的學號姓名
  8. 參考bocsd目錄中的腳本armc.sh, 分別用gcc和交叉編譯器arm-none-linux-gnuenbi-gcc編譯hello.c,用gcc編譯的可執行文件命名linuxhello:gcc hello.c -o linuxhello; 用arm-none-linux-gnuenbi-gcc編譯的命名爲armhello: /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc hello.c -o armhello
  9. 分別運行linuxhello,armhello,有什麼結果?提交截圖並用file命令分析緣由。

二、開發化境的熟悉-目標機宿主機聯通

  1. 使用實驗室機器不用安裝軟件,桌面上有相應圖標
  2. 使用本身筆記本電腦的,解壓超級終端軟件「windows7st(Windows).rar」,並在桌面上創建快捷方式(這個不用在實驗室作)
  3. 使用本身筆記本電腦的,到實驗室把「USB轉串口線」的USB口插入本身的電腦,把串口連到實驗箱的COM0
  4. 參考視頻配置超級終端,用超級終端做爲實驗箱的顯示終端
  5. 用ifconfig在超級終端中查看實驗箱IP(目標機),在Ubuntu中(宿主機)中用ifconfig在命令行查看IP
  6. 用網線鏈接實驗室臺式機(或本身筆記本電腦)和ARM實驗箱的網口NET1(最大屏旁邊的)
  7. 用ping命令保證目標機和宿主機能互相ping通,提交ping通的截圖

三、開發化境的熟悉-目標機運行程序

  1. 學習資源中第五週的「ARM實驗箱實驗指導書」的第二章,理解tftp和nfs的做用
  2. 在超級終端中用「mkdir /arm_組員1學號_組員2學號_組員3學號」 創建實驗箱中程序運行目錄「arm_組員1學號_組員2學號_組員3學號」
  3. 在超級終端中運行「mount -t nfs -o nolock 宿主機IP:/home/linux/linux_組員1學號_組員2學號 /arm_組員1學號_組員2學號__組員3學號」經過NFS把宿主機中的「linux_組員1學號_組員2學號」 映射到目標機中的「/arm_組員1學號_組員2學號_組員3學號」
  4. 超級終端中運行"cd /arm_組員1學號_組員2學號_組員3學號"
  5. 超級終端中運行"./armhello", 提交運行截圖,並深刻理解交叉編譯

2、實驗小組成員

學號 姓名
20175208 張家華
20175218 陳敬勇
20175230 滕星

3、實驗步驟

一、交叉編譯環境-(使用本身筆記本電腦)

  1. 安裝「VMware-workstation-full-10.0.1-1379776.exe」
  2. 解壓「Ubuntu1204.rar」
  3. 用VMWare打開Ubuntu,用戶名:linux,口令:1

  1. 創建實驗目錄"mkdir linux_20175208_20175218_20175230"

  1. 編寫「helloword.c」程序,打印hello word 和 全部組員的學號姓名

  1. 分別用gcc和交叉編譯器arm-none-linux-gnuenbi-gcc編譯helloword.c,用gcc編譯的可執行文件命名linuxhello:gcc helloword.c -o linuxhello; 用arm-none-linux-gnuenbi-gcc編譯的命名爲armhello: /usr/local/toolchain/toolchain4.3.2/bin/arm-none-linux-gnuenbi-gcc helloword.c -o armhello
  2. 運行linuxhello,armhello結果以下:

二、開發化境的熟悉-目標機宿主機聯通

  1. 解壓超級終端軟件「windows7st(Windows).rar」,並在桌面上創建快捷方式
  2. 到實驗室把「USB轉串口線」的USB口插入本身的電腦,把串口連到實驗箱的COM0
  3. 配置超級終端,用超級終端做爲實驗箱的顯示終端

  1. 經過ifconfig在超級終端中查看實驗箱IP(目標機),在Ubuntu中(宿主機)中經過ifconfig在命令行查看IP

  1. 用網線鏈接本身筆記本電腦和ARM實驗箱的網口NET1
  2. 用ping命令保證目標機和宿主機能互相ping通,提交ping通的截圖

三、開發化境的熟悉-目標機運行程序

  1. 在超級終端中用「mkdir /arm_20175208_20175218_20175230」 創建實驗箱中程序運行目錄「arm_20175208_20175218_20175230」
  2. 在超級終端中運行「mount -t nfs -o nolock 192.168.0.230:/home/linux/linux_20175208_20175218 /arm_20175208_20175218__20175230」經過NFS把宿主機中的「linux_20175208_20175218」 映射到目標機中的「/arm_20175208_20175218_20175230」
  3. 超級終端中運行"cd /arm_20175208_20175218_20175230"
  4. 超級終端中運行"./armhello", 運行截圖以下:

4、實驗中遇到的問題及解決方法

問題:目標機和宿主機不能互相ping通linux

解決方法:
首先查看網絡是不是橋接,若是不是則將nat改爲橋接,而後查看防火牆是否關閉,未關閉則將其關閉,再把WiFi等網絡關閉,只用本地鏈接,若是這樣還不行,能夠換一臺電腦試試。windows

5、實驗感想

經過本次實驗,咱們知道了交叉編譯環境以及瞭解了開發環境的配置,咱們知道了如何在Linux中編譯程序並將生成的可執行文件在arm超級終端上運行。
在此次實驗中,咱們經過本身的筆記本電腦打開兩個虛擬機主機,也就是提供了虛擬機運行的環境,而後把arm編譯工具共享給win7虛擬機,在win7虛擬機下用arm編譯工具編譯helloword.c文件,將生成的可執行文件在arm超級終端上運行。因爲電腦配置的緣由,在作實驗時,遇到ping不通的狀況,並且根據網上大佬的方法進行調整,仍是沒法實現,就只能換一臺電腦從新開始,耗費了咱們不少時間,最終下課的時候,第三步只作了一半,沒能完成最後步驟,在次日,借用他們向實驗室借的實驗箱繼續作,最終才把最後一步完成。網絡

6、新學到的知識點

  • 交叉編譯
  • 宿主機與目標機
  • NFS
  • 超級終端
  • file命令

7、參考資料

1.實驗指導工具

2.Arm實驗箱實驗環境學習

相關文章
相關標籤/搜索