劉彥文-嵌入式系統(tǒng)實踐教程-CH2清華大學(xué)出版社.ppt_第1頁
劉彥文-嵌入式系統(tǒng)實踐教程-CH2清華大學(xué)出版社.ppt_第2頁
劉彥文-嵌入式系統(tǒng)實踐教程-CH2清華大學(xué)出版社.ppt_第3頁
劉彥文-嵌入式系統(tǒng)實踐教程-CH2清華大學(xué)出版社.ppt_第4頁
劉彥文-嵌入式系統(tǒng)實踐教程-CH2清華大學(xué)出版社.ppt_第5頁
已閱讀5頁,還剩104頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第2章 主機及目標(biāo)板的運行,2.1 終端基礎(chǔ)知識,2.1.1 tty tty是teletype或teletypewriter的縮寫,通常譯作電傳打字機。 現(xiàn)在Linux操作系統(tǒng)中tty的含義,通常指的是物理的或虛擬的終端。,2.1.2 早期的終端及終端與主機的連接 早期終端與小型機、中型機主機的連接,一般通過終端控制器實現(xiàn),如圖2.1所示。圖2.1中與終端無關(guān)的設(shè)備沒有畫出。,圖2.1 終端與主機的連接, 控制臺終端 控制臺終端顯示的內(nèi)容主要有:系統(tǒng)加電啟動或RESET后的引導(dǎo)信息;裝入Linux內(nèi)核過程的提示信息;多用戶訪問系統(tǒng)時的一些提示信息;系統(tǒng)運行中出現(xiàn)的錯誤提示和警告信息。 以root用戶名和確定口令從控制臺終端登錄的系統(tǒng)管理員,進入系統(tǒng)后通常會進行一些系統(tǒng)維護和系統(tǒng)管理工作。, 本地終端 如果終端的位置到主機的距離比較近,例如在樓內(nèi)同一層且與主機房相鄰的房間內(nèi),通常終端通過電纜連接到本地終端控制器上,本地終端控制器再連接到主機。本地終端控制器通常放置在主機旁邊,通過RS-232C接口電纜與主機相連。, 遠程終端 如果終端位置到主機的距離比較遠。 遠程終端控制器放置在遠程終端附近的地方,通過電纜分別連接不同的遠程終端。, 調(diào)制解調(diào)器 使用調(diào)制解調(diào)器(modem)的目的,是為了減少傳輸信號的信號損失。 調(diào)制解調(diào)器主要有兩個功能,一是可以把RS-232C接口要發(fā)送的信號通過調(diào)頻(或調(diào)相)電路發(fā)送出去,稱為調(diào)制;另外也可以把接收到的調(diào)制信號通過解調(diào)電路轉(zhuǎn)換成RS-232C接口能夠識別的信號,稱為解調(diào)。經(jīng)過調(diào)制的信號,傳輸距離比較長,信號失真也比較小。, 終端的使用 在多用戶、多任務(wù)操作系統(tǒng)支持下,每個用戶通過登錄能夠在一個終端上使用主機的資源。 例如一個用戶正在編譯他的源程序,另一個用戶正在運行他的程序,那么編譯和運行過程都在主機進行,源程序和可執(zhí)行文件也都保存在與主機連接的磁盤上,終端只是用于告訴操作系統(tǒng),不同的使用者提供了哪些不同的任務(wù);而主機則將執(zhí)行結(jié)果分別送到登錄用戶使用的終端顯示。 當(dāng)?shù)卿浻脩敉顺鱿到y(tǒng)后,終端將不再顯示操作系統(tǒng)與該用戶的相關(guān)信息,而是等待下一個用戶登錄或系統(tǒng)管理員結(jié)束操作系統(tǒng)的運行。,2.1.3 X-Window、GNOME及KDE簡介 X-Window X-Window也稱為X-Window System,或稱X視窗系統(tǒng)。 X-Window只是一個工具包及架構(gòu)協(xié)議,目前依據(jù)該工具包及協(xié)議開發(fā)的實現(xiàn)體中,以X.Org的使用最為廣泛,且最受歡迎。X.Org所用的協(xié)議版本,稱為X11,是1987年9月發(fā)布的。現(xiàn)在最新的參考實現(xiàn),是X11 Release 7.5,也寫作X11 R7.5。, GNOME GNOME包含一個啟動應(yīng)用程序的面板、一個桌面、一批標(biāo)準桌面工具及應(yīng)用程序、編程及開發(fā)者支持特性等,它向用戶提供了一個完整的GUI工作環(huán)境。, KDE KDE(Kool Desktop Environment,K桌面環(huán)境)項目是1996年由德國人Matthias Ettrich發(fā)起的項目,是一個基于Qt GUI庫的開源桌面環(huán)境。已經(jīng)成為Red Hat Enterprise Linux發(fā)行版默認的桌面環(huán)境。KDE中包含了大量的應(yīng)用程序和工具,包括一套辦公軟件、一個web瀏覽器、一個功能齊全的應(yīng)用程序集成開發(fā)環(huán)境。 KDE提供了許多KDE構(gòu)件,這些構(gòu)件通常源于Qt,但是與Qt相比,進一步增強了功能和易用性。 Qt是一個用C+編寫的、跨平臺的工具包。,2.2 主機系統(tǒng)引導(dǎo)、登錄及退出Linux,2.2.1 系統(tǒng)引導(dǎo) 引導(dǎo)過程(boot process),也稱啟動過程,指的是從主機(如PC機)電源開關(guān)閉合或者在加電狀態(tài)按下RESET鍵以后,到內(nèi)核獲得控制權(quán)這一段時間。,計算機內(nèi)部運行過程,主要包括: PC機內(nèi)部有一片ROM存儲區(qū),存儲了BIOS(Basic Input Output System,基本輸入輸出系統(tǒng)),加電或RESET后,CPU把第一條可執(zhí)行指令的物理地址設(shè)置為0xFFFF0,即指向BIOS的入口地址;然后CPU執(zhí)行BIOS中的程序,對底層硬件、接口和設(shè)備進行測試及初始化,例如對中斷控制器、DMA控制器、串行端口等等進行測試和初始化;之后運行的BIOS中的程序,從指定的引導(dǎo)盤上將一個引導(dǎo)扇區(qū)的內(nèi)容裝入內(nèi)存。, BIOS將程序執(zhí)行權(quán)移交給剛剛從引導(dǎo)扇區(qū)裝入內(nèi)存的這段程序,由這段程序,將硬盤上的Linux內(nèi)核代碼壓縮包裝入內(nèi)存。 為了節(jié)省存儲空間,通常Linux內(nèi)核代碼是經(jīng)過壓縮的,并且在壓縮包的頭部有一小段程序是未經(jīng)壓縮的可執(zhí)行代碼,這段程序的功能是對Linux壓縮包中的內(nèi)核代碼解壓縮。 程序執(zhí)行權(quán)移交給解壓縮代碼,由它解壓縮并分配內(nèi)存空間、填充解壓縮后的代碼。解壓縮完成后,執(zhí)行權(quán)轉(zhuǎn)移到內(nèi)核代碼入口處。,系統(tǒng)引導(dǎo)是由兩部分程序共同配合完成的,BIOS將引導(dǎo)扇區(qū)內(nèi)容讀入內(nèi)存,由引導(dǎo)扇區(qū)讀入內(nèi)存的這段代碼再把內(nèi)核裝入內(nèi)存。 內(nèi)核代碼開始執(zhí)行表示引導(dǎo)過程結(jié)束。內(nèi)核要進行初始化,初始化任務(wù)依不同的硬件和不同的Linux版本而有所不同。,2.2.2 登錄Linux 通常在安裝Linux發(fā)行版時,系統(tǒng)要求設(shè)置與root用戶名對應(yīng)的一組口令,或稱為密碼。root用戶在Linux系統(tǒng)中也稱為超級用戶、系統(tǒng)管理員、根用戶,擁有最高管理權(quán)限。 嵌入式系統(tǒng)開發(fā)過程中,通常將開發(fā)者設(shè)置為root用戶,這是因為開發(fā)者會使用較多的軟、硬件資源。但是有時候一臺計算機會有多人使用,比如實驗室或機房,一種辦法是大家都作為root用戶,都知道對應(yīng)的口令;另一種辦法是將一部分使用資源相對較少的用戶,設(shè)置為普通用戶,并為每個人設(shè)置一個單獨的用戶名和口令。,登錄方式有兩種,即字符方式登錄和GUI方式登錄,現(xiàn)在常用的是GUI方式。 登錄就是Linux出現(xiàn)提示信息后,要求用戶輸入用戶名和與其對應(yīng)的口令,然后系統(tǒng)進行驗證的過程。 圖2.2是GUI界面提示輸入用戶名的登錄界面,之后還會要求輸入密碼(口令)。,圖2.2 GUI界面登錄,2.2.3 Linux的終端 在嵌入式系統(tǒng)開發(fā)過程中,Linux發(fā)行版通常安裝在PC機或筆記本電腦,也就是主機。與圖2.1不同的是,PC機或筆記本電腦通常不會連接物理終端設(shè)備作為Linux的終端,雖然可以這樣做,例如Linux支持通過串口連接物理終端、通過USB口轉(zhuǎn)串口連接物理終端、通過串口和調(diào)制解調(diào)器連接物理終端,但是很少使用。,Linux必須使用的終端設(shè)備(包括控制臺等),是借助于與主機連接的顯示器、鍵盤、鼠標(biāo)和終端仿真程序或終端應(yīng)用程序來實現(xiàn)的,一般把它們稱為虛擬終端或偽終端(pseudo terminal),簡稱終端。,在圖形桌面環(huán)境,鼠標(biāo)點擊“紅帽子”,選擇“終端”,就可以打開一個虛擬終端,見圖2.3。 打開虛擬終端的同時,系統(tǒng)為使用該終端的用戶啟動一種shell。 啟動哪一種shell,可能是由系統(tǒng)管理員確定的,或者是由用戶與系統(tǒng)管理員協(xié)商的。,圖2.3 虛擬終端窗口,同一個用戶,如root用戶,可以依次打開多個虛擬終端,允許在每個虛擬終端的命令行,輸入不同的命令,讓Linux執(zhí)行多個不同的任務(wù)。 不同的用戶,如普通用戶中的每一個用戶,登錄后也可以打開一個或多個虛擬終端。 圖2.4是一個root用戶打開的兩個虛擬終端窗口。用鼠標(biāo)點擊哪一個窗口,這個窗口對應(yīng)的虛擬終端就被激活。,圖2.4 同一個用戶打開的兩個虛擬終端窗口,可以用tty命令,查詢當(dāng)前激活窗口使用的是哪個終端: rootvm-dev # tty /dev/pts/2 上述顯示的pts是pseudo terminal slave的縮寫,意思為:從偽終端,是眾多偽終端類型中的一種;顯示的2表示第2個從偽終端。,用echo命令,可以查詢使用的終端類型: rootvm-dev pts# echo $TERM Xterm 上述顯示的Xterm,表示是一個基于X-Window System的標(biāo)準虛擬終端。,如果一個用戶同時打開了兩個虛擬終端,比如pts2/和pts/3,用echo命令,可以從一個終端pts/2給另一個終端pts/3發(fā)送消息: rootvm-dev tty# tty /dev/pts/2 rootvm-dev tty# echo “to pts/3,test2.1“ /dev/pts/3,之后用鼠標(biāo)激活pts/3終端,可以看到它收到了pts/2發(fā)送過來的消息,下面顯示的前兩行是接收操作以前命令遺留下的內(nèi)容,目的是為了讓讀者知道當(dāng)前的tty是哪一個。 rootvm-dev pts# tty /dev/pts/3 rootvm-dev pts# to pts/3,test2.1,可以通過cat命令查詢主機上Linux支持哪些種類的終端: rootlocalhost # cat /proc/tty/drivers,能夠在/dev目錄下,用ls命令查詢串行端口能夠連接多少個終端: rootlocalhost dev# ls /dev/ttyS* -l crw-rw- 1 root uucp 4, 64 01-10 10:06 /dev/ttyS0 crw-rw- 1 root uucp 4, 65 01-10 10:06 /dev/ttyS1 crw-rw- 1 root uucp 4, 66 01-10 10:06 /dev/ttyS2 crw-rw- 1 root uucp 4, 67 01-10 10:06 /dev/ttyS3,2.2.4 查看及修改用戶使用的shell 系統(tǒng)管理員創(chuàng)建一個新的用戶賬戶時,為該賬戶分配一個默認的shell。如果用戶有專門的喜好,在申請賬戶時,可以告訴系統(tǒng)管理員,讓他把你要使用的shell設(shè)置成默認的shell。 用戶登錄后,打開一個終端時,系統(tǒng)啟動該用戶使用的shell,關(guān)閉這個終端時,終止這個shell的運行。,shell是一個程序,稱為外殼,處于Linux內(nèi)核與用戶之間,通常負責(zé)接收用戶通過終端的鍵盤輸入的命令和參數(shù),提交內(nèi)核處理,內(nèi)核處理結(jié)果再通過shell輸出到終端窗口。用戶使用Linux主要是與shell交互,當(dāng)然在圖形桌面環(huán)境也可以使用鼠標(biāo)、鍵盤和顯示窗口,與基于X-Window系統(tǒng)的GNOME和KDE交互。, 查看使用的shell 可以通過ps命令,查看為當(dāng)前用戶打開的幾個終端分別使用的shell是哪一種,假定同一個root用戶打開了2個終端: rootlocalhost dev# ps -e PID TTY TIME CMD 5649 pts/2 00:00:00 bash 5892 ? 00:00:07 kdeinit 5893 pts/3 00:00:00 bash 9187 pts/3 00:00:00 ps 上述內(nèi)容表示,pts/2和pts/3終端,使用的都是bash。, 臨時改用另一種shell 如果用戶只想臨時把使用的一種shell改為另一種,可以在命令行提示符處直接輸入另一種shell的名字并回車,之后系統(tǒng)為這個用戶啟動指定的shell。 以下是在pts/3輸入新的shell名ash,然后用ps -e命令查看pts/3使用哪一種shell。注意改用另一種shell后,命令行提示符也不一樣了:,rootvm-dev /# tty /dev/pts/3 rootvm-dev /# ash # ps -e PID TTY TIME CMD 5649 pts/2 00:00:00 bash 5892 ? 00:00:09 kdeinit 5893 pts/3 00:00:00 bash 9387 pts/3 00:00:00 ash 9388 pts/3 00:00:00 ps,上述內(nèi)容表示,在pts/3終端上,通過輸入shell名ash,將pts/3的shell改為ash,而同一用戶打開的pts/2終端,仍然使用的是bash。 啟動一個新的shell后,用戶將一直與這個shell交互,直到用戶輸入exit命令,退出新的shell。上述啟動新的shell ash后,輸入exit命令,系統(tǒng)自動恢復(fù)使用原來的bash,如下所示:,# exit rootvm-dev /# tty /dev/pts/3 rootvm-dev /# ps -e PID TTY TIME CMD 5649 pts/2 00:00:00 bash 5892 ? 00:00:10 kdeinit 5893 pts/3 00:00:00 bash 9932 pts/3 00:00:00 ps rootvm-dev /#,不同種類shell對應(yīng)的可執(zhí)行文件,都存儲在/bin目錄下,如果在命令行只輸入shell名,比如ash,卻不能啟動ash,那么應(yīng)該在shell名前加上路徑名,例如/bin/ash。 也可以用以下命令,查找系統(tǒng)中已經(jīng)安裝了哪些shell: rootlocalhost # cd /bin rootlocalhost bin# ls *sh, 修改默認的shell(略),2.2.5 通過退出與shell的會話退出Linux 通常是在系統(tǒng)結(jié)束了用戶的任務(wù)后,在命令行輸入exit命令,結(jié)束與shell的會話。退出與shell的會話后,也就結(jié)束了該用戶登錄以來,系統(tǒng)提供的軟、硬件資源的使用權(quán),退出了Linux。 如果該用戶或另外一個用戶要使用這臺終端,或者在其他終端上使用Linux,需要再一次登錄即輸入他自己的用戶名和口令組合,經(jīng)過系統(tǒng)驗證正確后,才能使用系統(tǒng)分配給他的軟、硬件資源。,在普通PC機或筆記本電腦上,可以使用exit命令退出shell,退出后系統(tǒng)關(guān)閉了該用戶登錄后已經(jīng)打開的窗口。 在GUI桌面環(huán)境下,也可以用鼠標(biāo)關(guān)閉窗口退出;或者單擊鼠標(biāo)右鍵,在隨后出現(xiàn)的菜單中,選擇關(guān)閉會話菜單條,退出。,2.2.6 關(guān)閉運行的Linux系統(tǒng) Linux是一個多用戶、多任務(wù)的操作系統(tǒng),退出與shell的會話,只是一個用戶結(jié)束了使用Linux的過程,此時系統(tǒng)中可能還有其他用戶正在使用Linux。關(guān)閉運行的Linux的含義通常是指,在每個普通用戶結(jié)束了與shell的會話后,由root用戶發(fā)送退出的命令,Linux有序地退出運行。,退出命令有shutdown、halt、poweroff、reboot等。 其中shutdown最為常用,它使用系統(tǒng)提供的腳本,執(zhí)行正確的關(guān)閉步驟; 命令halt一般會立即關(guān)閉系統(tǒng),不像shutdown命令退出時執(zhí)行那么多關(guān)閉步驟,這可能會引起文件系統(tǒng)同步的問題;命令poweroff通過切斷電源來關(guān)閉系統(tǒng); 而命令reboot將先退出然后重新啟動系統(tǒng)。,使用VMWare虛擬機,可以用鼠標(biāo)點擊桌面窗口右上角的關(guān)閉窗口圖標(biāo),關(guān)閉運行的Linux,之后系統(tǒng)會提示Suspend(掛起)還是Power Off(斷電)。通??梢赃x擇掛起,這樣在下一次從虛擬機中啟動Linux時,啟動時間比較短。 圖2.5為使用虛擬機,關(guān)閉運行的Linux系統(tǒng)時,虛擬機提供給用戶的選擇界面。,圖2.5 使用虛擬機關(guān)閉Linux時的選擇界面,選擇掛起(suspend)后,終止了Linux運行的同時,也關(guān)閉了虛擬機窗口,結(jié)束了虛擬機運行。 下次要運行Linux時,需要雙擊Windows桌面虛擬機圖標(biāo),然后在虛擬機窗口選擇Resume this virtual machine(恢復(fù)虛擬機)。 選擇斷電(power off)后,在虛擬機中模擬單獨運行Linux時的斷電操作。下次要運行Linux時,雙擊Windows桌面虛擬機圖標(biāo),選擇power on。,2.2.7 使用幫助命令help和man help命令 輸入help命令后,終端上將顯示用戶現(xiàn)在使用的shell內(nèi)部定義的全部命令,輸出顯示內(nèi)容見1.2.2小節(jié)。 命令help的輸出較為簡單,僅僅是將各命令列表輸出,如果要查找某一條命令的具體含義,例如查找pwd命令的含義,需要在help后跟隨pwd,如下所示:,rootvm-dev /# help pwd pwd: pwd -PL Print the current working directory. With the -P option, pwd prints the physical directory, without any symbolic links; the L option makes pwd follow symbolic links. rootvm-dev /#,對于那些更多的、沒有定義在用戶正在使用的shell內(nèi)部的命令,help命令不會顯示相關(guān)信息,例如ls命令不在shell內(nèi)部,那么使用以下命令: rootvm-dev /# help ls bash: help: no help topics match ls. Try help help or man -k ls or info ls. rootvm-dev /#, 用ls命令查找shell之外的命令 除了shell內(nèi)部定義的那些命令之外,其余命令對應(yīng)的可執(zhí)行文件,一般都可以在子目錄/bin和/sbin中找到??梢允褂妹?ls /bin或者ls /sbin去查找。, man命令 Linux帶有聯(lián)機幫助功能,它的幫助文件稱為聯(lián)機幫助頁(man pages),要想找某一個命令的詳細信息,比如ls命令,只要在命令行輸入man后跟隨空格及l(fā)s,然后回車就可以了。 man命令輸出的信息很多,如下顯示輸出的內(nèi)容是ls命令的幫助頁,使用省略號代替了一些實際輸出的信息(略)。,2.3 目標(biāo)板初次運行,2.3.1 目標(biāo)板連接的電源、端口及安裝的操作系統(tǒng) 不同處理器架構(gòu)以及不同公司生產(chǎn)的目標(biāo)板,外觀、尺寸及目標(biāo)板上的微處理器、外部設(shè)備種類和設(shè)備的多少都不相同。但是能夠運行的Linux操作系統(tǒng)的目標(biāo)板初次加電運行時,通常會涉及到以下硬件和軟件。, 電源適配器及開關(guān) 常見的電源適配器有兩種,共同點是它們的輸入插頭,都連接到交流220V電源插座;不同點是,一種電源適配器產(chǎn)生的輸出電壓是直流5V,另一種是直流12V。有的目標(biāo)板使用外接直流5V電源,有的目標(biāo)板使用外接直流12V電源。 也有將電源適配器安裝在目標(biāo)板箱體內(nèi)部的,外接220V交流電通過插座由電纜引入。,目標(biāo)板上通常有一個電源開關(guān),還有一個RESET鍵。通過閉合電源開關(guān)接通電源后,目標(biāo)板能夠自動引導(dǎo)系統(tǒng)運行。在目標(biāo)板加電狀態(tài),按下RESET鍵,會重新引導(dǎo)系統(tǒng)。, 與主機連接的端口和電纜 目標(biāo)板通常通過以太網(wǎng)端口、JTAG端口、串行端口及相應(yīng)電纜,連接到主機對應(yīng)的端口。 串行端口常常被稱為串行口、串口、COM口、RS-232或RS-232C;也有稱之為UART(Universal Asynchronous Receiver and Transmitter,通用異步收發(fā)器)的。 主機上通常有2個或4個串行端口,排序從COM1、COM2往后排,其中COM1是第一個端口。目標(biāo)板通常有2個串行端口,有些目標(biāo)板排序是從0開始往后排,如RS-232-0、RS-232-1,或者UART0、UART1等,其中RS-232-0或者UART0是第一個端口。,使用串口電纜連接主機、目標(biāo)板的串行端口時,一定要在兩端機器都關(guān)機(斷電)的狀態(tài)下連接,不允許帶電插拔串口插頭。,另外對于目標(biāo)板的裝載引導(dǎo)程序和Linux內(nèi)核,在廠商那里通常已經(jīng)將第一個串口設(shè)置為默認使用的端口,所以串口電纜應(yīng)與目標(biāo)板的第一個串口連接。雖然主機可以在仿真終端程序中設(shè)定使用任意一個串行端口與目標(biāo)板連接,但是通常使用第一個串行端口。,使用串行端口通信,雙方要事先約定好通信協(xié)議中的一些參數(shù),如每秒傳輸多少bit、選擇一幀中數(shù)據(jù)位是5/6/7/8bit中的哪一種、奇偶校驗位的使用等等。這些參數(shù)目標(biāo)板出廠前在裝載引導(dǎo)程序和內(nèi)核中已經(jīng)進行了設(shè)置,因此要根據(jù)廠商提供的資料中的參數(shù),在主機支持串口的終端仿真程序中進行相應(yīng)的設(shè)置。例如對Windows支持的超級終端程序、Linux支持的仿真終端程序minicom,第一次使用這些程序時應(yīng)該進行相應(yīng)設(shè)置,設(shè)置方法后文另述。, 確認目標(biāo)板安裝的操作系統(tǒng) 常見的目標(biāo)板通常能夠支持Linux、Windows CE、C/OS等多種操作系統(tǒng)。不同的操作系統(tǒng)啟動、運行和軟件開發(fā)的方法也不相同。買來的新目標(biāo)板出廠時已經(jīng)在閃存預(yù)裝了操作系統(tǒng)等軟件,要確認安裝的是否為Linux。如果不是,用戶要自己燒寫相應(yīng)的程序。 如果目標(biāo)板別人已經(jīng)用過了,一個新的用戶使用前,也要確認此前是否使用的是Linux,如果不是,也要燒寫相應(yīng)的程序才能使用。,2.3.2 目標(biāo)板引導(dǎo)過程簡述 如果目標(biāo)板安裝的是Linux系統(tǒng),它的閃存中通常保存了裝載引導(dǎo)程序(bootloader)、Linux內(nèi)核、Linux根文件系統(tǒng)和應(yīng)用程序。其中內(nèi)核、根文件系統(tǒng)和應(yīng)用程序一起被稱為嵌入式Linux發(fā)行版,它是由生產(chǎn)目標(biāo)板的公司針對具體目標(biāo)板進行開發(fā)并發(fā)布的,這些文件在隨機附帶的光盤中能夠找到。最常用的裝載引導(dǎo)程序有vivi和u-boot,它們的功能基本相同,附帶的光盤中也有相應(yīng)的文件。,加電或RESET后,目標(biāo)板有兩種運行方式可以選擇。一種是只運行裝載引導(dǎo)程序,另一種是由先運行的裝載引導(dǎo)程序裝入并運行Linux。,加電或RESET后,首先運行的是裝載引導(dǎo)程序,它的功能簡單地說,主要有: 測試微處理器內(nèi)部的功能單元; 測試目標(biāo)板上的接口及設(shè)備; 提供與用戶交互的界面; 為裝入內(nèi)核做相應(yīng)的硬、軟件準備或初始化工作; 詢問用戶,是否裝入Linux內(nèi)核,用戶可選擇只運行裝載引導(dǎo)程序,或裝入內(nèi)核。,裝載引導(dǎo)程序需要一個終端與用戶交互,通常它定義了目標(biāo)板的第一個串口,作為與終端連接的端口,這個端口通過電纜連接到主機(PC機或筆記本電腦)。主機如果運行的是Windows操作系統(tǒng),應(yīng)該啟動并配置一個叫做超級終端的程序,之后目標(biāo)板裝載引導(dǎo)程序的輸出就顯示在主機的超級終端窗口;通過主機的鍵盤,也可以給目標(biāo)板的裝載引導(dǎo)程序發(fā)送命令和參數(shù)。,如果主機中運行的是Linux,那么要在Linux虛擬終端窗口,輸入minicom命令,啟動一個叫做仿真終端的程序,并對其配置,之后這個原來是主機Linux的虛擬終端窗口,變成了目標(biāo)板裝載引導(dǎo)程序的仿真終端窗口。主機的鍵盤,當(dāng)做仿真終端的鍵盤。 目標(biāo)板運行裝載引導(dǎo)程序使用的終端(也稱控制臺)舉例,見圖2.6。,圖2.6 目標(biāo)板運行裝載引導(dǎo)程序使用的終端舉例,目標(biāo)板上運行的裝載引導(dǎo)程序,在其運行的后一階段,會在終端窗口提示用戶,如果按下回車鍵,則繼續(xù)引導(dǎo)Linux內(nèi)核;按下其他鍵,則只運行裝載引導(dǎo)程序,例如vivi裝載引導(dǎo)程序在終端提示用戶(略)。,如果用戶沒有在終端鍵盤按下任何鍵,通常等待若干秒,比如30秒,裝載引導(dǎo)程序會自動引導(dǎo)Linux內(nèi)核。等待多少秒這個參數(shù),在裝載引導(dǎo)程序內(nèi)部可以設(shè)置。,裝入內(nèi)核過程中,不同設(shè)備、不同Linux版本在終端顯示的內(nèi)容不一樣,可能顯示如下信息: Copy linux kernel from 0x00030000 to 0x30008000, size = 0x00100000 . done zImage magic = 0x016f2818 Setup linux parameters at 0x30000100 linux command line is: “noinitrd root=/dev/bon/3 init=/linuxrc console=ttyS0“ MACH_TYPE = 193 NOW, Booting Linux Uncompressing Linuxdone, booting.,2.4.18-rmk7-pxa1 (rootBC) (gcc version 2.95.2 20000516 (release) R) #7 CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0 Machine: Samsung-SMDK2410 BusyBox v1.00 (2005.01.20-11:59+0000) Built-in shell (ash) Enter help for a list of built-in commands. runing /etc/profile ok /mnt/yaffs,其中命令行提示符是可以通過程序設(shè)置的,本例中是/mnt/yaffs,表示目標(biāo)板已經(jīng)裝入并運行的是Linux。,2.3.3 主機Windows下的超級終端 目標(biāo)板運行的裝載引導(dǎo)程序或Linux,一般指定了與目標(biāo)板第一個串口連接的設(shè)備,作為它的終端設(shè)備。通常主機通過串口與目標(biāo)板連接,如果主機運行的是Windows操作系統(tǒng),那么需要啟動一個叫做超級終端(hyperterminal)的程序,由這個程序建立一個帶有名字的、設(shè)置了通信參數(shù)的超級終端實例程序,以下簡稱實例程序。這個實例程序只在第一次使用前建立,以后可以直接使用。,通過超級終端程序建立一個實例程序的過程如下: 在Windows XP桌面,選擇:開始所有程序附件通訊超級終端,則: 如果是首次建立實例程序,會出現(xiàn)圖2.7(a)對話框,點擊會出現(xiàn)符號,選擇否,然后出現(xiàn)圖2.7(b) 對話框。 如果不是首次建立實例程序,則直接出現(xiàn)圖2.7(b) 對話框。,圖2.7 為實例程序命名(a),圖2.7 為實例程序命名(b),在圖2.7(b) 對話框的名稱欄中,輸入實例程序的名字,例如ARM9NEW2,然后單擊確定按鈕。之后在出現(xiàn)的圖2.8所示的對話框中,選擇COM1,單擊確定按鈕。,圖2.8 對話框中選擇COM1,隨后在圖2.9所示的對話框中,分別選擇115200、8、無、1和無,單擊確定按鈕,出現(xiàn)如圖2.10所示的窗口。,圖2.9 COM1端口屬性設(shè)置,在圖2.10所示的窗口,點擊文件下拉菜單,選擇保存,則實例運行程序以用戶在圖2.7(b)中給出的名字保存。,圖2.10 超級終端運行實例窗口,這時如果目標(biāo)板和PC機串口是連接的,目標(biāo)板加電或按下RESET鍵,目標(biāo)板輸出信息通過串口,顯示在實例程序打開的窗口,如圖2.11所示。,圖2.11 超級終端實例程序窗口顯示,以后再使用超級終端時,只要啟動實例程序就可以了。通過:開始所有程序附件通訊超級終端實例程序名,去啟動。,2.3.4 主機Linux下的minicom仿真終端 主機Linux環(huán)境最常用的一個仿真終端程序是minicom,用途與Windows下超級終端實例程序一樣。在第一次使用minicom時,也應(yīng)該進行設(shè)置,再次使用就不需要設(shè)置了,設(shè)置過程如下: 在Linux圖形桌面環(huán)境,打開一個終端,在終端窗口輸入minicom,回車,顯示的內(nèi)容如圖2.12所示。 (也可以輸入minicom -s),圖2.12 minicom仿真終端設(shè)置窗口,之后用戶在鍵盤先按下Ctrl和A鍵,松開后再按下Z鍵,進入主配置界面,如圖2.13所示。,圖2.13 仿真終端串口設(shè)置的參數(shù),然后按O鍵,進入配置界面,如圖2.14所示。,圖2.14 minicom配置界面,然后由光標(biāo)上、下移動鍵,選擇Serial port setup,進入串行端口設(shè)置界面,如圖2.15所示。,圖2.15 串行端口設(shè)置界面,如圖2.15,按下A鍵,設(shè)置Serial Device為/dev/ttyS0,然后分別按下B、E、F鍵,設(shè)置如圖2.15中所示的參數(shù)。之后按ESC鍵,退到圖2.14所示界面,選擇Save setup as df1保存退出,以后只要在Linux終端窗口輸入minicom命令,啟動的minicom仿真終端程序,使用的就是圖2.15中對應(yīng)參數(shù)的配置了。 再次使用minicom仿真終端時,只要在主機Linux圖形桌面環(huán)境下,打開一個終端,輸入minicom就可以了。主機上minicom對應(yīng)的窗口與鍵盤,是作為目標(biāo)板的終端來使用的。如果要對主機運行的Linux操作,需要另外打開一個終端,進行操作,如圖2.1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論