在了解了Linux的常見(jiàn)命令之后,下面詳細(xì)講解Linux的啟動(dòng)過(guò)程。Linux的啟動(dòng)過(guò)程包含了Linux工作原理的精髓,而且在嵌入式開(kāi)發(fā)過(guò)程中非常需要這方面的知識(shí)。
init進(jìn)程的作用是啟動(dòng)Linux系統(tǒng)服務(wù)(也就是運(yùn)行在后臺(tái)的守護(hù)進(jìn)程)。Linux的系統(tǒng)服務(wù)包括兩種,第一種是獨(dú)立運(yùn)行的系統(tǒng)服務(wù),它們常駐內(nèi)存中,自開(kāi)機(jī)后一直運(yùn)行著(如httpd),具有很快的響應(yīng)速度;第二種是由xinet設(shè)定的服務(wù)。
在Linux下安裝一個(gè)完整的軟件(嵌入式Linux的必備工具——交叉編譯工具),掌握Linux常見(jiàn)命令,學(xué)會(huì)設(shè)置環(huán)境變量,同時(shí)搭建起嵌入式Linux的交叉編譯環(huán)境(關(guān)于交叉編譯的具體概念在本書(shū)后面會(huì)詳細(xì)講解),為今后的實(shí)驗(yàn)打下良好的基礎(chǔ)。
C語(yǔ)言最早是由貝爾實(shí)驗(yàn)室的Dennis Ritchie為了UNIX的輔助開(kāi)發(fā)而編寫(xiě)的,它是在B語(yǔ)言的基礎(chǔ)上開(kāi)發(fā)出來(lái)的。盡管C語(yǔ)言不是專(zhuān)門(mén)針對(duì)UNIX操作系統(tǒng)或機(jī)器編寫(xiě)的,但它與UNIX系統(tǒng)的關(guān)系十分緊密。由于它的硬件無(wú)關(guān)性和可移植性,使C語(yǔ)言逐漸成為世界上使用最廣泛的計(jì)算機(jī)語(yǔ)言。
讀者通過(guò)親自動(dòng)手安裝Linux操作系統(tǒng),對(duì)Linux有個(gè)初步的認(rèn)識(shí),并且加深對(duì)Linux中的基本概念的理解,熟悉Linux文件系統(tǒng)目錄結(jié)構(gòu)。
GNU CC是GNU項(xiàng)目中符合ANSI C標(biāo)準(zhǔn)的編譯系統(tǒng),能夠編譯用C、C++和Object C等語(yǔ)言編寫(xiě)的程序。gcc不僅功能強(qiáng)大,而且可以編譯如C、C++、Object C、Java、Fortran、Pascal、Modula-3和Ada等多種語(yǔ)言,而且gcc是一個(gè)交叉平臺(tái)編譯器。
調(diào)試是所有程序員都會(huì)面臨的問(wèn)題。如何提高程序員的調(diào)試效率,更好、更快地定位程序中的問(wèn)題從而加快程序開(kāi)發(fā)的進(jìn)度,是大家都很關(guān)注的問(wèn)題。就如讀者熟知的Windows下的一些調(diào)試工具,如Visual Studio自帶的設(shè)置斷點(diǎn)、單步跟蹤等,都受到了廣大用戶的贊賞。
在上一小節(jié),讀者已經(jīng)了解到了make項(xiàng)目管理器的強(qiáng)大功能。的確,makefile可以幫助make完成它的使命,但要承認(rèn)的是,編寫(xiě)makefile確實(shí)不是一件輕松的事,尤其對(duì)于一個(gè)較大的項(xiàng)目而言更是如此。那么,有沒(méi)有一種輕松的手段生成makefile而同時(shí)又能讓用戶享受make的優(yōu)越性呢?
尼葛洛龐帝2001年訪華時(shí)的預(yù)言“4~5年后,嵌入式智能電腦將是繼PC和Internet后的最偉大發(fā)明!”。如今,嵌入式系統(tǒng)已成為當(dāng)今最為熱門(mén)的領(lǐng)域之一,它迅猛的發(fā)展勢(shì)頭引起了社會(huì)各界人士的關(guān)注。如家用電器、手持通信設(shè)備、信息終端、儀器儀表、汽車(chē)、航天航空、軍事裝備、制造工業(yè)、過(guò)程控制等。今天,嵌入式系統(tǒng)帶來(lái)的工業(yè)年產(chǎn)值已超過(guò)1萬(wàn)億美元。
通過(guò)指定指令的vi操作練習(xí),使讀者能夠熟練使用vi中的常見(jiàn)操作,并且熟悉vi的3種模式,如果讀者能夠熟練掌握實(shí)驗(yàn)內(nèi)容中所要求的內(nèi)容,則表明對(duì)vi的操作已經(jīng)很熟練了。
由嵌入式系統(tǒng)本身的特性所影響,嵌入式系統(tǒng)開(kāi)發(fā)與通用系統(tǒng)的開(kāi)發(fā)有很大的區(qū)別。嵌入式系統(tǒng)的開(kāi)發(fā)主要分為系統(tǒng)總體開(kāi)發(fā)、嵌入式硬件開(kāi)發(fā)和嵌入式軟件開(kāi)發(fā)3大部分,其總體流程圖如圖4.15所示。
通過(guò)使用JTAG燒寫(xiě)Flash的實(shí)驗(yàn),了解嵌入式硬件環(huán)境,熟悉JTAG的使用,為今后的進(jìn)一步學(xué)習(xí)打下良好的基礎(chǔ)。本書(shū)以優(yōu)龍的FS2410及Flash燒寫(xiě)工具為例進(jìn)行講解,不同廠商的開(kāi)發(fā)板都會(huì)提供相應(yīng)的Flash燒寫(xiě)工具,并有相應(yīng)的說(shuō)明文檔,請(qǐng)讀者在了解基本原理之后查閱相關(guān)手冊(cè)。
本章講解了嵌入式中的基本概念,包括嵌入式系統(tǒng)的含義、發(fā)展歷史、特點(diǎn)以及其體系結(jié)構(gòu)。在這里,重點(diǎn)要掌握嵌入式系統(tǒng)和通用計(jì)算機(jī)的區(qū)別以加深對(duì)嵌入式系統(tǒng)的理解。
本章是Linux中進(jìn)行C語(yǔ)言編程的基礎(chǔ),首先講解了C語(yǔ)言編程的關(guān)鍵點(diǎn),這里關(guān)鍵要了解編輯器、編譯鏈接器、調(diào)試器及項(xiàng)目管理工具等概念。
學(xué)吧
夜是打火機(jī)
18713271819cxy
賈仁明
bu一樣的煙火
mikeniu
chris527
LBSEric
21CI2133
洛奇ing
SIASGUOJIe
逮到一只程序猿
zx66
zhaoyuan
建志的智
sdwfywl
cgyyds
云城a
shaolw
ti-funs
劉劍君
帶偷子
shaoniany
陳震偉
2334599288
helloyyll
怪打野題
liqinglong1023
cxk1998