標題: 裸機開發(fā)環(huán)境及l(fā)inux操作系統(tǒng)下開發(fā)環(huán)境搭建 及Linux常用命令及vi, gdb的使用 [打印本頁]
作者: zgg 時間: 2018-6-25 09:51
標題: 裸機開發(fā)環(huán)境及l(fā)inux操作系統(tǒng)下開發(fā)環(huán)境搭建 及Linux常用命令及vi, gdb的使用
裸機開發(fā)環(huán)境及l(fā)inux操作系統(tǒng)下開發(fā)環(huán)境搭建
及Linux常用命令及vi, gdb的使用
實驗目的:
(1)掌握嵌入式開發(fā)環(huán)境搭建的基本流程
(2)掌握linux系統(tǒng)安裝過程,熟悉基本的Linux指令操作
(3)理解交叉編譯的意義
實驗原理:
嵌入式軟件開發(fā)不同于PC機的軟件開發(fā),由于不同硬件平臺的指令系統(tǒng)不同,要想在個人計算機上編寫嵌入式軟件和程序就需要使用對應的嵌入式平臺的開發(fā)環(huán)境,比如大家學過的51單片機,用的KEIL(keil-C51)軟件就是針對51內(nèi)核平臺下的集成開發(fā)環(huán)境,keil-C51軟件中集成了代碼編寫、交叉編譯、鏈接、程序燒寫、仿真等最主要功能,從而使51單片機軟件開發(fā)者在一個軟件中實現(xiàn)了整個的程序開發(fā)流程,方便快捷。
同理,ARM內(nèi)核平臺也有其相應的開發(fā)平臺,包括IAR,KEIL FOR ARM這兩個著名軟件,這兩個軟件在開發(fā)不帶操作系統(tǒng)以及帶有小型嵌入式操作系統(tǒng)(如u\Cos,RT-thread,Vx-works等)的產(chǎn)品時非常方便,但在開發(fā)如linux、安卓系統(tǒng)的產(chǎn)品時力不能及。因此需要用到更通用些的開發(fā)環(huán)境,如eclipse、PC-linux系統(tǒng)。
Eclipse是一個開源的軟件工程文件管理界面,當它的底層安裝了不同的編譯、仿真等工具后,就可以用來開發(fā)不同平臺的軟件,如安卓APP,F(xiàn)PGA軟核代碼,當然也包括ARM軟件。
當需要開發(fā)帶有l(wèi)inux內(nèi)核的大型嵌入式系統(tǒng)時,通常要在linux操作系統(tǒng)下進行,因此安裝linux操作系統(tǒng)是開發(fā)嵌入式高端產(chǎn)品的必由之路,linux的使用流程能夠幫助你更好理解嵌入式開發(fā)的每個環(huán)節(jié)。
實驗儀器及資料:
1個人電腦(建議安裝winXP或win7-32b,更高版本系統(tǒng)可能導致驅(qū)動安裝失。
2 FS210試驗箱
3 FS210試驗箱配套資料(12G)
實驗內(nèi)容及步驟:
一、裸機開發(fā)環(huán)境搭建(這一大步驟需要在實驗課上完成,第二步可以回去自己做)
下面為win7-32b系統(tǒng)下軟件安裝流程,以后的實驗都使用win7-32位系統(tǒng)進行,使用其他系統(tǒng)的同學請參照實驗箱配套書籍進行操作。此實驗手冊不做介紹。
把下載的實驗箱資料解壓(假設解壓在桌面上)后:
(1)安裝GCC編譯器和Yagarto工具包(圈住的兩個都裝,安裝位置隨意):(已經(jīng)安裝)
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image002.gif
(2)安裝FS-JTAG調(diào)試軟件(安裝位置隨意):(已經(jīng)安裝)
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image004.gif
(3)安裝FS-JTAG驅(qū)動:
如圖所示用USB線連接JTAG仿真器和電腦
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image006.jpg
<我的電腦>--右鍵--管理--設備管理器,如圖
會出現(xiàn)兩個帶黃色嘆號的設備(下圖中的兩個未知設備不必管它,只關心那兩個“USB<=>JTAG&RS232”即可)
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image008.jpg
鼠標放在“USB<=>JTAG&RS232”上--右鍵--更新驅(qū)動程序軟件,如圖
選擇第二項:
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image010.gif
④瀏覽選擇驅(qū)動位置并點擊下一步,安裝完成
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image012.gif
注意:在win764位以及更高版本系統(tǒng)中會出現(xiàn)提示“驅(qū)動數(shù)字簽名不可用”或者“哈希值不可用“的問題,而且有的電腦可以解決,有的不能解決,同學們自行百度。
⑤重復第三步和第四步,直到使設備管理器里面沒有帶嘆號的設備(一共三次)
(4)安裝JRE
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image014.gif
(5)安裝串口線驅(qū)動
①如圖所示鏈接串口線
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image016.jpg
②打開設備管理器按照“(3)安裝JTAG驅(qū)動”方法安裝串口驅(qū)動
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image018.gif
(6)解壓Eclipse,并打開
①
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image020.gif
②自行在D盤新建一個Eclipse文件夾,并把上圖壓縮包解壓至Eclipse文件夾中
③下圖是D盤下解壓的eclipse,將其發(fā)送到桌面,留待以后使用
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image022.gif
④雙擊打開eclipse,設定工作路徑(即以后你用eclipse新建的軟件工程的默認保存位置),點擊Workbench。如下圖:
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image024.gif
至此,可用于開發(fā)ARM裸機程序的開發(fā)環(huán)境搭建完成。
二、操作系統(tǒng)開發(fā)環(huán)境搭建(這一步可以回宿舍自己做,實驗室電腦已經(jīng)安裝好,只需要在做第四個實驗之前完成這一步驟就可以了,建議做完第二個實驗之后做這一步)
(1)環(huán)境搭建前的準備
①檢查主機配置
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image026.gif
②檢查自己的電腦是否支持虛擬化技術(只有支持虛擬化技術的CPU才能運行虛擬機軟件)
如果顯示有下圖紅圈中的VT-x,則表示支持虛擬化技術
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image028.gif
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image030.gif
如果支持就繼續(xù)實驗,不支持的話,實驗一下面的步驟和實驗四沒法做
③繼續(xù),打開計算機的虛擬化功能:關機重啟計算機,重啟時按下F2按鍵進入下圖狀態(tài),按照下圖操作
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image032.gif
準備工作完成,下面進入環(huán)境搭建流程
(2)環(huán)境搭建與初級設置
①安裝VMware Player,雙擊下圖程序安裝
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image034.gif
②解壓Ubuntu系統(tǒng)鏡像到D盤新建文件夾中(其他磁盤也可以)
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image036.gif
解壓后在D盤中:
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image038.gif
③打開虛擬機,進行初級配置
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image040.gif
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image042.gif
④編輯虛擬機設置
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image044.gif
⑤分別修改各項配置參數(shù)1、內(nèi)存。2、處理器。3、網(wǎng)絡適配器。4、共享目錄
虛擬機內(nèi)存分配大小根據(jù)自己的電腦配置修改,如果是2G內(nèi)存,則分配約1G即可,如果大于等于4G內(nèi)存,則分配大于1G即可。本機內(nèi)存4G,如下圖分配1.5G給虛擬機。
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image046.gif
查看處理器的配置:計算機--右鍵--屬性
可以看到,我的計算機為雙核四線程(看不懂的可以用魯大師查看)
我的計算機為雙核,每個核心為雙線程。
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image048.jpg
因此設置如下(下圖中所謂核心數(shù)量=內(nèi)核數(shù)x每個內(nèi)核的線程數(shù))
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image050.gif
網(wǎng)絡適配器為橋接模式:
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image052.jpg
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image054.gif
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image056.gif
上圖橋接到了有線網(wǎng)卡上,因為我們后面要用有線網(wǎng)卡往開發(fā)板燒寫程序
至于無線網(wǎng)卡,需要取消掉對它的橋接
共享目錄添加:添加--下一步--瀏覽--下一步--完成
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image058.jpg
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image060.gif
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image062.gif
初級配置完成
⑥打開虛擬機
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image064.gif
⑦
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image066.gif
密碼為1,回車
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image068.gif
打開了!!!
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image070.gif
如何關閉。!
file:///C:/Users/鐘港/AppData/Local/Temp/msohtmlclip1/01/clip_image072.gif
到現(xiàn)在為止,linux開發(fā)環(huán)境的配置還沒有結(jié)束,但是第二個和第三個實驗的開發(fā)環(huán)境早已經(jīng)可以使用了。
至于linux下的開發(fā)環(huán)境搭建還差一點點,留在第四個實驗時接著介紹!
(三)Linux常用命令及vi, gdb的使用
一、常用命令使用介紹
1.ls 命令
----------------------------------------------------------------------
ls 以默認方式顯示當前目錄文件列表
ls –a 顯示所有文件包括隱藏文件
ls –l 顯示文件屬性,包括大小,日期,符號連接,是否可讀寫及是否可執(zhí)行
----------------------------------------------------------------------
2.cd 命令
cd dir 切換到當前目錄下的 dir 目錄
cd .. 切換到到上一級目錄
cd ~ 切換到用戶目錄,比如是 root 用戶,則切換到/root 下
----------------------------------------------------------------------
3.rm 命令
rm file 刪除某一個文件
rm -rf dir 刪除當前目錄下叫 dir 的整個目錄
----------------------------------------------------------------------
4.cp 命令
cp source target 將文件 source 復制為 target
cp –av soure_dir target_dir 將整個目錄復制,兩目錄完全一樣
cp –fr source_dir target_dir 將整個目錄復制,并且是以非鏈接方式復制,當 source 目錄帶有符號鏈接時,兩個目錄不相同
----------------------------------------------------------------------
5.mv 命令
mv source target 將文件或者目錄 source 更名為 target
----------------------------------------------------------------------
6.diff 命令
diff -ruN dir1 dir2 > <patch_file> 比較目錄 1 與目錄 2 中的文件
----------------------------------------------------------------------
7.echo 命令
echo message 顯示一串字符
----------------------------------------------------------------------
8.cat 命令
cat file 顯示文件的內(nèi)容,和 DOS 的 type 相同
cat file| more 顯示文件的內(nèi)容并傳輸?shù)?/font> more 程序?qū)崿F(xiàn)分頁顯示,使用命令 less file可實現(xiàn)相同的功能more 分頁命令,一般通過管道將內(nèi)容傳給它,如 ls | more
----------------------------------------------------------------------
9.du 命令
du 計算當前目錄的容量
du -sm /root 計算/root 目錄的容量并以 M 為單位
----------------------------------------------------------------------
10.find 命令
find -name <path> file 在/path 目錄下查找看是否有文件 file
----------------------------------------------------------------------
11.grep 命令
grep -r “chars” ./ 在當前目錄的所有文件查找字串 chars -r 表示遞歸查找子目錄
----------------------------------------------------------------------
12.vi 的使用
vi file 編輯文件 file
vi 原基本使用及命令:
vi 分為編輯狀態(tài)和命令狀態(tài)。輸入命令要先按 ESC,退出編輯狀態(tài),然后輸入命令。
常用命令有:
:x(退出) :x!(退出不保存) :w(保存文件)
:w!(不詢問方式寫入文件) :r file(讀文件 file)
:%s/oldchars/newchars/g(將所有字串 oldchars 換成 newchars) i 進入編輯插入狀態(tài)
ESC 退出編輯狀態(tài)
----------------------------------------------------------------------
13.man 命令
man ls 讀取關于 ls 命令的幫助
----------------------------------------------------------------------
14.啟動關閉計算機命令
reboot 重新啟動計算機
halt 關閉計算機
init 0 關閉所有應用程序和服務,進入純凈的操作環(huán)境
init 1 重新啟動應用及服務
init 6 重新啟動計算機
----------------------------------------------------------------------
15.tar 命令
tar -xfzv file.tgz 將文件 file.tgz 解壓
tar -zcvf file.tgz <source> 將文件或目錄<source>壓縮為 file.tgz
gzip directory.tar 將覆蓋原文件生成壓縮的 directory.tar.gz
gunzip directory.tar.gz 覆蓋原文件解壓生成不壓縮的 directory.tar。
----------------------------------------------------------------------
16.dmesg,uname 命令
dmesg 顯示 kernle 啟動及驅(qū)動裝載信息
uname -a 顯示操作系統(tǒng)的類型
----------------------------------------------------------------------
17.string 命令
string file 顯示 file 文件中的 ASCII 字符內(nèi)容
---------------------------------------------------------------------
18.rpm 命令
rpm -ihv program.rpm 安裝程序 program 并顯示安裝進程
----------------------------------------------------------------------
19.文件目錄管理命令
su root 切換到超級用戶
chmod a+x file 將 file 文件設置為可執(zhí)行,腳本類文件一定要這樣設置一個,否則得用 bash
file才能執(zhí)行
chmod 666 file 將文件 file 設置為可讀寫
chown user /dir 將/dir 目錄設置為 user 所有
----------------------------------------------------------------------
20.mknod 命令
mknod /dev/hda1 b 3 1 創(chuàng)建塊設備 hda1,主設備號為 3,從設備號為 1,即 master 硬盤的第一個分區(qū)
Mknod /dev/tty1 c 4 1 創(chuàng)建字符設備 tty1,主設備號為 4,眾設備號為 1,即第一個 tty 終端
----------------------------------------------------------------------
Touch /tmp/running在/tmp 下創(chuàng)建一個臨時文件 running,重新啟動后消失
----------------------------------------------------------------------
21.磁盤管理的命令
fdisk /dev/hda 就像執(zhí)行了 dos 的 fdisk 一樣
mount -t ext2 /dev/hda1 /mnt 把/dev/hda1 裝載到 /mnt 目錄
df 顯示文件系統(tǒng)裝載的相關信息
mount -t nfs 192.168.1.1:/sharedir/mnt 將 nfs 服務的共享目錄 sharedir 加載到/mnt/nfs 目錄
umount /mnt 將/mnt 目錄卸載,/mnt 目錄必須處于空閑狀態(tài)
sync 刷新緩沖區(qū),使內(nèi)容與磁盤同步,
mkfs.ext2 /dev/hda1 格式化/dev/hda1 為 ext2 格式
dd if=/dev/zero of=root.ram bs=1024,count=1024 生成一個大小為 1M 的塊設備,可以把它當作硬盤的一個分區(qū)來用
22.程序開發(fā)有關命令
gcc hello.c-o hello 將 hello.c 編譯成名為 hello 的二進制執(zhí)行文件
ldd program 顯示程序所使用了哪些庫
23.系統(tǒng)有關命令
ps 顯示當前系統(tǒng)進程信息
ps –ef 顯示系統(tǒng)所有進程信息
kill -9 500 將進程編號為 500 的程序殺死
top 顯示系統(tǒng)進程的活動情況,按占 CPU 資源百分比來分
free 顯示系統(tǒng)內(nèi)存及 swap 使用情況
time program 在 program 程序結(jié)束后,將計算出 program 運行所使用的時間
網(wǎng)絡命令
ifconfig eth0 192.168.1.2 捆綁網(wǎng)卡 1 的 IP 地址為 192.168.1.2
----------------------------------------------------------------------
24、登錄網(wǎng)絡服務器
telnet 192.168.1.1 登陸 IP 為 192.168.1.1 的 telnet 服務器
ftp 192.168.1.1 登陸到 ftp 服務器
實驗思考
Linux 下命令有哪幾種可使用的通配符?分別代表什么含義?
作者: 尋魚尋漁 時間: 2019-6-5 14:59
鐘港你好厲害呀,是東莞理工的嗎,嘻嘻,好巧哦
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |