好開心啊,這是我自己寫的第一篇博文,雖然只是自己根據課設指導書做的,可是自己又不太聽話=。=自己使用雙系統、用Ubuntu 64位,然後有些東西就需要自己摸索了,這篇博文也是我自己通過會議寫出來的,算是原創了吧...不管那麼多了,感謝度娘,感謝被我玩壞了的筆記本,開始正文!
環境搭建
1.安裝Linux系統
Windows下使用VMware虛擬機來裝載Linux系統,VMware教學指導版本爲9.0系列版本,可自行安裝10.1版本或更新版本。
Linux系統一般的版本都可以,教學指導版本爲Fedora 10(貌似是10,或許是17吧),Ubuntu也可以,不過Ubuntu有些地方不如Fedora方便,尤其是Ubuntu的64位版本,本文便是基於Ubuntu13.10 64位版本爲大家講述。
本人自裝雙系統,win7與Ubuntu13.10,故直接使用Ubuntu13.10系統,不使用虛擬機,因而在環境搭建時與實驗指導不同,所以,我將自己的配置過程寫下來留作紀念,也順帶方便一下學弟學妹們。
Linux系統的安裝具體過程就不詳述了,網上有很多教程,虛擬機、雙系統任選。
2.安裝交叉編譯器
假設安裝文件都在 /home/wzg目錄下,用戶模式,非root權限。
本實踐使用已下載好的arm-linux-gcc文件,4.3.3版。
1)啓動終端,Ctrl+Alt+T;
2)定位到交叉編譯器所在文件夾,cd /home/wzg/
3)使用 ls 命令,找到交叉編譯器文件的完整文件名,我的是4.3.3.bz2.gz
4)解壓該文件,tar xzvf 4.3.3.tar.gz (文件名太長可使用Tab鍵自動補全)
5)使用 ls 命令查看文件,找到解壓後的文件夾名,我的是4.3.3文件夾
6)進入文件夾內的bin文件夾,cd 4.3.3/bin/
7)查找是否存在arm-none-linux-gnueabi-gcc(如果沒記錯就是這個名字),ls | grep arm-none-linux-gnueabi-gcc (此命令是我猜的,僅作參考,我是用ls,然後一個個看的)
8)如果“7)”步驟未找到,請到其它目錄下查找,若找到了,在當前目錄下輸入啓動命令,./arm-linux-gcc -v ,或 arm-none-linux-gnueabi-gcc -v
9)如果出現很多行文字(英文),那麼你成功了,跳過本步驟;如果失敗了,請看是什麼錯誤,若是not find,我這裏給出解決方案:
問題原因:Linux系統爲64位(貌似特指Ubuntu)對一些32位的庫文件默認不支持不安裝,而交叉編譯器是需要這些庫的,所以出現錯誤。
解決方法:sudo apt-get install lib32z1 lib32ncurses5 libbz2-1.0 (回車後需要輸入密碼)
安裝完成後再次使用“8)”步驟命令查看是否正常。
10)目前交叉編譯器還只能在其文件目錄下使用,爲了能夠在系統任何地方使用,需要配置它的環境變量。
sudo gedit /etc/profile 或 sudo gedit ~/.bashrc
在打開的編輯器中文件的最後添加一下代碼:
export PATH=$PATH:/home/wzg/4.3.3/bin
保存並關閉編輯器。
11)更新環境變量,sudo source /etc/profile 或sudo source ~/.bashrc
12)查看添加更新是否成功,echo $PATH
13)以上配置皆成功則,交叉編譯器安裝完成。
3.安裝超級終端
Ubuntu系統安裝後,貌似是不配備超級終端功能的,所以使用Ubuntu的需要自己下載安裝超級終端,我這裏使用的是minicom,開源的超級終端軟件。
1)安裝minicom,sudo apt-get install minicom
2)配置minicom
① 啓動minicom,輸入命令,sudo minicom
② 按Crtl+A,進入菜單模式(此時按’Z’可以獲得幫助)
③ 在菜單模式下,輸入’O’,進入minicom端口配置
④ 在彈出的框中上下鍵控制進入第三個選項
⑤ 設置端口爲/etc/ttyUSB0,設置波特率115200 8N1,按Enter退出
⑥ 最後兩個Software開頭的和Hardware開頭的全都設置no,按Enter退出
⑦ 上下鍵選擇Save as elf,然後選擇Exit退出
此時,超級終端配置完畢,只要連接上CVT6410並上電開啓,就可以正常使用了。
注:如果CVT6410內沒有系統或系統已損壞,則會無連接,需要重新燒寫系統進去才能正常使用。
4.配置網絡連接CVT6410,與共享文件夾
用網線將PC與CVT6410連接,通過網絡進行數據傳輸,共享文件夾,實現開發板端運行PC端編譯的文件。
1)輸入 ifconfig ,查看以太網接口名是eth0,還是eth1,一般爲eth0
2)輸入 sudo ifconfig eth0 192.168.1.12 netmask 255.255.255.0 (開發板端默認IP爲192.168.1.6,可通過minicom輸入ifconfig查看)
3)使用終端與超級終端,兩設備間互ping,看是否成功。
4)設置共享文件夾,sudo gedit /etc/exports
5)在打開的編輯器中添加:/tftpboot 192.168.1.12/255.255.255.0(rw) ,保存並關閉
6)創建tftpboot文件夾,sudo mkdir /tftpboot
7)修改權限,sudo chmod 777 /tftpboot
8)在minicom中輸入 mount 192.168.1.12:/tftpboot/ /mnt/ -o nolock
9)進入/mnt/目錄,cd /mnt/
10)可在PC端向/tftpboot 文件夾添加文件,minicom下使用 ls 命令,若正常顯示放入的文件名,則配置成功
11)若不成功,首先互ping、查看ifconfig,查看連接是否正常,該網絡連接經常會斷開,如果正常,則建議安裝nfs,sudo apt-get install nfs-kernel-server
5.編譯並於S3C6410上運行helloworld
1)使用vi或編輯器編寫C語言的HelloWorld
#include<stdio.h> Int main() { printf(“Hello World!”); }
2)編寫好保存於/home/wzg/,命名爲helloworld.c
3)編譯,arm-linux-gcc -o helloworld helloworld.c
4)複製到/tftpboot文件夾,cp helloworld /tftpboot
5)Minicom下進入mnt目錄,cd /mnt/
6)運行helloworld,./helloworld
(未完待續、唔,希望能有續=。=)