版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、嵌入式技術(shù)應(yīng)用實(shí) 訓(xùn) 指 導(dǎo) 書(shū)2011年9月目 錄實(shí)訓(xùn)1 在虛擬機(jī)上安裝Linux系統(tǒng)1實(shí)訓(xùn)目的:1實(shí)訓(xùn)條件:1實(shí)訓(xùn)步驟:11.安裝和使用VMWare711.1.解壓并安裝VMware11.2.新建虛擬機(jī)12.在VMWare虛擬機(jī)上安裝Linux發(fā)行版Fedora942.1.安裝Fedora942.2.第一次運(yùn)行Fedora9113.在VMWare虛擬機(jī)上使用光盤(pán)映像文件xxx.iso153.1.虛擬機(jī)啟動(dòng)之前設(shè)置光盤(pán)映像文件153.2.虛擬機(jī)啟動(dòng)進(jìn)入Linux系統(tǒng)之后設(shè)置光盤(pán)映像文件16實(shí)訓(xùn)報(bào)告:17實(shí)訓(xùn)2 練習(xí)使用Linux操作系統(tǒng)18實(shí)訓(xùn)目的:18實(shí)訓(xùn)條件:18實(shí)訓(xùn)步驟:181.目錄的
2、瀏覽、建立、復(fù)制和刪除181.1.使用文件瀏覽器管理目錄181.2.使用命令管理目錄182.文本文件的建立、復(fù)制和刪除192.1.使用編輯器gedit編輯文件192.2.使用命令行終端建立、復(fù)制和刪除文件193.Linux常用命令的使用20實(shí)訓(xùn)報(bào)告:20實(shí)訓(xùn)3 練習(xí)使用GCC工具21實(shí)訓(xùn)目的:21實(shí)訓(xùn)條件:21實(shí)訓(xùn)步驟:211.查看gcc版本信息212.查看頭文件和庫(kù)文件213.gcc的基本用法223.1.通過(guò)hello程序了解編程流程223.2.gcc命令選項(xiàng)的使用233.3.處理編譯錯(cuò)誤244.gdb的基本用法254.1.編譯生成帶調(diào)試信息的hello程序264.2.調(diào)試gdbhello程
3、序265.make工具的使用275.1.makefile文件的基本寫(xiě)法285.2.使用變量的makefile文件的寫(xiě)法295.3.使用自動(dòng)變量和預(yù)定義變量的makefile文件的寫(xiě)法29實(shí)訓(xùn)報(bào)告:30實(shí)訓(xùn)4 練習(xí)使用mini2440開(kāi)發(fā)板31實(shí)訓(xùn)目的:31實(shí)訓(xùn)條件:31實(shí)訓(xùn)步驟:311.開(kāi)發(fā)板設(shè)置及連接311.1.啟動(dòng)模式選擇311.2.外部接口連接311.3.打開(kāi)電源312.使用Linux 之圖形界面Qtopia 2.2.0 系統(tǒng)312.1.觸摸屏校正312.2.主要界面說(shuō)明322.3.自動(dòng)裝載SD 卡和優(yōu)盤(pán)322.4.練習(xí)運(yùn)行Qtopia 2.2.0 系統(tǒng)的各種程序333.練習(xí)使用串口終端
4、操作開(kāi)發(fā)板373.1.硬件連接和開(kāi)關(guān)設(shè)置373.2.設(shè)置超級(jí)終端373.3.使用超級(jí)終端控制開(kāi)發(fā)板393.4.通過(guò)串口與PC互相傳送文件414.使用Telnet 遠(yuǎn)程登錄開(kāi)發(fā)板42實(shí)訓(xùn)5 建立交叉編譯工具鏈43實(shí)訓(xùn)目的:43實(shí)訓(xùn)條件:43實(shí)訓(xùn)步驟:431.使用arm_Linux_crosstools.iso光盤(pán)映像建立交叉編譯工具432.設(shè)置Windows共享目錄433.使用交叉編譯工具444.在make工具中使用交叉編譯工具44實(shí)訓(xùn)報(bào)告:45實(shí)訓(xùn)6 下載系統(tǒng)文件到開(kāi)發(fā)板46實(shí)訓(xùn)目的:46實(shí)訓(xùn)條件:46實(shí)訓(xùn)步驟:461.安裝USB下載驅(qū)動(dòng)462.為開(kāi)發(fā)板下載系統(tǒng)映像文件46實(shí)訓(xùn)報(bào)告:48實(shí)訓(xùn)7
5、 移植linux內(nèi)核49實(shí)訓(xùn)目的:49實(shí)訓(xùn)條件:49實(shí)訓(xùn)步驟:49實(shí)訓(xùn)8 制作linux根文件系統(tǒng)50實(shí)訓(xùn)目的:50實(shí)訓(xùn)條件:50實(shí)訓(xùn)步驟:501.復(fù)制源代碼包502.解壓源碼包503.修改Makefile504.進(jìn)行配置505.編譯busybox516.安裝517.建立目錄518.改變tmp目錄權(quán)限(在/tmp/nfs目錄執(zhí)行命令)519.建立設(shè)備節(jié)點(diǎn)5110.將busybox-1.13.3/root中的內(nèi)容復(fù)制到/tmp/nfs5111.復(fù)制配置文件5212.制作yaffs2根文件系統(tǒng)52實(shí)訓(xùn)9 簡(jiǎn)易Linux驅(qū)動(dòng)程序53實(shí)訓(xùn)目的:53實(shí)訓(xùn)條件:53實(shí)訓(xùn)步驟:531.啟動(dòng)vmware虛擬機(jī)
6、532.編輯源文件533.建立Makefile文件534.編譯、安裝545.加載驅(qū)動(dòng)程序模塊546.卸載驅(qū)動(dòng)程序模塊54實(shí)訓(xùn)10 設(shè)計(jì)LED設(shè)備驅(qū)動(dòng)程序55實(shí)訓(xùn)目的:55實(shí)訓(xùn)條件:55實(shí)訓(xùn)步驟:551.啟動(dòng)vmware虛擬機(jī)552.復(fù)制內(nèi)核源代碼553.編輯源文件554.把myled_driver加入內(nèi)核代碼樹(shù),并編譯585.把myled_driver下載到開(kāi)發(fā)板并安裝使用586.編制led測(cè)試程序597.卸載myled_driver驅(qū)動(dòng)程序60實(shí)訓(xùn)報(bào)告:60實(shí)訓(xùn)11 設(shè)計(jì)按鍵設(shè)備驅(qū)動(dòng)程序61實(shí)訓(xùn)目的:61實(shí)訓(xùn)條件:611.啟動(dòng)vmware虛擬機(jī)612.復(fù)制內(nèi)核源代碼613.編輯源文件614.
7、編制按鍵測(cè)試程序64實(shí)訓(xùn)12 設(shè)計(jì)按鍵設(shè)備驅(qū)動(dòng)程序66實(shí)訓(xùn)目的:66實(shí)訓(xùn)條件:661.啟動(dòng)vmware虛擬機(jī)662.復(fù)制內(nèi)核源代碼663.編輯源文件664.編制按鍵測(cè)試程序69實(shí)訓(xùn)13 綜合項(xiàng)目設(shè)計(jì)按鍵控制LED程序71實(shí)訓(xùn)目的:71實(shí)訓(xùn)條件:71實(shí)訓(xùn)內(nèi)容:71實(shí)訓(xùn)報(bào)告:71實(shí)訓(xùn)14 附加項(xiàng)目安裝和使用skyeye72實(shí)訓(xùn)目的:72實(shí)訓(xùn)條件:72實(shí)訓(xùn)步驟:721.安裝SkyEye722.運(yùn)行示例程序723.配置文件說(shuō)明7576 / 81實(shí)訓(xùn)1 在虛擬機(jī)上安裝Linux系統(tǒng)實(shí)訓(xùn)目的:1、 學(xué)習(xí)在windows環(huán)境下,虛擬機(jī)VMWare的安裝和使用2、 學(xué)習(xí)在虛擬機(jī)VMWare上安裝Linux(發(fā)
8、行版Fedora 9)實(shí)訓(xùn)條件:1、 已經(jīng)安裝winxp系統(tǒng)的計(jì)算機(jī)2、 VMWare7.0安裝程序(VMware_Workstation.rar)3、 Fedora 9安裝光盤(pán)iso映像文件(Fedora-9-i386-DVD.iso)實(shí)訓(xùn)步驟:1. 安裝和使用VMWare71.1. 解壓并安裝VMware(1)解壓縮VMware_Workstation.rar到D盤(pán)根目錄下,不能解壓到含有中文路徑的目錄下,否則安裝過(guò)程中或使用中可能會(huì)出現(xiàn)問(wèn)題。(2)雙擊“!)安裝.cmd”文件啟動(dòng)安裝命令,如果提示“你的系統(tǒng)中已經(jīng)安裝了.”,你必須先卸載之前的版本;卸載方法:可以用之前版本的卸載工具“!)
9、卸載.cmd”卸載。卸載之后一定要重啟!否則會(huì)由此產(chǎn)生很多問(wèn)題。(3)出現(xiàn)“精簡(jiǎn)版相關(guān)服務(wù)安裝 主菜單”后,可按0需要全部功能,等待完成即可。(如果不需要全部功能則可選擇按1-7,選項(xiàng)的具體含義見(jiàn)“使用說(shuō)明.txt”文件)(4)建立桌面快捷方式,方便運(yùn)行,方法如下:以鼠標(biāo)右鍵單擊“vmware.exe”文件,在彈出菜單中點(diǎn)擊“發(fā)送到”子菜單下的“桌面快捷方式”項(xiàng)。安裝完成后就可雙擊桌面上的“vmware.exe快捷方式”來(lái)運(yùn)行VMWare 7.0了。1.2. 新建虛擬機(jī)(1)點(diǎn)擊圖標(biāo)或者點(diǎn)擊【文件/新建虛擬機(jī)】菜單打開(kāi)“新建虛擬機(jī)向?qū)А比缦聢D所示。選擇標(biāo)準(zhǔn)類型配置,點(diǎn)擊“下一步”按鈕。 (2)
10、選擇“安裝鏡像文件”,點(diǎn)擊,選擇Fedora-9-i386-DVD.iso文件(根據(jù)你的iso文件的具體存儲(chǔ)位置選擇,可能和上圖顯示不同)。點(diǎn)擊“下一步”按鈕。(3)在虛擬機(jī)名稱文本框中輸入“Fedora9”,點(diǎn)擊“瀏覽”按鈕創(chuàng)建“D:fedora9”文件夾,作為虛擬機(jī)的存放目錄。點(diǎn)擊“下一步”按鈕。(4)指定磁盤(pán)容量最大20G,點(diǎn)擊“下一步”按鈕。 (5)檢查設(shè)置沒(méi)有錯(cuò)誤后,點(diǎn)擊“完成”按鈕。會(huì)出現(xiàn)“Fedora is not supported”的提示信息,這時(shí)關(guān)閉提示信息對(duì)話框。點(diǎn)擊【虛擬機(jī)/設(shè)置】菜單,出現(xiàn)“虛擬機(jī)設(shè)置”對(duì)話框,點(diǎn)擊左上角“選項(xiàng)”選擇卡,在右側(cè)欄的版本對(duì)話選擇“Othe
11、r Linux 2.6.x kernel”項(xiàng),點(diǎn)擊“確定”按鈕。2. 在VMWare虛擬機(jī)上安裝Linux發(fā)行版Fedora9提示:虛擬機(jī)運(yùn)行起來(lái)后,相當(dāng)于虛擬出來(lái)另一臺(tái)計(jì)算機(jī),它也使用宿主系統(tǒng)WindowXP的鍵盤(pán)和鼠標(biāo),如果在安裝過(guò)程中想點(diǎn)擊安裝界面中的按鈕直接用鼠標(biāo)點(diǎn)擊即可,如果想使鼠標(biāo)離開(kāi)虛擬機(jī)窗口,應(yīng)當(dāng)按“Ctrl+Alt”鍵。2.1. 安裝Fedora9(1)點(diǎn)擊窗口中的“”,啟動(dòng)虛擬機(jī),出現(xiàn)Fedora的安裝界面,如下圖所示:(2)使用鍵盤(pán)的“上、下方向鍵”選擇第一項(xiàng)“Install or upgrade an existing system”開(kāi)始安裝Fedora,當(dāng)出現(xiàn)下圖“t
12、est media”界面時(shí),使用鍵盤(pán)的“左、右方向鍵”選擇“Skip”項(xiàng)跳過(guò)安裝媒體的檢查,按“回車鍵”繼續(xù)安裝。(3)幾分鐘后出現(xiàn)下圖界面,按“Next”按鈕繼續(xù);(4)出現(xiàn)“What language would you like ”界面時(shí),選擇“簡(jiǎn)體中文”,按“Next”按鈕繼續(xù);(5)出現(xiàn)“請(qǐng)為您的系統(tǒng)選擇合適的鍵盤(pán)” 界面時(shí),選擇“美國(guó)英語(yǔ)式”,按“下一步”按鈕繼續(xù);(6)彈出警告對(duì)話框時(shí),按“是”按鈕;(7)出現(xiàn)“網(wǎng)絡(luò)設(shè)備”窗口點(diǎn)“Edit”按鈕打開(kāi)編輯界面,我們一般使用靜態(tài)的IP,選中“手動(dòng)配置”,分別輸入IP和子網(wǎng)掩碼,按“確定”按鈕,設(shè)置網(wǎng)關(guān)為,設(shè)置主D
13、NS為,按“下一步”按鈕繼續(xù);(8)出現(xiàn)時(shí)區(qū)設(shè)置界面時(shí),選擇城市為“Asia/Shanghai”, 按“下一步”按鈕繼續(xù);(9)出現(xiàn)設(shè)置根賬號(hào)(root)密碼界面時(shí),輸入密碼123456,彈出“脆弱密碼”對(duì)話框,按“是”按鈕采用此密碼;(10)出現(xiàn)安裝硬盤(pán)分區(qū)設(shè)置界面時(shí),直接按“下一步”按鈕,彈出“將分區(qū)寫(xiě)入磁盤(pán)”對(duì)話框,按“將修改寫(xiě)入磁盤(pán)”按鈕繼續(xù),顯示格式化分區(qū)進(jìn)度條;(11)出現(xiàn)選擇安裝的軟件包界面時(shí),選中“軟件開(kāi)發(fā)”,“現(xiàn)在定制”,按“下一步”按鈕,選中“服務(wù)器”類的“FTP服務(wù)器”和“老的網(wǎng)絡(luò)服務(wù)器”,按“下一步”按鈕開(kāi)始安裝,將依次顯示“檢查依賴關(guān)系”進(jìn)度條、
14、“開(kāi)啟安裝進(jìn)程”進(jìn)度條、“軟件包安裝進(jìn)度”進(jìn)度條,安裝過(guò)程比較長(zhǎng),大約30分鐘,請(qǐng)耐心等待;(12)安裝完成后顯示“祝賀您,安裝已完成?!苯缑?,按“重新引導(dǎo)”按鈕重啟Fedora系統(tǒng);2.2. 第一次運(yùn)行Fedora9第一次運(yùn)行Fedora9需要進(jìn)行時(shí)區(qū)、賬戶、網(wǎng)絡(luò)等一些設(shè)置。(1)按按鈕打開(kāi)虛擬機(jī)電源,出現(xiàn)Fedora引導(dǎo)畫(huà)面。(2)第一次運(yùn)行時(shí)會(huì)出現(xiàn)“歡迎”界面,按“前進(jìn)”按鈕。(3)出現(xiàn)“許可證信息”界面,按“前進(jìn)”按鈕。(4)出現(xiàn)“創(chuàng)建用戶”界面時(shí),輸入用戶名和密碼創(chuàng)建一個(gè)普通用戶,用戶名和密碼都用“arm”,按“前進(jìn)”按鈕。(5)出現(xiàn)“Date and Time”界面時(shí),直接按“前進(jìn)
15、”按鈕。(6)最后出現(xiàn)“硬件配置”界面,顯示硬件信息,直接按“完成”按鈕,彈出詢問(wèn)是否發(fā)送配置文件的對(duì)話框,點(diǎn)擊“不,不發(fā)送”按鈕,完成首次啟動(dòng)的設(shè)置。(7)Fedora啟動(dòng)起來(lái)后,首先顯示登錄界面如下圖所示,點(diǎn)擊“arm”用戶,在“password”文本框中輸入密碼,點(diǎn)擊“登錄”按鈕,出現(xiàn)GNOME桌面,這樣Fedora就啟動(dòng)完成了,以后就可以通過(guò)鼠標(biāo)在。3. 在VMWare虛擬機(jī)上使用光盤(pán)映像文件xxx.iso3.1. 虛擬機(jī)啟動(dòng)之前設(shè)置光盤(pán)映像文件按照下圖步驟在虛擬機(jī)開(kāi)啟電源之前,設(shè)置要使用的光盤(pán)映像文件xxx.iso,開(kāi)啟虛擬機(jī)電源啟動(dòng)進(jìn)入Fedora系統(tǒng)之后,光盤(pán)映像掛載在/medi
16、a目錄下,在桌面上顯示光盤(pán)圖標(biāo),就可以像使用普通光盤(pán)一樣使用光盤(pán)映像了。3.2. 虛擬機(jī)啟動(dòng)進(jìn)入Linux系統(tǒng)之后設(shè)置光盤(pán)映像文件(1)進(jìn)入Linux系統(tǒng)之后若桌面上已經(jīng)有光盤(pán)圖標(biāo),說(shuō)明光驅(qū)中已經(jīng)有光盤(pán),如果想改用新的光盤(pán)映像文件,首先應(yīng)彈出原光盤(pán)。如下圖所示,鼠標(biāo)右鍵點(diǎn)擊光盤(pán)圖標(biāo),在彈出的快捷菜單中點(diǎn)擊“彈出”,就可以彈出原光盤(pán)。(2)使用虛擬機(jī)菜單【虛擬機(jī)/可移動(dòng)設(shè)備/CD/DVD(IDE)/設(shè)置】打開(kāi)“虛擬機(jī)設(shè)置”對(duì)話框,按照前面步驟選擇使用的光盤(pán)映像文件xxx.iso(3)使用虛擬機(jī)菜單【虛擬機(jī)/可移動(dòng)設(shè)備/CD/DVD(IDE)/連接】啟用光盤(pán)映像。Linux系統(tǒng)桌面上將出現(xiàn)新光盤(pán)映
17、像圖標(biāo)。實(shí)訓(xùn)報(bào)告:列出Linux系統(tǒng)安裝過(guò)程中遇到的問(wèn)題,并敘述解決問(wèn)題的過(guò)程。實(shí)訓(xùn)2 練習(xí)使用Linux操作系統(tǒng)實(shí)訓(xùn)目的:1、 熟悉linux系統(tǒng)環(huán)境2、 練習(xí)常用圖形界面工具的使用3、 練習(xí)常用終端窗口命令的使用。實(shí)訓(xùn)條件:1、 已經(jīng)安裝安裝Linux系統(tǒng)的計(jì)算機(jī)(或winxp系統(tǒng)下在VMWare虛擬機(jī)上安裝Linux系統(tǒng));2、 打開(kāi)虛擬機(jī)啟動(dòng)linux,以arm用戶登錄。實(shí)訓(xùn)步驟:1. 目錄的瀏覽、建立、復(fù)制和刪除1.1. 使用文件瀏覽器管理目錄雙擊桌面上的 圖標(biāo)將打開(kāi)文件瀏覽器,和window系統(tǒng)的文件瀏覽器使用方法一樣。任務(wù):(1) 在arm用戶的目錄(/home/arm)下建立w
18、ork1目錄(2) 在work1目錄下建立test1和test2目錄(3) 將test1目錄復(fù)制到/tmp下(4) 刪除test2目錄1.2. 使用命令管理目錄使用【應(yīng)用程序/系統(tǒng)工具/終端】菜單打開(kāi)命令行終端窗口。任務(wù):(1) 在arm用戶的目錄(/home/arm)下建立work2目錄(2) 在work2目錄下建立test1和test2目錄(3) 將test1目錄復(fù)制到/tmp下(4) 刪除test1目錄2. 文本文件的建立、復(fù)制和刪除2.1. 使用編輯器gedit編輯文件gedit是Linux系統(tǒng)下的文本編輯器,使用方法類似于windows系統(tǒng)下的記事本程序,但具有自動(dòng)根據(jù)文件類型語(yǔ)法加
19、亮顯示的功能。gedit通過(guò)【應(yīng)用程序/附件/文本編輯器】啟動(dòng)。任務(wù):(1) 新建一個(gè)文件,保存在/home/arm/work1/test1目錄下,文件名prog1.c(2) 在prog1.c文件中輸入如下內(nèi)容,保存(3) 將prog1.c文件另存為prog2.c,修改內(nèi)容如下,保存(4) 新建lib.c文件,保存在/home/arm/work1/test1目錄下,內(nèi)容如下2.2. 使用命令行終端建立、復(fù)制和刪除文件使用【應(yīng)用程序/系統(tǒng)工具/終端】菜單打開(kāi)命令行終端窗口。任務(wù):(1) 使用cp命令,將/home/arm/work1/test1目錄下文件復(fù)制到/home/arm/work2/te
20、st2目錄下(2) 使用cd命令進(jìn)入/home/arm/work2/test2目錄(3) 使用cat命令查看prog1.c文件內(nèi)容(4) 使用mv命令將/home/arm/work2/test2目錄下的prog1.c文件重命名為為prog3.c(5) 使用ls命令列出/home/arm/work2/test2目錄下的內(nèi)容。(6) 使用rm命令刪除lib.h文件3. Linux常用命令的使用Linux常用命令如下:下面的操作都在命令行終端中執(zhí)行,絕大多數(shù)命令都有參數(shù),參數(shù)說(shuō)明可以參考實(shí)驗(yàn)指導(dǎo)書(shū),命令后加-help顯示幫助,所有命令都可以通過(guò)-help參數(shù)獲得幫助信息。任務(wù):(1) 在終端中依次輸
21、入上述命令,練習(xí)各種命令的使用(2) 使用vim命令編輯一個(gè)prog4.c文件,內(nèi)容如prog1.c,保存在/home/arm/work2/test2目錄下。實(shí)訓(xùn)報(bào)告:列出實(shí)訓(xùn)中用到的Linux命令,并簡(jiǎn)要說(shuō)明其功能。實(shí)訓(xùn)3 練習(xí)使用GCC工具實(shí)訓(xùn)目的:練習(xí)linux系統(tǒng)下c語(yǔ)言開(kāi)發(fā)工具集GCC的使用。實(shí)訓(xùn)條件:已經(jīng)安裝安裝Linux系統(tǒng)的計(jì)算機(jī),GCC工具已隨系統(tǒng)安裝(或winxp系統(tǒng)下在VMWare虛擬機(jī)上安裝Linux系統(tǒng));實(shí)訓(xùn)步驟:GCC是Linux下最重要的軟件開(kāi)發(fā)工具之一。GNU提供的編譯工具包括匯編器as、C編譯器gcc、C+編譯器g+、鏈接器ld和二進(jìn)制轉(zhuǎn)換工具objcopy
22、 。gcc(GNU C Compiler)是GCC編譯器組件之一,是一個(gè)全功能的ANSI C兼容編譯器。在為L(zhǎng)inux開(kāi)發(fā)應(yīng)用程序時(shí),絕大多數(shù)情況下使用的都是C語(yǔ)言,因此幾乎每一位Linux程序員面臨的首要問(wèn)題都是如何靈活運(yùn)用C編譯器。實(shí)訓(xùn)主要練習(xí)gcc、make 和gdb的基本使用方法。1. 查看gcc版本信息(1)打開(kāi)終端窗口,輸入gcc v命令查看gcc版本信息:(2)使用whereis gcc命令查看gcc相關(guān)目錄2. 查看頭文件和庫(kù)文件使用文件瀏覽器查看gcc編譯工具頭文件和庫(kù)文件目錄,文件瀏覽器還可以通過(guò)以下方法打開(kāi):l 使用【應(yīng)用程序/系統(tǒng)工具/文件瀏覽器】菜單l 使用【位置】菜
23、單(1)打開(kāi)文件瀏覽器,進(jìn)入/usr/bin目錄,找到gcc文件,這就是gcc命令執(zhí)行文件。(2)查看頭文件,進(jìn)入/usr/include目錄,找到c語(yǔ)言頭文件stdio.h,這就是使用輸入輸出函數(shù)(如printf函數(shù))所需要包含的頭文件。(3)查看庫(kù)文件,進(jìn)入/usr/lib目錄,找到libc.a和libc.so文件,libc.a是標(biāo)準(zhǔn)C語(yǔ)言靜態(tài)庫(kù),libc.so是標(biāo)準(zhǔn)C語(yǔ)言共享庫(kù)(動(dòng)態(tài)鏈接庫(kù)),編程是默認(rèn)使用共享庫(kù)。常用到的Linux編程庫(kù)列表:庫(kù)名稱說(shuō)明庫(kù)名稱說(shuō)明libc.so標(biāo)準(zhǔn)的C庫(kù)libgthread.soGlib線程支持libdl.so連接使用的源代碼庫(kù)libgtk.soGIMP
24、下的X庫(kù)libglib.soGlib庫(kù)libz.so壓縮例程庫(kù)libm.so標(biāo)準(zhǔn)數(shù)學(xué)庫(kù)libvga.soLinux的VGA和SVGA圖形庫(kù)libGL.soOpenGL的接口libresolve.so使用因特網(wǎng)域名服務(wù)器接口libcom_err.so常用出錯(cuò)例程集合libpthread.soLinux多線程庫(kù)libdb.so創(chuàng)建和操作數(shù)據(jù)庫(kù)libgdm.soGNU數(shù)據(jù)庫(kù)管理器3. gcc的基本用法gcc是一個(gè)全功能的ANSI C兼容編譯器,使用gcc編譯工具將C語(yǔ)言源程序編譯成可執(zhí)行文件,要依次經(jīng)過(guò)四個(gè)階段,即:預(yù)處理(Pre-Processing)、編譯(Compiling)、匯編(Assem
25、bling)和鏈接(Linking)。在編譯C語(yǔ)言源程序時(shí),GCC首先調(diào)用cpp命令進(jìn)行預(yù)處理(比如將源代碼中指定的頭文件包含進(jìn)來(lái))。接著調(diào)用cc1命令進(jìn)行編譯,將源代碼翻譯生成匯編代碼。然后調(diào)用as命令進(jìn)行匯編,生成擴(kuò)展名為.o的目標(biāo)文件。當(dāng)生成所有的目標(biāo)文件之后,GCC最后調(diào)用鏈接器ld生成可執(zhí)行文件。流程總結(jié)如下:源程序預(yù)處理器(cpp)編譯器(ccl)匯編器(as)鏈接器(ld)可執(zhí)行文件。3.1. 通過(guò)hello程序了解編程流程(1)在/root目錄下建立新目錄gccshiyan(2)打開(kāi)gedit文本編輯器,編輯hello.c源程序,并保存在gccshiyan目錄(3)使用gcc編
26、譯hello.c,生成可執(zhí)行文件hello用-o編譯選項(xiàng)為要產(chǎn)生的可執(zhí)行文件指定文件名hello(4)執(zhí)行hello程序3.2. gcc命令選項(xiàng)的使用常用編譯選項(xiàng)選項(xiàng)說(shuō)明-c告訴GCC僅把源代碼編譯為目標(biāo)代碼,跳過(guò)鏈接的步驟,采用該選項(xiàng)不會(huì)生成可執(zhí)行程序,而是生成與源文件名相同的以.o為后綴的目標(biāo)文件。-o如果沒(méi)有使用-o選項(xiàng),會(huì)在當(dāng)前目錄下生成一個(gè)名為a.out的可執(zhí)行程序。使用-o選項(xiàng),-o后面帶有自定義文件名,使用gcc命令生成可執(zhí)行文件時(shí),-S告訴GCC在為C代碼產(chǎn)生匯編語(yǔ)言文件后停止編譯。GCC會(huì)生成一個(gè)后綴名為.s的匯編語(yǔ)言文件,但是同樣不會(huì)生成可執(zhí)行的程序-E-E選項(xiàng)指示編譯器僅
27、對(duì)輸入文件進(jìn)行預(yù)處理,預(yù)處理器的輸出被送到標(biāo)準(zhǔn)輸出(如顯示器)而不是儲(chǔ)存在文件里。-staticGCC默認(rèn)情況下鏈接共享庫(kù),有時(shí)為了把一些函數(shù)靜態(tài)編譯到程序中,而無(wú)需鏈接動(dòng)態(tài)庫(kù),就采用-static選項(xiàng)-I指定頭文件路徑。一般情況下,Linux下的大多數(shù)函數(shù)都將頭文件放到/usr/include/目錄下。但在有些情況下并不是這樣,此時(shí),使用GCC編譯時(shí)必須指定所需要的頭文件所在的路徑。-I選項(xiàng)可以向GCC的頭文件搜索路徑中添加新的目錄。例如,一個(gè)源程序所依賴的頭文件在用戶/home/ztg/include/目錄下,此時(shí)就要使用-I選項(xiàng)來(lái)指定:#gcc -I /home/ztg/include
28、-o hello hello.c-L指定庫(kù)文件路徑。類似-I。通常,Linux將庫(kù)文件放到/usr/lib/目錄下。如果使用了不在標(biāo)準(zhǔn)位置的庫(kù),那么可以通過(guò)-L選項(xiàng)向GCC的庫(kù)文件搜索路徑中添加新的目錄。例如,一個(gè)程序要用到的庫(kù)libapp.so在/home/ztg/lib/目錄下,為了讓GCC能夠順利地鏈接該庫(kù),可使用命令:#gcc hello.c -L /home/ztg/lib -lapp -o hello這里的-l選項(xiàng)表示GCC去鏈接庫(kù)文件libapp.so。Linux下的庫(kù)文件在命名時(shí)有一個(gè)約定,應(yīng)該以lib三個(gè)字母開(kāi)頭,由于所有的庫(kù)文件都遵循了同樣的規(guī)范,因此在用-l選項(xiàng)指定鏈接的
29、庫(kù)文件名時(shí),可以省去lib三個(gè)字母,也就是說(shuō)GCC在對(duì)-lapp進(jìn)行處理時(shí),會(huì)自動(dòng)鏈接名為libapp.so的庫(kù)文件-llibrary告訴鏈接程序在生成最終可執(zhí)行文件時(shí)用到的庫(kù)-g告訴編譯器,在編譯的時(shí)候,產(chǎn)生調(diào)試信息,它不能與-o選項(xiàng)聯(lián)合使用-O、-O2、-O3將優(yōu)化狀態(tài)打開(kāi),該選項(xiàng)不能與-g選項(xiàng)聯(lián)合使用-Wall使gcc產(chǎn)生盡可能多的警告信息-Werror在發(fā)生警報(bào)時(shí)取消編譯操作,即將警報(bào)看作是錯(cuò)誤,它要求gcc將所有的警告當(dāng)成錯(cuò)誤進(jìn)行處理,這在使用自動(dòng)編譯工具(如make等)時(shí)非常有用。-w禁止所有的報(bào)警-Dmacro定義指定的宏,使它能夠通過(guò)源碼中的#ifdef進(jìn)行檢驗(yàn)-v在Shell
30、的提示符號(hào)下鍵入gcc -v,會(huì)顯示出目前正在使用的GCC的版本信息(1)使用-c 選項(xiàng),生成hello.o文件(2)使用-S 選項(xiàng),生成匯編文件(3)使用-o 選項(xiàng),生成myhello可執(zhí)行文件3.3. 處理編譯錯(cuò)誤(1)編輯帶錯(cuò)誤的源程序文件errohello.c(2)使用命令gcc errohello.c編譯,會(huì)顯示錯(cuò)誤信息: “警告:隱式聲明.”表示缺少包含printf函數(shù)聲明的頭文件,并且參數(shù)不對(duì)應(yīng)?!?”、“10”表示警告所在的行數(shù)。請(qǐng)自己改正錯(cuò)誤并重新編譯。4. gdb的基本用法調(diào)試是程序開(kāi)發(fā)過(guò)程中必不可少的環(huán)節(jié)。gdb(GNU Debugger)是Linux下基于命令行的調(diào)試器
31、,使用能在程序運(yùn)行時(shí)觀察程序的內(nèi)部結(jié)構(gòu)和內(nèi)存的使用情況,可以查看變量,寄存器及堆棧,可以修改變量及內(nèi)存值。GDB調(diào)試的是可執(zhí)行文件,而不是源程序,在使用GDB工具調(diào)試程序之前,必須使用帶有-g編譯選項(xiàng)的gcc命令來(lái)編譯源程序,在目標(biāo)文件中產(chǎn)生相應(yīng)的調(diào)試信息。常用的GDB調(diào)試命令如下:命令說(shuō)明break N設(shè)置斷點(diǎn),N表示在源代碼的第N行處設(shè)置斷點(diǎn)clear N清除斷點(diǎn)的命令,清除第N行處的斷點(diǎn)continue從斷點(diǎn)處繼續(xù)執(zhí)行程序file指定要調(diào)試的可執(zhí)行程序info break顯示當(dāng)前斷點(diǎn)清單,包括到達(dá)斷點(diǎn)處的次數(shù)等info files顯示被調(diào)試文件的詳細(xì)信息info func顯示所有的函數(shù)名
32、info local顯示函數(shù)中的局部變量信息info prog顯示被調(diào)試程序的執(zhí)行狀態(tài)info var顯示所有的全局和靜態(tài)變量名稱kill終止正在調(diào)試的可執(zhí)行程序list列出源代碼,如果想列出更多的源代碼,繼續(xù)輸入list命令(或者直接回車)make在不退出gdb的情況下運(yùn)行make工具next執(zhí)行一行源代碼,如果有函數(shù)調(diào)用,不會(huì)進(jìn)入該函數(shù)nexti或ni單步跟蹤一條機(jī)器指令,便于觀察REG和棧的變化print指定變量的值,例如:print xquit結(jié)束gdb調(diào)試任務(wù)run執(zhí)行當(dāng)前的可執(zhí)行程序shell在不退出gdb的情況下運(yùn)行shell命令step單步跟蹤,如果有函數(shù)調(diào)用,會(huì)進(jìn)入該函數(shù)st
33、epi或si單步跟蹤一條機(jī)器指令,便于觀察REG和棧的變化watch檢查一個(gè)變量的值whatis查看變量的類型4.1. 編譯生成帶調(diào)試信息的hello程序4.2. 調(diào)試gdbhello程序(1)啟動(dòng)gdb(2)用list列出源代碼(3)使用break命令設(shè)置斷點(diǎn)(4)使用run命令運(yùn)行程序,到斷點(diǎn)停止(5)使用next命令運(yùn)行一行程序(6)使用watch命令設(shè)置觀察變量(7)使用print命令輸出sum變量的值(8)使用quit命令退出gdb5. make工具的使用make是自動(dòng)生成和維護(hù)目標(biāo)程序的工具。make工具通過(guò)一個(gè)稱為Makefile的文件來(lái)完成并自動(dòng)維護(hù)編譯工作,Makefile文
34、件的作用有兩個(gè):n 定義源文件之間的依賴關(guān)系n 指定生成目標(biāo)的方法make的工作流程如下: 查找當(dāng)前目錄下的Makefile文件。 初始化文件中的變量。 分析Makefile中的所有規(guī)則。 為所有的目標(biāo)文件創(chuàng)建依賴關(guān)系。 根據(jù)依賴關(guān)系,決定哪些目標(biāo)文件要重新生成。 執(zhí)行生成命令。Makefile文件規(guī)則語(yǔ)法:#注釋目標(biāo)文件:依賴文件列表命令列表5.1. makefile文件的基本寫(xiě)法(1)程序由prog1.c、prog2.c和lib.c三個(gè)文件組成。在自己的主文件夾下建立一個(gè)目錄prog,源程序內(nèi)容如下:(2)編譯上述程序的基本makefile文件打開(kāi)文本編輯器,輸入內(nèi)容如下:#基本makef
35、ile文件prog: prog1.o prog2.ogcc prog1.o prog2.o -o progprog1.o:prog1.c lib.hgcc -c -I. -o prog1.o prog1.cprog2.o:prog2.cgcc -c prog2.c將文件保存在prog目錄下,文件名為Makefile。(3)使用make命令編譯源程序打開(kāi)終端窗口,使用cd命令進(jìn)入prog目錄,輸入make命令編譯程序生成可執(zhí)行文件prog。要運(yùn)行prog程序,在命令行輸入“./prog”。5.2. 使用變量的makefile文件的寫(xiě)法(1)打開(kāi)文本編輯器,輸入內(nèi)容如下:OBJS=prog1.o
36、prog2.oCC=gcctest2: $OBJS$CC -o test $OBJS#gcc -o test prog1.o prog2.oprog1.o: prog1.c lib.h$CC -c -I. -o prog1.o prog1.c prog2.o: prog2.c$CC -c -o prog2.o prog2.cclean:rm -f *.o *(2)將文件保存在prog目錄下,文件名為makefile2。(3)使用make命令編譯源程序打開(kāi)終端窗口,使用cd命令進(jìn)入prog目錄,輸入“make -f makefile2”命令編譯程序生成可執(zhí)行文件test2?!?f”參數(shù)用于指定m
37、ake使用的makefile文件名,若不使用“-f”參數(shù),默認(rèn)使用Makefile文件。(4)輸入make f makefile2 clean命令刪除生成的.o文件。5.3. 使用自動(dòng)變量和預(yù)定義變量的makefile文件的寫(xiě)法make支持使用自動(dòng)變量自動(dòng)生成依賴性,常用變量及含義如下:變量含義$*不包含擴(kuò)展名的目標(biāo)文件名稱$+所有的依賴文件,以空格分開(kāi),并以出現(xiàn)的先后為順序,可能包含重復(fù)的依賴文件$第一個(gè)依賴文件的名稱$目標(biāo)的完整名稱$所有的依賴文件,以空格分開(kāi),不包含重復(fù)的依賴文件$?所有的依賴文件,以空格分開(kāi),這些依賴文件的修改日期比目標(biāo)的創(chuàng)建日期晚$%如果目標(biāo)是歸檔成員,則該變量表示目
38、標(biāo)的歸檔成員名稱。例如,如果目標(biāo)名稱為mytarget.so(image.o),則$為mytarget.so,而$%為image.o%.c模式變量,表示目錄中每一個(gè)以.c結(jié)尾的文件make支持的常用預(yù)定義變量及含義如下:變量含義AR歸檔維護(hù)程序的名稱,默認(rèn)值為arARFLAGS歸檔維護(hù)程序的選項(xiàng)AS匯編程序的名稱,默認(rèn)值為asASFLAGS匯編程序的選項(xiàng)CCC編譯器的名稱,默認(rèn)值為ccCFLAGSC編譯器的選項(xiàng)CPPC預(yù)編譯器的名稱,默認(rèn)值為$(CC)-ECPPFLAGSC預(yù)編譯的選項(xiàng)。CXXC+編譯器的名稱,默認(rèn)值為g+CXXFLAGSC+編譯器的選項(xiàng)FCFORTRAN編譯器的名稱,默認(rèn)值為
39、f77FFLAGSFORTRAN編譯器的選項(xiàng)(1)打開(kāi)文本編輯器,輸入內(nèi)容如下:#使用自動(dòng)變量和隱含規(guī)章的makefile文件OBJS=prog1.o prog2.oCC=gcctest3: $OBJS$CC -o $ $%.o:%.c$CC -c $(CFLAGS) $(設(shè)置”切換到“設(shè)置”界面,再點(diǎn)“重校正”圖標(biāo)也會(huì)出現(xiàn)校正界面;然后依照屏幕提示使用觸摸筆逐步點(diǎn)擊“十”型交叉點(diǎn)即可。2.2. 主要界面說(shuō)明進(jìn)入 Qtopia 系統(tǒng)后主界面如下圖所示:可以看到 Qtopia 系統(tǒng)界面上方有五個(gè)圖標(biāo),它們代表了五類程序/文檔,單擊任何一個(gè)圖標(biāo)都可以進(jìn)入相應(yīng)的子類界面,它們都是類似的。另外點(diǎn)系統(tǒng)界
40、面左下角的“開(kāi)始”圖標(biāo),也可以出現(xiàn)五個(gè)子類選擇菜單,它們和系統(tǒng)界面上方的圖標(biāo)是對(duì)應(yīng)的。2.3. 自動(dòng)裝載SD 卡和優(yōu)盤(pán)插入普通或者高速SD卡(支持最大容量為32G)或者USB 移動(dòng)存儲(chǔ)器,稍等片刻,即可在任務(wù)欄右下角出現(xiàn)移動(dòng)存儲(chǔ)的圖標(biāo)出現(xiàn),本系統(tǒng)支持二者同時(shí)掛載,點(diǎn)移動(dòng)存儲(chǔ)器的圖標(biāo),出現(xiàn)如圖所示,這時(shí)可以像在Windows中一樣安全移除它們。MMC/SD卡或者優(yōu)盤(pán)中的所有文件會(huì)在“文檔”組中全部顯示出來(lái),并且支持中文文件名顯示,它是不顯示目錄名稱的。說(shuō)明:MMC/SD卡或者優(yōu)盤(pán)自動(dòng)掛載目前它只識(shí)別MMC/SD卡或優(yōu)盤(pán)的第一個(gè)分區(qū),并且格式為常見(jiàn)的VFAT/FAT32/FAT16,如果你的優(yōu)盤(pán)或
41、者SD卡不能識(shí)別,請(qǐng)檢查是否為VFAT/FAT32/FAT16格式。2.4. 練習(xí)運(yùn)行Qtopia 2.2.0 系統(tǒng)的各種程序(1) LED 測(cè)試在“友善之臂”程序中點(diǎn)“LED 測(cè)試”圖標(biāo),打開(kāi)如下界面:可以看到界面中只有“Stop led-player”按鈕有效,這是因?yàn)橄到y(tǒng)啟動(dòng)的時(shí)候開(kāi)啟了led-player 服務(wù), 開(kāi)機(jī)后你所見(jiàn)到的“流水燈”效果就是這個(gè)服務(wù)控制的,要單獨(dú)控制某個(gè)LED,需要先關(guān)閉這個(gè)服務(wù),釋放LED 資源。操作方法如下:點(diǎn)“Stop led-player”按鈕,這時(shí)它變?yōu)椤癝tart led-player”,同時(shí)板上所有燈關(guān)閉、“LED Control”框中所有按鈕由灰
42、色變?yōu)橛行?如下圖)。這時(shí)點(diǎn)“All On”按鈕可以點(diǎn)亮所有LED,點(diǎn)“All Off”可以關(guān)閉所有LED,勾選左邊任意一個(gè)框可以點(diǎn)亮相應(yīng)的LED,取消勾選左邊任意一個(gè)框可以熄滅相應(yīng)的LED。當(dāng)關(guān)閉“LED 測(cè)試”界面時(shí),會(huì)重新開(kāi)啟led-player 服務(wù)。(2) PWM 控制蜂鳴器在“友善之臂”程序中點(diǎn)“PWM-蜂鳴器測(cè)試”圖標(biāo),打開(kāi)如下界面:程序中默認(rèn)的 PWM 輸出為1000Hz,點(diǎn)“Start”按鈕開(kāi)始驅(qū)動(dòng)蜂鳴器發(fā)聲,此時(shí)可以通過(guò)點(diǎn)擊“”或者“”按鈕改變PWM 輸出的頻率,同時(shí)也可以聽(tīng)到蜂鳴器輸出聲音的改變。點(diǎn)“Stop”按鈕中止PWM 輸出。 (3) 按鍵測(cè)試說(shuō)明:在本開(kāi)發(fā)板系統(tǒng)中
43、,按鍵并沒(méi)有任何專用功能,它僅僅為測(cè)試底層驅(qū)動(dòng)而用。在“友善之臂”程序組中,點(diǎn)擊打開(kāi)“Buttons”程序,如圖:此時(shí)按下開(kāi)發(fā)板上的任意按鍵(可以是多個(gè)),相應(yīng)的按鍵圖標(biāo)就會(huì)變?yōu)樗{(lán)色,松開(kāi)后恢復(fù)為灰色,如圖。 (4) 設(shè)置時(shí)區(qū)-日期-時(shí)間-鬧鐘本開(kāi)發(fā)板在出廠的時(shí)候日期是不準(zhǔn)確的,因?yàn)镃PU 內(nèi)置了實(shí)時(shí)時(shí)鐘(RTC),開(kāi)發(fā)板上有備份電池,所以調(diào)整后的時(shí)間在關(guān)機(jī)后是可以”保存”的,調(diào)整時(shí)間的步驟如下:點(diǎn)擊任務(wù)欄右下角時(shí)間顯示區(qū)域,會(huì)出現(xiàn)一個(gè)菜單,在其中選擇“Set time”,打開(kāi)時(shí)間設(shè)置界面,如圖,在此界面你可以設(shè)置時(shí)區(qū),調(diào)整日期和時(shí)間等。 在菜單中選擇“Clock”,出現(xiàn)鐘表界面,點(diǎn)其中的“S
44、top Watch”打開(kāi)“秒表”程序。 (5) 關(guān)機(jī)操作在“設(shè)置”程序組中,有個(gè)“關(guān)機(jī)”圖標(biāo),打開(kāi)它,如圖,其中有四個(gè)關(guān)機(jī)選項(xiàng):- Shutdown:按下此按鈕,Linux 系統(tǒng)就會(huì)逐項(xiàng)關(guān)閉各個(gè)程序和服務(wù),直到整個(gè)系統(tǒng)關(guān)閉,這時(shí)CPU 已經(jīng)完全不工作了,此時(shí)整個(gè)系統(tǒng)的功耗是最低的。因?yàn)楸鹃_(kāi)發(fā)板并無(wú)相應(yīng)的硬件關(guān)機(jī)電路,因此你仍然可以看到板上的電源燈在亮。- Reboot:這是“熱”重啟按鈕,如果你使用的是NOR FLASH 模式,系統(tǒng)會(huì)逐項(xiàng)關(guān)閉各個(gè)應(yīng)用和服務(wù),重啟后會(huì)停留在Supervivi 的菜單模式;如果你使用的是NAND FLASH 模式,系統(tǒng)會(huì)逐項(xiàng)關(guān)閉各個(gè)應(yīng)用和服務(wù),然后自動(dòng)重啟重新進(jìn)入
45、Qtopia 系統(tǒng)。注意:Reboot 和后面所介紹的“看門狗”是完全不同的功能,“看門狗”屬于“冷”啟動(dòng),它不會(huì)逐項(xiàng)關(guān)閉各個(gè)應(yīng)用和服務(wù),而是直接復(fù)位重啟。- Restart Server 是指重新啟動(dòng)Qtopia 圖形系統(tǒng),此時(shí)并不會(huì)影響到基本的Linux 系統(tǒng);- Terminates Server 是指關(guān)閉Qtopia 圖形系統(tǒng),點(diǎn)擊它之后圖形界面就完全失效了,此時(shí)屏幕上的顯示是遺留在內(nèi)存中的數(shù)據(jù),并不是有效的圖形系統(tǒng)界面。 3. 練習(xí)使用串口終端操作開(kāi)發(fā)板3.1. 硬件連接和開(kāi)關(guān)設(shè)置- 使用直連串口線連接開(kāi)發(fā)板的串口 0 和PC 機(jī)的串口;- S2 接到Nand Flash 標(biāo)識(shí)一側(cè)時(shí)
46、,選擇系統(tǒng)從Nand Flash 啟動(dòng);- 用5V 電源適配器連接到板上的5V 輸入插座,先不用給開(kāi)發(fā)板上電。3.2. 設(shè)置超級(jí)終端為了通過(guò)串口連接開(kāi)發(fā)板,必須使用一個(gè)模擬終端程序,Windows自帶的超級(jí)終端是最常用的選擇,桌面版Linux系統(tǒng)也自帶了類似的串口終端軟件,叫minicom,它是基于命令行的程序,使用比較復(fù)雜一些。下面以WindowsXP 為例講超級(jí)終端的設(shè)置:超級(jí)終端程序通常位于開(kāi)始-程序-附件-通訊中,選擇運(yùn)行該程序,一般會(huì)跳出如圖所示窗口,詢問(wèn)你是否要將Hypertrm作為默認(rèn)的telnet程序,此時(shí)你不需要,因此點(diǎn)“否”按鈕。接下來(lái),會(huì)跳出如下窗口,點(diǎn)“取消” 按鈕。此
47、時(shí)系統(tǒng)提示“確認(rèn)取消”,點(diǎn)“是”即可,接著點(diǎn)提示窗口的“確定”,進(jìn)入下一步。超級(jí)終端會(huì)要求你為新的連接取一個(gè)名字,如圖所示,這里取了”ttyS0”,Windows系統(tǒng)會(huì)禁止你取類似”COM1”這樣的名字,因?yàn)檫@個(gè)名字被系統(tǒng)占用了。當(dāng)你命名完以后,又會(huì)跳出一個(gè)對(duì)話框,你需要選擇連接開(kāi)發(fā)板的串口,這里選擇了串口1,如圖所示: 最后,最重要的一步是設(shè)置串口,注意必須選擇無(wú)流控制,否則,或許你只能看到輸出而不能輸入,另外板子工作時(shí)的串口波特率是115200,如圖所示。選擇超級(jí)終端“文件”菜單下的“另存為”,保存該連接設(shè)置,以便于以后再連接時(shí)就不必重新執(zhí)行以上設(shè)置了。3.3. 使用超級(jí)終端控制開(kāi)發(fā)板當(dāng)所
48、有的連接參數(shù)都設(shè)置好以后,打開(kāi)電源開(kāi)關(guān),超級(jí)終端窗口中會(huì)出現(xiàn)系統(tǒng)啟動(dòng)界面。根據(jù)提示,按下回車,就可以開(kāi)始Linux 控制臺(tái)之旅了。任務(wù):1、基本命令的使用(1) 在超級(jí)終端中,使用命令在開(kāi)發(fā)板的/root目錄下建立armtest目錄(2) 使用cd和ls命令查看開(kāi)發(fā)板的文件(3) 使用vi命令建立一個(gè)test.txt文件,保存在/root/armtest目錄下,內(nèi)容自定2、運(yùn)行開(kāi)發(fā)板上的程序(1) 控制板上的LEDn 程序名稱: led-player ledsn 開(kāi)發(fā)板上對(duì)應(yīng)的設(shè)備名 /dev/leds開(kāi)機(jī)進(jìn)入系統(tǒng)后,將會(huì)自動(dòng)運(yùn)行運(yùn)行一個(gè)LED 服務(wù)程序(/etc/rc.d/init.d/le
49、ds),它其實(shí)是調(diào)用了led-player 的一個(gè)腳本,led-player 開(kāi)始運(yùn)行后,將會(huì)在/tmp 目錄下創(chuàng)建一個(gè)led-control 管道文件,向該管道發(fā)送不同的參數(shù)可以改變led 的閃爍模式:#echo 0 0.2 /tmp/led-control運(yùn)行該命令后,4 個(gè)用戶led 將會(huì)以每個(gè)間隔0.2 秒的時(shí)間運(yùn)行跑馬燈。#echo 1 0.2 /tmp/led-control運(yùn)行該命令后,4 個(gè)用戶led 將會(huì)以間隔0.2 秒的時(shí)間運(yùn)行累加器。#/etc/rc.d/init.d/leds stop運(yùn)行該命令后,4 個(gè)用戶led 將會(huì)停止閃動(dòng)。#/etc/rc.d/init.d/le
50、ds start運(yùn)行該命令后,4 個(gè)用戶led 將會(huì)重新開(kāi)始閃動(dòng)。/bin/leds 是一個(gè)可以控制單個(gè)led 的實(shí)用程序,要使用leds 必須先停止led-player,如下命令:#/etc/rc.d/init.d/leds stop該命令將停止led-player 對(duì)led 的操縱。led 的使用方法如下:rootfa /# ledUsage: leds led_no 0|1led_no 是要操作的led(可為0,1,2,3),0 和1 分別代表關(guān)閉和點(diǎn)亮。比如要點(diǎn)亮LED3,輸入以下命令:#led 2 1(2) 測(cè)試板上的按鍵n 測(cè)試程序名稱: buttonsn 開(kāi)發(fā)板上對(duì)應(yīng)的設(shè)備名 /dev/buttons在命令行輸入“buttons”
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 紙袋制作課件教學(xué)課件
- 防蜇課件教學(xué)課件
- 獲獎(jiǎng) 課件教學(xué)課件
- 2024年度農(nóng)產(chǎn)品收購(gòu)合同
- 2024年企業(yè)安全評(píng)價(jià)與咨詢服務(wù)合同
- 2024年度空氣能設(shè)備安裝與驗(yàn)收合同
- 2024國(guó)際快遞服務(wù)全面合作協(xié)議
- 2024樁基工程施工合同范本樁基工程施工合同
- 2024年企業(yè)合并收購(gòu)協(xié)議
- 2024個(gè)人租房的合同模板范本
- 2023-2024學(xué)年人民版六年級(jí)下冊(cè)勞動(dòng)教學(xué)設(shè)計(jì)(第6課)學(xué)用洗衣機(jī)(教案)
- 人工智能在教育行業(yè)的遠(yuǎn)程學(xué)習(xí)應(yīng)用
- 人教部編版語(yǔ)文七年級(jí)上冊(cè)第5課《秋天的懷念》表格教案
- 用鹽酸和碳酸鈉測(cè)定氯化鈉的實(shí)驗(yàn)
- 足底按摩課件
- 拓培非格司亭注射液-臨床藥品應(yīng)用解讀
- 房地產(chǎn)行業(yè)營(yíng)銷策劃培訓(xùn)講座
- 安保方案模板
- 體育室內(nèi)課《籃球ppt課件》
- 安裝培訓(xùn)方案
- 2023邊緣物聯(lián)代理技術(shù)要求
評(píng)論
0/150
提交評(píng)論