注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)嵌入式系統(tǒng)開發(fā)與應(yīng)用

嵌入式系統(tǒng)開發(fā)與應(yīng)用

嵌入式系統(tǒng)開發(fā)與應(yīng)用

定 價:¥54.00

作 者: 田澤編著
出版社: 北京航空航天大學(xué)出版社
叢編項: 嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程
標(biāo) 簽: 嵌入式計算機(jī)

ISBN: 9787810775410 出版時間: 2005-01-01 包裝: 膠版紙
開本: 23cm 頁數(shù): 621 字?jǐn)?shù):  

內(nèi)容簡介

  內(nèi)容簡介目錄全面講述了嵌入式系統(tǒng)開發(fā)與應(yīng)用技術(shù),以嵌入式系統(tǒng)的基本開發(fā)技術(shù)為主線,以ARM處理器核及國內(nèi)應(yīng)用廣泛的Samsung公司S3C44B0X(基于ARM7TDMI)為硬件平臺,系統(tǒng)講述了嵌入式系統(tǒng)開發(fā)的基本知識、基本流程、基本方法及以ARM微處理器為核心的嵌入式系統(tǒng)軟、硬件開發(fā)過程。主要內(nèi)容包括:◆ 嵌入式系統(tǒng)開發(fā)基礎(chǔ)知識;◆ ARM技術(shù)概述;◆ 基于ARM的嵌入式系統(tǒng)應(yīng)用程序設(shè)計;◆ 基于S3C44B0X的嵌入式系統(tǒng)應(yīng)用開發(fā)實例;◆ μC/OSⅡ和μCLinux嵌入式操作系統(tǒng)及應(yīng)用開發(fā)。本書可作為高校計算機(jī)和電類專業(yè)的本科生、研究生教材,以及相關(guān)工程技術(shù)人員進(jìn)行嵌入式系統(tǒng)應(yīng)用開發(fā)的教材,也可供基于ARM核嵌入式系統(tǒng)開發(fā)的工程技術(shù)人員參考。本書配套多媒體教學(xué)課件。嵌入式技術(shù)的發(fā)展以8位單片機(jī)(或微控制器,MCU)為核心的嵌入式系統(tǒng)早已廣泛應(yīng)用于各個領(lǐng)域,這些應(yīng)用大多數(shù)還處于單機(jī)使用的嵌入式低層次階段。其特點是以MCU為核心,與一些簡單的傳感器及監(jiān)測、伺服控制、指示和顯示等設(shè)備配合,實現(xiàn)一定的測量、顯示、信息處理及控制等功能。雖然在一些工業(yè)控制、汽車電子和智能家居等多機(jī)應(yīng)用中,為了實現(xiàn)多個MCU構(gòu)成的系統(tǒng)間的信息交流,通常是利用CAN、RS232和RS485等總線將MCU組網(wǎng)。但這種網(wǎng)絡(luò)的應(yīng)用空間有限,相關(guān)的通信協(xié)議也比較單一,并且一般孤立于廣泛應(yīng)用的Internet以外。目前,Internet已成為社會重要的基礎(chǔ)信息設(shè)施,是信息流通的重要渠道。嵌入式系統(tǒng)必將與Internet完美融合,方便、低廉地將信息傳送到世界上任何一個地方。隨著嵌入式設(shè)備與Internet的廣泛結(jié)合,手機(jī)、PDA、路由器和調(diào)制解調(diào)器等復(fù)雜的高端應(yīng)用對嵌入式處理器的性能提出了更高的要求。雖然以8位單片機(jī)為核心的嵌入式技術(shù)不斷發(fā)展,性能也不斷提高,但由于其性能的局限性,已無法滿足未來高性能嵌入式技術(shù)的發(fā)展需求。激烈的市場和技術(shù)競爭要求不斷提高嵌入式系統(tǒng)的性價比;同時,也要求縮短嵌入式系統(tǒng)的開發(fā)周期。自從20世紀(jì)70年代初出現(xiàn)嵌入式系統(tǒng)的概念以來,嵌入式系統(tǒng)以其高性能、低功耗等特點高速發(fā)展。當(dāng)時的嵌入式系統(tǒng)很多都不采用操作系統(tǒng),它們只是為了實現(xiàn)某個控制功能,使用簡單的循環(huán)控制來對外界的控制請求進(jìn)行處理。隨著嵌入式系統(tǒng)的發(fā)展,當(dāng)應(yīng)用系統(tǒng)越來越復(fù)雜、使用范圍越來越廣泛時,每增加一項新的應(yīng)用功能,都可能需要從頭開始設(shè)計系統(tǒng)軟件,沒有操作系統(tǒng)已成為其最大缺陷。但目前在8位單片機(jī)上運行嵌入式操作系統(tǒng)尚有一定困難,因此,以32位處理器作為高性能嵌入式系統(tǒng)開發(fā)的核心已是嵌入式技術(shù)發(fā)展的必然趨勢。20世紀(jì)90年代后,嵌入式系統(tǒng)設(shè)計從以嵌入式微處理器/DSP為核心的"集成電路"級設(shè)計,逐漸轉(zhuǎn)向"集成系統(tǒng)"級設(shè)計,提出了片上系統(tǒng)SoC(Sytem on a Chip)的基本概念。目前,嵌入式系統(tǒng)已進(jìn)入以SoC為核心的設(shè)計階段,并開始逐步實用化和規(guī)范化。SoC為高性能嵌入式系統(tǒng)開發(fā)提供了功能豐富的硬件平臺,也為實時嵌入式操作系統(tǒng)的廣泛使用提供了硬件基礎(chǔ)。從20世紀(jì)80年代開始,陸續(xù)出現(xiàn)了一些嵌入式操作系統(tǒng),比較著名的有VxWorks、Windows CE、Palm、μCLinux、pSOS和μC/OSⅡ等,但真正廣泛使用只是近幾年的事情。一方面是因為嵌入式系統(tǒng)軟件開發(fā)復(fù)雜度增加的需求;另一方面是大量高性能、面向?qū)嶋H應(yīng)用、集成多種系統(tǒng)功能的SoC芯片成為高端嵌入式應(yīng)用的硬件核心,為可靠、高效、低成本地運行嵌入式操作系統(tǒng)提供了硬件平臺。大部分嵌入式操作系統(tǒng)價格昂貴,而源代碼開放的μC/OSⅡ、μCLinux是大家比較看好的,也比較適用于教學(xué)。有關(guān)嵌入式操作系統(tǒng)的知識體系相對復(fù)雜,一些出版社已經(jīng)出版了多種相關(guān)的書籍,如果在教學(xué)、科研中對這方面內(nèi)容比較感興趣,請參閱相關(guān)資料。嵌入式微處理器具有體積小、重量輕、成本低和可靠性高的優(yōu)點,是嵌入式系統(tǒng)的核心。目前比較有影響的32位嵌入式處理器有ARM公司的ARM、Compaq公司的Alpha、HP公司的PARISC、IBM公司的PowerPC、MIPS公司的MIPS和Sun公司的Sparc等。而ARM處理器具有高性能、低功耗和低成本等顯著優(yōu)點,已成為高性能、低功耗嵌入式微處理器的代名詞,是目前32位、64位嵌入式處理器中應(yīng)用最為廣泛的一個系列。20世紀(jì)90年代初,半導(dǎo)體行業(yè)產(chǎn)業(yè)鏈形成設(shè)計業(yè)、制造業(yè)和封裝測試業(yè)三業(yè)分離的產(chǎn)業(yè)分工。臺積電、聯(lián)電等半導(dǎo)體代工廠崛起,一些fabless、chipless公司如雨后春筍般出現(xiàn)。而英國先進(jìn)RISC機(jī)器公司(Advanced RISC Machines,簡稱ARM公司)作為fabless、chipless這一生產(chǎn)模式最為成功的典范。ARM公司既不生產(chǎn)芯片,也不銷售芯片,而是設(shè)計出高效的IP內(nèi)核,授權(quán)給各半導(dǎo)體公司使用;半導(dǎo)體公司在ARM技術(shù)的基礎(chǔ)上,根據(jù)自己公司的產(chǎn)品定位,添加自己的設(shè)計并推出芯片產(chǎn)品;最后由OEM客戶采用這些芯片來構(gòu)建基于ARM技術(shù)的最終應(yīng)用系統(tǒng)產(chǎn)品。經(jīng)過10多年的發(fā)展,ARM公司已是業(yè)界領(lǐng)先的IP供應(yīng)商。回顧ARM技術(shù)的發(fā)展歷程,在ARM7體系結(jié)構(gòu)(體系結(jié)構(gòu)版本v3)剛被廣泛接受和使用時,嵌入式微處理器的市場仍然大都由8位、16位處理器占領(lǐng)。然而,這些產(chǎn)品卻不能滿足當(dāng)時移動電話、調(diào)制解調(diào)器等高端應(yīng)用對處理器性能的要求。這些高端產(chǎn)品需要32位RISC處理器的性能和更優(yōu)于16位CISC處理器的代碼密度,這就要求要以更低的成本取得更好的性能和更優(yōu)的代碼密度。為了滿足這種發(fā)展需求,ARM體系結(jié)構(gòu)增加了T變種,開發(fā)了一種新的指令體系,即16位Thumb指令集。Thumb技術(shù)是ARM技術(shù)的一大特色。ARM發(fā)布的ARM7TDMIT體系結(jié)構(gòu)(體系結(jié)構(gòu)版本v4T)的處理器,是第一個支持Thumb指令集的微處理器,其工作模式可以方便地切換到Thumb狀態(tài)。在該狀態(tài)下運行的指令集是16位Thumb指令集,這在當(dāng)時的16位系統(tǒng)與現(xiàn)在需要的32位系統(tǒng)之間搭起了一座橋梁。性能更優(yōu)而不需要付出額外代價的ARM,為那些在當(dāng)時使用8位或16位處理器,卻一直在尋找更優(yōu)性能處理器的用戶來說,提供了解決方案,也極大地推動了ARM技術(shù)的發(fā)展。16位處理器一直沒有像人們預(yù)期的那樣發(fā)展起來的原因很復(fù)雜,由于32位ARM微處理器提供了低于一般16位微處理器的價格而高于一般16位微處理器的性能,使得高端的嵌入式應(yīng)用可以完全跨越16位而直接進(jìn)入32位應(yīng)用領(lǐng)域,這也許是原因之一。ARM微處理器得到了眾多半導(dǎo)體廠家和整機(jī)廠商的大力支持,全球已有100多家IT公司在采用ARM技術(shù),20家最大的半導(dǎo)體廠商中有19家是ARM的用戶,包括TI、Philips和Intel等公司。優(yōu)良的性能和準(zhǔn)確的市場定位極大地豐富了ARM資源,加速了基于ARM核的面向各種應(yīng)用系統(tǒng)芯片的開發(fā)應(yīng)用,使得ARM獲得了更廣泛的應(yīng)用,確立了ARM技術(shù)的市場領(lǐng)先地位。ARM在高性能嵌入式應(yīng)用領(lǐng)域獲得了巨大的成功,已在32位嵌入式應(yīng)用中穩(wěn)居世界第一。在2002年,基于ARM核的芯片占據(jù)了整個32位、64位嵌入式微處理器市場的79.5%,全世界已使用了20多億個ARM核。如今,ARM公司已經(jīng)成為業(yè)界的龍頭老大,"每個人口袋中都裝著ARM"是毫不夸張的,因為幾乎所有的手機(jī)、移動設(shè)備、PDA都是用基于ARM核的系統(tǒng)芯片開發(fā)的。為了順應(yīng)當(dāng)今世界技術(shù)革新的潮流,了解、學(xué)習(xí)和掌握高性能嵌入式技術(shù),就必然要學(xué)習(xí)以32位ARM微處理器為核心的嵌入式開發(fā)技術(shù)及其應(yīng)用開發(fā)環(huán)境和平臺。 對IT產(chǎn)業(yè)發(fā)展規(guī)律進(jìn)行總結(jié)可發(fā)現(xiàn):如果說過去20年P(guān)C機(jī)的廣泛應(yīng)用是集成電路和IT相關(guān)技術(shù)發(fā)展的驅(qū)動器并且極大地促進(jìn)了IT相關(guān)技術(shù)發(fā)展,那么未來幾十年除了PC技術(shù)要繼續(xù)高速發(fā)展之外,主要驅(qū)動器應(yīng)該是與Internet相結(jié)合的、可移動的(Mobile)、便攜的(Portable)、實時嵌入式Internet的信息處理設(shè)備,即進(jìn)入了后PC(PostPC)時代。目前嵌入式Internet還僅局限于移動商務(wù)、智能家居(家電上網(wǎng))、工業(yè)控制和智能設(shè)備的應(yīng)用等方面。隨著相關(guān)應(yīng)用技術(shù)的發(fā)展,嵌入式技術(shù)必將與許多實際應(yīng)用領(lǐng)域相結(jié)合,以難以想像的速度發(fā)展。這必然會極大地拓展嵌入式應(yīng)用的廣度和深度,體現(xiàn)嵌入式系統(tǒng)與實際應(yīng)用密切結(jié)合的價值。當(dāng)代通用計算機(jī)工業(yè)是Wintel(Microsoft和Intel公司20世紀(jì)90年代初建立的聯(lián)盟)壟斷的工業(yè)。隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,嵌入式技術(shù)的廣泛應(yīng)用使得這種壟斷在后PC時代不再存在。嵌入式系統(tǒng)正是非PC設(shè)備的主體?;ヂ?lián)網(wǎng)技術(shù)在世界范圍的擴(kuò)展及中國通信事業(yè)的高速發(fā)展,為我國開發(fā)嵌入式產(chǎn)品造就了巨大市場。與實際應(yīng)用密切結(jié)合且技術(shù)高度分散的嵌入式技術(shù),為我國IT技術(shù)的發(fā)展提供了難得的機(jī)遇。加快嵌入式技術(shù)的開發(fā)應(yīng)用,學(xué)習(xí)與掌握嵌入式系統(tǒng)開發(fā)的核心技術(shù),對于IT技術(shù)并不發(fā)達(dá)的中國是非常重要的。學(xué)習(xí)32位嵌入式系統(tǒng)應(yīng)用開發(fā)知識的迫切性與傳統(tǒng)的以8位51單片機(jī)為核心的開發(fā)應(yīng)用相比,ARM微處理器的性能和處理能力遙遙領(lǐng)先,應(yīng)用也日益廣泛,但與之相應(yīng)的,基于ARM的32位嵌入式系統(tǒng)軟/硬件開發(fā)的復(fù)雜度和難度也急劇加大?,F(xiàn)在我國嵌入式應(yīng)用開發(fā)技術(shù)人才狀況是:掌握低端8位單片機(jī)應(yīng)用技術(shù)的人才相對過剩;而真正了解高端32位嵌入式系統(tǒng)開發(fā)技術(shù)的人才,卻鳳毛麟角,需求與供給嚴(yán)重失衡。就我國大部分高校目前的嵌入式系統(tǒng)教學(xué)而言,整體仍然停留在20世紀(jì)80年代初發(fā)展起來的以8位51單片機(jī)為核心的單片機(jī)教學(xué)水平上。目前教學(xué)內(nèi)容設(shè)置、教學(xué)方法、教學(xué)手段、教材編寫體系與這門課程以實際應(yīng)用為主的基本特征嚴(yán)重脫節(jié)。學(xué)生學(xué)習(xí)了這門課程后,只能進(jìn)行一般的、基于指令基礎(chǔ)上的簡單編程,而不能進(jìn)行基本的應(yīng)用系統(tǒng)設(shè)計。在此基礎(chǔ)上要想完成具有較大規(guī)模的應(yīng)用程序設(shè)計是有一定難度的,要獨立進(jìn)行一般的開發(fā)工作就更加有難度。一般學(xué)生進(jìn)入技術(shù)開發(fā)崗位后,基本上要進(jìn)行相當(dāng)長一段時間的實際培訓(xùn),才能基本進(jìn)入開發(fā)流程;要獨立承擔(dān)項目,還需要更長一段時間。發(fā)展嵌入式技術(shù),人才是關(guān)鍵。培養(yǎng)和培訓(xùn)相關(guān)人才,一方面,要在高校中加強(qiáng)嵌入式系統(tǒng)教學(xué),這是人才的源頭;另一方面,有一定實際項目開發(fā)經(jīng)驗的工程技術(shù)人員也需要加強(qiáng)嵌入式系統(tǒng)開發(fā)技術(shù)的學(xué)習(xí)。因此,為滿足高等院校相關(guān)專業(yè)嵌入式系統(tǒng)教學(xué)要求,迫切需要適合教學(xué)特點的高水平教材;從事嵌入式系統(tǒng)開發(fā)的一般工程技術(shù)人員也迫切需要對嵌入式系統(tǒng)應(yīng)用開發(fā)技術(shù)進(jìn)行全面、系統(tǒng)、深入介紹的參考資料。作者是國內(nèi)最早翻譯ARM bible級的《ARM SoC體系結(jié)構(gòu)》\[1\]一書的譯者之一,并從事于ARM技術(shù)的相關(guān)教學(xué)及科研工作多年,積累了大量的嵌入式系統(tǒng)教學(xué)和開發(fā)經(jīng)驗;作者與ARM公司、基于ARM核的芯片廠商以及對ARM感興趣的讀者建立了廣泛的聯(lián)系,獲得了大量的技術(shù)信息和建議。因此,為滿足高等院校相關(guān)專業(yè)的師生及嵌入式系統(tǒng)開發(fā)工程技術(shù)人員的需要,作者在此基礎(chǔ)上,編寫了4本圖書,即本書及另外3本一套的《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》。本書涉及的硬件平臺及開發(fā)環(huán)境Samsung公司S3C系列芯片是國內(nèi)市場占有率最高的基于ARM核的微處理器之一,其接口模塊豐富,適用面廣,故本書和《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》都選擇Samsung公司S3C44B0X(基于ARM7TDMI)作為硬件平臺。在學(xué)習(xí)基于ARM的嵌入式系統(tǒng)開發(fā)時,選擇合適的開發(fā)工具可以加快開發(fā)進(jìn)度,降低開發(fā)成本。目前世界上有幾十家公司提供不同類別的ARM開發(fā)工具和產(chǎn)品。ARM應(yīng)用的開發(fā)工具主要包括集成開發(fā)環(huán)境IDE、嵌入式實時操作系統(tǒng)、評估板和JTAG仿真器等。一般來說,一套具備最基本功能的嵌入式集成開發(fā)環(huán)境IDE是嵌入式系統(tǒng)開發(fā)所必不可少的。目前國內(nèi)外主要使用的IDE環(huán)境有ARM 公司的SDT和ADS、美國Green Hills軟件公司的Multi 2000、臺灣的Hitool for ARM以及英蓓特公司的Embest IDE for ARM等,而國內(nèi)使用較多的IDE為ARM公司的SDT、ADS以及英蓓特公司的Embest IDE。仿真器有ARM公司的Muti-ICE和英蓓特公司的Embest系列ARM JTAG仿真器。SDT和ADS是ARM公司早期的集成開發(fā)環(huán)境(IDE),其用戶界面不太符合中國人的使用習(xí)慣,而且軟件本身價格很高,仿真器也是價格不菲。SDT和ADS目前都已經(jīng)停止升級。英蓓特公司的ARM集成開發(fā)環(huán)境套件(包括Embest IDE、指令集模擬器、仿真器及Flash編程器等相關(guān)開發(fā)工具)是國內(nèi)最早的ARM開發(fā)工具之一。作為國內(nèi)較早成功開發(fā)出IDE環(huán)境的公司,英蓓特是目前國內(nèi)唯一的ARM Connected Community Membership(參見http://arm.convergencepromotions.com/catalog/Embest.htm),完全自主開發(fā),本土技術(shù)支持實力雄厚,且價格合理,并能為嵌入式系統(tǒng)開發(fā)人員提供軟硬件開發(fā)工具和嵌入式系統(tǒng)完整解決方案及技術(shù)信息服務(wù);因此,本書和《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》都選用英蓓特公司的集成開發(fā)環(huán)境套件作為ARM應(yīng)用開發(fā)的工具。學(xué)習(xí)32位嵌入式系統(tǒng)開發(fā)與應(yīng)用技術(shù)所需的基礎(chǔ)知識嵌入式系統(tǒng)開發(fā)與應(yīng)用的內(nèi)容繁雜,涉及基本的硬件知識(如嵌入式微處理器及其基本接口、擴(kuò)展人機(jī)接口和網(wǎng)絡(luò)通信接口等知識)、操作系統(tǒng)(應(yīng)該至少了解一種操作系統(tǒng)的中斷、優(yōu)先級、任務(wù)間通信和同步等知識)、程序設(shè)計知識(C語言、C++語言和匯編語言程序設(shè)計,至少要熟悉C語言);同時,還要具備一定的數(shù)字電路知識以及使用示波器、邏輯分析儀等基本技能。因此,在系統(tǒng)地學(xué)習(xí)本書和《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》之前,必須有學(xué)習(xí)過微機(jī)原理與接口、C語言程序設(shè)計等課程的基礎(chǔ),掌握計算機(jī)操作系統(tǒng)原理、體系結(jié)構(gòu)和系統(tǒng)結(jié)構(gòu)的基本概念,同時對于網(wǎng)絡(luò)協(xié)議有一定的了解。本書內(nèi)容組成本書全面、系統(tǒng)地講述了嵌入式系統(tǒng)開發(fā)的基礎(chǔ)理論與應(yīng)用技術(shù),以嵌入式系統(tǒng)的基本開發(fā)技術(shù)為主線,以ARM處理器核及目前應(yīng)用廣泛的Samsung公司的S3C44B0X(基于ARM7TDMI)為硬件平臺,系統(tǒng)講述了嵌入式系統(tǒng)開發(fā)的基本知識、基本流程、基本方法及以ARM微處理器為核心的嵌入式系統(tǒng)軟/硬件開發(fā)過程。在加強(qiáng)嵌入式系統(tǒng)開發(fā)基礎(chǔ)、嵌入式系統(tǒng)應(yīng)用軟件設(shè)計、嵌入式基本硬件接口、嵌入式操作系統(tǒng)移植及應(yīng)用內(nèi)容的基礎(chǔ)上,緊密結(jié)合嵌入式系統(tǒng)開發(fā)過程的實際工程應(yīng)用,將嵌入式系統(tǒng)外圍復(fù)雜的實用模塊開發(fā)例程移植到了本書內(nèi)容中。本書按技術(shù)內(nèi)容分為8章,共5大部分。各部分具體內(nèi)容及包含的章節(jié)如下:第1部分: 為書的第1章,主要介紹嵌入式系統(tǒng)開發(fā)的基礎(chǔ)知識。內(nèi)容包括嵌入式系統(tǒng)的基本概念、組成結(jié)構(gòu)、硬件組成、操作系統(tǒng)、應(yīng)用軟件開發(fā)、開發(fā)流程和發(fā)展趨勢。通過本部分的學(xué)習(xí),可使讀者系統(tǒng)地建立起嵌入式系統(tǒng)開發(fā)的整體概念和知識體系。第2部分: 為書的第2章,主要對ARM技術(shù)進(jìn)行全面論述。通過本部分的學(xué)習(xí),可使讀者全面地了解ARM技術(shù),并建立起以ARM技術(shù)為基礎(chǔ)的嵌入式系統(tǒng)應(yīng)用和以ARM核為基礎(chǔ)的嵌入式SoC芯片設(shè)計的技術(shù)框架。在學(xué)習(xí)本部分時,可根據(jù)自己的具體情況有所取舍。第3部分: 為書的第3、4和5五章。主要介紹嵌入式系統(tǒng)的應(yīng)用程序設(shè)計。第3章主要介紹ARM指令集。第4章主要介紹Thumb指令集。ARM和Thumb這兩種指令集只是基于ARM的嵌入式編程的基礎(chǔ)。第5章主要介紹如何運用前面學(xué)過的匯編指令并結(jié)合C語言來進(jìn)行嵌入式程序設(shè)計。首先介紹偽操作、宏指令和偽指令等嵌入式匯編語言程序設(shè)計基礎(chǔ)知識;然后講述ARM匯編語言程序設(shè)計,以實際例程中用到的C語言講述嵌入式C語言程序設(shè)計基礎(chǔ),并在此基礎(chǔ)上列舉一個嵌入式C程序設(shè)計實例;對于嵌入式編程技巧和C語言與匯編混合編程也進(jìn)行了簡述;最后通過一個基于Embest IDE for ARM開發(fā)環(huán)境的嵌入式軟件開發(fā)與調(diào)試實例講述了嵌入式軟件開發(fā)流程和開發(fā)工具的使用。本章密切結(jié)合嵌入式系統(tǒng)開發(fā)的實際例程,通過學(xué)習(xí)能使讀者掌握嵌入式程序設(shè)計的基本知識、基本方法和基本流程。第4部分: 為書的第6章。主要介紹基于S3C44B0X的嵌入式系統(tǒng)開發(fā)。Samsung公司的S3C44B0X片上功能很強(qiáng)大,是國內(nèi)應(yīng)用廣泛的基于ARM7TDMI內(nèi)核的SoC。本部分以S3C44B0X為例,對嵌入式系統(tǒng)開發(fā)進(jìn)行全面介紹,涉及片上基本功能模塊及這些模塊的應(yīng)用開發(fā);在此基礎(chǔ)上還介紹基于S3C44B0X的S3CEV40開發(fā)板設(shè)計,并對基于S3CEV40的啟動程序和基于S3CEV40的USB接口的嵌入式開發(fā)進(jìn)行講述,其他如網(wǎng)絡(luò)等功能的完整的應(yīng)用開發(fā)可詳見《嵌入式系統(tǒng)開發(fā)與應(yīng)用實驗教程》\[2\]一書。通過對這些嵌入式外圍主要模塊應(yīng)用功能(部分內(nèi)容可參見《嵌入式系統(tǒng)開發(fā)與應(yīng)用實驗教程》)開發(fā)的講述,可使讀者對嵌入式系統(tǒng)開發(fā)有一個全面了解。第5部分: 為書的第7、第8章,主要對于嵌入式操作系統(tǒng)μC/OSⅡ和μCLinux的基本知識進(jìn)行講述,在此基礎(chǔ)上分別對基于S3C44B0X的移植及應(yīng)用開發(fā)進(jìn)行介紹。本書包含大量軟件和硬件設(shè)計資源,為系統(tǒng)學(xué)習(xí)與掌握基于ARM的嵌入式開發(fā)技術(shù)提供了一種選擇方案。通過該書的學(xué)習(xí),不僅可使讀者系統(tǒng)地掌握嵌入式系統(tǒng)開發(fā)的基本知識,而且對復(fù)雜實用的外圍接口模塊的開發(fā)、嵌入式操作系統(tǒng)的移植也能有一個全面了解。本書提供的實際嵌入式系統(tǒng)開發(fā)例程也可應(yīng)用到實際開發(fā)過程中。本書讀者對象本書力求將嵌入式系統(tǒng)開發(fā)與應(yīng)用技術(shù)全面介紹給讀者,內(nèi)容全面、詳細(xì)和系統(tǒng),非常適于學(xué)習(xí)嵌入式系統(tǒng)開發(fā)的工程技術(shù)人員閱讀。因其內(nèi)容較多,不太適宜作為高等院校嵌入式系統(tǒng)課程的短學(xué)時教材,但高校研究生或本科生的多學(xué)時嵌入式系統(tǒng)課程可選用此書作為教材。此書亦可作為嵌入式系統(tǒng)開發(fā)工程技術(shù)人員的培訓(xùn)資料。對于選用《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》作為教材的高校師生,亦可將此書作為配套參考資料。為了便于教學(xué)和培訓(xùn),本書還配套了多媒體教學(xué)課件。本書與《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》的配套使用作者編寫的另外3本一套的《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》是專門針對高校嵌入式系統(tǒng)教學(xué)特點而編寫的教材,包括:◆ 《嵌入式系統(tǒng)開發(fā)與應(yīng)用教程》(理論課教材,即將出版):配套多媒體教學(xué)課件◆ 《嵌入式系統(tǒng)開發(fā)與應(yīng)用實驗教程》(實驗課教材):配套Embest ARM實驗教學(xué)系統(tǒng):配套多媒體教學(xué)課件◆ 《嵌入式系統(tǒng)開發(fā)與應(yīng)用學(xué)習(xí)指導(dǎo)》(即將出版)本套教程中的理論教材:《嵌入式系統(tǒng)開發(fā)與應(yīng)用教程》,是針對高校嵌入式系統(tǒng)教學(xué)的特點,在本書基礎(chǔ)上將內(nèi)容重新整合而成的,更適合于短學(xué)時的教學(xué)和培訓(xùn)。本書可結(jié)合《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》中的實驗教材:《嵌入式系統(tǒng)開發(fā)與應(yīng)用實驗教程》來學(xué)習(xí),這樣可使讀者用最短時間掌握32位嵌入式系統(tǒng)應(yīng)用開發(fā)的基礎(chǔ)理論和實踐知識,培養(yǎng)高端嵌入式產(chǎn)品的研發(fā)和設(shè)計能力,達(dá)到社會對高素質(zhì)、開拓型嵌入式人才的要求。作者根據(jù)實際教學(xué)情況和相關(guān)技術(shù)的發(fā)展,對《嵌入式系統(tǒng)開發(fā)與應(yīng)用實驗教程》進(jìn)行了修訂,其第2版即將出版。教學(xué)課件及獲取方式為了便于教學(xué)和實驗,作者針對本書以及《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》的理論課和實驗課教材3本書,為教師提供相配套的多媒體教學(xué)課件。有需要的教師,請與北京航空航天大學(xué)出版社聯(lián)系。聯(lián)系方式如下:通訊地址:北京市海淀區(qū)學(xué)院路37號北京航空航天大學(xué)出版社市場及客戶服務(wù)部郵編:100083Email:bhpress@263.netTel:01082317031Fax:01082317031致謝在《嵌入式系統(tǒng)開發(fā)與應(yīng)用系列教程》及本書的編寫過程中,得到了北京航空航天大學(xué)出版社的大力支持,并得到了ARM中國總裁譚軍博士、北京理工大學(xué)馬忠梅教授的關(guān)心和指導(dǎo),北京大學(xué)信息科學(xué)技術(shù)學(xué)院盛世敏教授、于敦山博士和蔣安平博士也給予了大量的支持和幫助。感謝我的博士導(dǎo)師中國科學(xué)院微電子研究所的仇玉林研究員、北大盛世敏教授,感謝我的碩士導(dǎo)師西安交通大學(xué)邱祖廉教授,感謝他們對我一如既往的關(guān)心、理解和幫助。他們將我?guī)肟茖W(xué)研究的殿堂,并給予我各種幫助,是我無窮的精神源泉,在此表示深深感謝!我的碩士研究生萬永波、閆效鶯、車曉萍、楊峰、陳群英、李攀、王進(jìn)軍、劉濤和余兆安以及本科生謝輝、楊冬峰、張精通、徐德正、宋文博、侯利軍、楊艷鋒、楊景松、宮志堅、鄭曉亮和朱書恬等同學(xué)亦參與了這一系列圖書編寫的部分工作,在此表示感謝! 深圳市英蓓特信息技術(shù)有限公司的徐光峰、張國瑞、黃日新、唐暉等工程師也提供了更詳細(xì)的Embest ARM實驗教學(xué)系統(tǒng)的技術(shù)資料和各種幫助,并提出了大量意見和建議,在此表示感謝!感謝我的愛人王永紅給予我的理解和支持,是她在家庭中默默地勞作和操持,使我可以安心于工作。正是由于她給予我最及時、最需要的關(guān)心和照顧,使我在單調(diào)的工作之余,生活總是絢麗、多彩。感謝我的兒子田祎琨,我很少在生活和學(xué)習(xí)上給予他照顧,希望他幼小的心靈能夠理解我!感謝北京航空航天出版社的編輯們,正是由于他們高效、努力的工作,才使得本書能夠及時與大家見面!感謝所有幫助過我的人們,有了他們的理解、幫助和支持,我才能完成寫作。由于時間倉促及眾多客觀條件的制約,書中存在的錯誤不足之處,敬請讀者諒解,并真誠地歡迎讀者提出寶貴意見和建議。希望教育界、科研界、產(chǎn)業(yè)界攜手并進(jìn),抓住嵌入式技術(shù)為我國IT發(fā)展提供的難得機(jī)遇,促進(jìn)我國嵌入式技術(shù)快速、穩(wěn)定、健康地發(fā)展。田澤2004年10月 第1章 嵌入式系統(tǒng)開發(fā)基礎(chǔ)1.1 嵌入式系統(tǒng)的基本概念11.1.1 嵌入式計算機(jī)11.1.2 嵌入式系統(tǒng)的概念51.1.3 嵌入式系統(tǒng)的特點61.1.4 嵌入式系統(tǒng)的分類91.1.5 嵌入式系統(tǒng)的應(yīng)用范圍91.1.6 嵌入式技術(shù)是中國IT發(fā)展的難得機(jī)遇91.2 嵌入式系統(tǒng)的組成結(jié)構(gòu)101.2.1 嵌入式系統(tǒng)硬件基本結(jié)構(gòu)介紹111.2.2 嵌入式系統(tǒng)軟件的層次結(jié)構(gòu)121.2.3 啟動程序BootLoader介紹141.3 嵌入式系統(tǒng)的硬件組成151.3.1 嵌入式處理器151.3.2 典型嵌入式處理器介紹161.3.3 嵌入式SoC211.3.4 可編程片上系統(tǒng)SOPC221.3.5 嵌入式外圍接口電路和設(shè)備接口241.4 嵌入式操作系統(tǒng)251.4.1 嵌入式操作系統(tǒng)261.4.2 嵌入式實時操作系統(tǒng)261.4.3 典型嵌入式操作系統(tǒng)介紹281.5 嵌入式應(yīng)用軟件開發(fā)311.5.1 嵌入式軟件開發(fā)的特點和技術(shù)挑戰(zhàn)311.5.2 嵌入式軟件開發(fā)環(huán)境321.5.3 嵌入式應(yīng)用軟件開發(fā)的基本流程351.5.4 嵌入式軟件開發(fā)的可移植性和可重用性391.6 嵌入式系統(tǒng)的開發(fā)流程401.6.1 嵌入式開發(fā)考慮的要素411.6.2 軟硬件協(xié)同設(shè)計411.6.3 嵌入式系統(tǒng)開發(fā)的基本流程421.7 嵌入式系統(tǒng)的發(fā)展趨勢441.7.1 即將來臨的以ARM為核心的32位浪潮441.7.2 嵌入式系統(tǒng)與Internet的融合461.7.3 嵌入式系統(tǒng)的發(fā)展趨勢47習(xí)題48第2章 ARM技術(shù)概述2.1 ARM體系結(jié)構(gòu)的發(fā)展歷史和技術(shù)特征502.1.1 ARM技術(shù)的發(fā)展歷程512.1.2 RISC體系結(jié)構(gòu)562.1.3 ARM體系結(jié)構(gòu)的技術(shù)特征612.2 ARM體系結(jié)構(gòu)不同版本的發(fā)展概述622.2.1 ARM體系結(jié)構(gòu)的基本版本622.2.2 ARM體系結(jié)構(gòu)的演變652.2.3 ARM體系結(jié)構(gòu)的命名規(guī)則672.3 Thumb技術(shù)介紹672.3.1 Thumb的技術(shù)概述682.3.2 Thumb的技術(shù)實現(xiàn)682.3.3 Thumb的技術(shù)特點702.4 ARM處理器工作狀態(tài)702.5 ARM處理器工作模式712.6 ARM寄存器組成722.6.1 ARM寄存器組成概述722.6.2 ARM狀態(tài)下的寄存器組織732.6.3 Thumb狀態(tài)下的寄存器組織782.7 ARM的異常中斷792.7.1 ARM的異常中斷響應(yīng)過程802.7.2 從異常中斷處理程序中返回812.7.3 異常中斷向量表832.7.4 異常中斷的優(yōu)先級832.8 ARM組織結(jié)構(gòu)簡介842.8.1 3級流水線ARM的組織842.8.2 5級流水線ARM的組織872.9 ARM存儲器接口及存儲器層次892.9.1 ARM存儲數(shù)據(jù)類型和存儲格式892.9.2 ARM的存儲器層次簡介902.9.3 ARM存儲系統(tǒng)簡介912.10 ARM協(xié)處理器942.11 ARM片上總線AMBA952.11.1 總線標(biāo)準(zhǔn)概述962.11.2 AHB簡介962.11.3 ASB簡介982.11.4 APB簡介982.12 基于JTAG的ARM系統(tǒng)調(diào)試992.12.1 JTAG邊界掃描測試接口簡介1002.12.2 ARM的調(diào)試結(jié)構(gòu)1032.12.3 ARM的嵌入式跟蹤1062.13 ARM核綜述1072.13.1 ARM7系列核介紹1072.13.2 ARM9系列核介紹1152.13.3 ARM10系列核1202.13.4 StrongARM和XScale系列核1232.13.5 SecurCore系列核1282.14 基于ARM核的芯片選擇1292.14.1 應(yīng)用角度的ARM芯片選擇原則1292.14.2 多內(nèi)核ARM角度芯片選擇原則1312.14.3 國內(nèi)常用ARM芯片及供應(yīng)商簡介132習(xí)題133第3章 ARM指令集3.1 ARM指令集概述1343.1.1 ARM指令集編碼1343.1.2 條件執(zhí)行1353.1.3 指令分類及指令格式1363.2 ARM尋址方式1373.2.1 立即尋址1373.2.2 寄存器尋址1393.2.3 寄存器間接尋址1403.2.4 基址加偏址尋址1413.2.5 堆棧尋址1433.2.6 塊拷貝尋址1443.2.7 相對尋址1463.3 ARM指令詳細(xì)介紹1463.3.1 數(shù)據(jù)處理指令1463.3.2 Load/Store指令1543.3.3 狀態(tài)寄存器與通用寄存器之間的傳送指令1633.3.4 轉(zhuǎn)移指令1663.3.5 異常中斷產(chǎn)生指令1703.3.6 協(xié)處理器指令1733.3.7 未使用的指令空間177習(xí)題179第4章 Thumb指令集4.1 Thumb指令集概述1824.1.1 Thumb指令集編碼1834.1.2 Thumb狀態(tài)切換1834.1.3 編程模型1844.1.4 Thumb指令集特點1854.2 Thumb指令詳細(xì)介紹1864.2.1 Thumb數(shù)據(jù)處理指令1864.2.2 Thumb轉(zhuǎn)移指令1944.2.3 數(shù)據(jù)存取指令1984.2.4 異常中斷指令204習(xí)題206第5章 基于ARM的嵌入式程序設(shè)計5.1 ARM匯編語言的偽操作、宏指令與偽指令2085.1.1 2種編譯模式的集成開發(fā)環(huán)境IDE介紹2095.1.2 ADS編譯環(huán)境下的ARM偽操作和宏指令2095.1.3 GNU編譯環(huán)境下的ARM偽操作與宏指令2365.1.4 ARM匯編語言的偽指令2465.2 ARM匯編語言程序設(shè)計2505.2.1 ARM匯編中的文件格式2505.2.2 ARM匯編語言語句格式2505.2.3 ARM匯編語言編程的重點2605.2.4 ARM匯編程序?qū)嵗?675.3 嵌入式C語言程序設(shè)計基礎(chǔ)2735.3.1 C語言的"預(yù)處理偽指令"在嵌入式程序設(shè)計中的應(yīng)用2735.3.2 嵌入式程序設(shè)計中的函數(shù)及函數(shù)庫2925.3.3 嵌入式程序設(shè)計中常用的C語言語句3075.3.4 嵌入式程序設(shè)計中C語言的變量、數(shù)組、結(jié)構(gòu)和聯(lián)合3125.4 嵌入式C語言程序設(shè)計實例3185.4.1 實例實現(xiàn)功能介紹3185.4.2 實例實現(xiàn)程序源代碼介紹3215.5 嵌入式C語言程序設(shè)計技巧3355.5.1 變量定義3355.5.2 參數(shù)傳遞3375.5.3 循環(huán)條件3375.6 C語言與匯編語言混合編程3385.6.1 ATPCS介紹3395.6.2 內(nèi)嵌匯編3425.6.3 C語言和ARM匯編語言程序間相互調(diào)用3495.7 基于Embest IDE for ARM 環(huán)境的軟件開發(fā)實例3515.7.1 開發(fā)實例介紹3525.7.2 源文件解釋3525.7.3 建立工程3595.7.4 工程配置3605.7.5 在RAM中調(diào)試軟件3675.7.6 軟件的固化3695.7.7 程序在Flash中調(diào)試369習(xí)題370第6章 基于S3C44B0X的嵌入式系統(tǒng)應(yīng)用開發(fā)實例6.1 S3C44B0X處理器介紹3746.1.1 Samsung S3C44B0X簡介3746.1.2 Samsung S3C44B0X特點3746.1.3 S3C44B0X功能結(jié)構(gòu)框圖3786.1.4 S3C44B0X引腳信號描述3786.2 S3C44B0X存儲控制器功能及應(yīng)用開發(fā)3836.2.1 S3C44B0X存儲控制器概述3846.2.2 S3C44B0X存儲器空間劃分簡述3846.2.3 S3C44B0X存儲控制器功能描述3856.2.4 S3C44B0X存儲控制器的特殊功能寄存器3866.2.5 S3C44B0X存儲器應(yīng)用編程3906.3 S3C44B0X I/O端口功能及應(yīng)用開發(fā)3926.3.1 S3C44B0X I/O功能概述3926.3.2 S3C44B0X端口功能配置3936.3.3 S3C44B0X端口功能控制描述3946.3.4 S3C44B0X I/O端口的特殊功能寄存器3966.3.5 S3C44B0XI/O端口應(yīng)用編程4016.4 S3C44B0X DMA功能及應(yīng)用開發(fā)4046.4.1 S3C44B0XDMA概述4046.4.2 S3C44B0XZDMA/BDMA操作4046.4.3 S3C44B0X DMA特殊功能寄存器4096.4.4 S3C44B0XDMA應(yīng)用編程4156.5 S3C44B0X UART接口功能及應(yīng)用開發(fā)4176.5.1 S3C44B0X UART概述4176.5.2 S3C44B0X UART的操作4196.5.3 S3C44B0X UART的特殊功能寄存器4226.5.4 S3C44B0X UART應(yīng)用編程4276.6 S3C44B0X中斷控制器功能及應(yīng)用開發(fā)4316.6.1 S3C44B0X中斷概述4316.6.2 S3C44B0X中斷控制器的操作4326.6.3 S3C44B0X中斷源4326.6.4 S3C44B0X矢量中斷模式4356.6.5 S3C44B0X矢量中斷模式的程序舉例4356.6.6 S3C44B0X中斷控制器的特殊功能寄存器4386.6.7 S3C44B0X中斷控制器應(yīng)用編程4436.7 S3C44B0X時鐘電源管理器功能及應(yīng)用開發(fā)4456.7.1 S3C44B0X時鐘電源管理器概述4456.7.2 S3C44B0X時鐘電源管理器功能描述4466.7.3 S3C44B0X時鐘發(fā)生器與電源管理特殊功能寄存器4516.7.4 S3C44B0X時鐘與電源管理器應(yīng)用編程4536.8 S3C44B0X PWM定時器功能及應(yīng)用開發(fā)4556.8.1 S3C44B0X PWM定時器概述4556.8.2 S3C44B0X PWM定時器工作原理4576.8.3 S3C44B0X PWM 定時器操作4576.8.4 S3C44B0X PWM定時器的特殊功能寄存器4596.8.5 S3C44B0X PWM定時器應(yīng)用編程4646.9 S3C44B0X LCD控制器功能及應(yīng)用開發(fā)4666.9.1 S3C44B0X LCD控制器概述4666.9.2 S3C44B0X LCD控制器的特性4666.9.3 S3C44B0X LCD外部接口信號4676.9.4 S3C44B0X LCD控制器框圖4676.9.5 S3C44B0X LCD 控制操作4686.9.6 S3C44B0X LCD視頻操作4696.9.7 S3C44B0X LCD控制器的特殊功能寄存器4726.9.8 S3C44B0X LCD控制器應(yīng)用編程4776.10 S3C44B0X A/D轉(zhuǎn)換器功能及應(yīng)用開發(fā)4796.10.1 S3C44B0X的A/D轉(zhuǎn)換器概述4806.10.2 S3C44B0X A/D轉(zhuǎn)換器特點4806.10.3 S3C44B0X的A/D轉(zhuǎn)換操作4806.10.4 S3C44B0X A/D轉(zhuǎn)換的特殊功能寄存器4826.10.5 S3C44B0X A/D轉(zhuǎn)換器應(yīng)用編程4846.11 S3C44B0X RTC功能及應(yīng)用開發(fā)4846.11.1 S3C44B0X RTC概述4856.11.2 S3C44B0X RTC特性4856.11.3 S3C44B0X RTC操作4856.11.4 S3C44B0X RTC特殊功能寄存器4876.11.5 S3C44B0X RTC應(yīng)用編程4936.12 S3C44B0X看門狗定時器功能及應(yīng)用開發(fā)4956.12.1 S3C44B0X看門狗定時器概述4966.12.2 S3C44B0X看門狗定時器特殊功能寄存器4966.12.3 S3C44B0X看門狗定時器應(yīng)用編程4986.13 S3C44B0X I2C總線接口功能及應(yīng)用開發(fā)4996.13.1 S3C44B0X I2C總線概述4996.13.2 S3C44B0X I2C總線接口操作4996.13.3 S3C44B0X I2C接口特殊功能寄存器5036.13.4 S3C44B0X I2C總線應(yīng)用編程5066.14 S3C44B0X IIS總線接口功能及應(yīng)用開發(fā)5076.14.1 S3C44B0X IIS概述5076.14.2 S3C44B0X IIS特性5086.14.3 S3C44B0X IIS功能描述5086.14.4 S3C44B0X IIS接口工作模式5096.14.5 S3C44B0X音頻串行接口格式5096.14.6 S3C44B0X IIS接口特殊功能寄存器5116.14.7 S3C44B0X IIS應(yīng)用編程5146.15 S3C44B0X SIO功能及應(yīng)用開發(fā)5176.15.1 S3C44B0X SIO概述5176.15.2 S3C44B0X SIO特點5176.15.3 S3C44B0X SIO正常操作模式 5176.15.4 S3C44B0X SIO DMA 操作5186.15.5 S3C44B0X SIO 接口特殊功能寄存器5196.16 基于S3C44B0X的S3CEV40開發(fā)介紹5216.16.1 S3CEV40基本功能介紹5216.16.2 S3CEV40X外圍接口硬件資源簡介5226.17 S3C44B0X啟動程序設(shè)計5266.18 USB接口功能開發(fā)實例5336.18.1 USB簡介5336.18.2 USB接口電路設(shè)計5356.18.3 USB接口控制程序設(shè)計536習(xí)題543第7章 μC/OSⅡ及應(yīng)用開發(fā)7.1 實時操作系統(tǒng)5447.2 μC/OSⅡ操作系統(tǒng)5457.2.1 μC/OSⅡ簡介5457.2.2 μC/OSⅡ的特點5477.2.3 μC/OSⅡ的內(nèi)核結(jié)構(gòu)5487.3 μC/OSⅡ的內(nèi)核5547.3.1 任務(wù)調(diào)度5547.3.2 任務(wù)間的通信與同步5557.3.3 任務(wù)管理5587.3.4 時間管理5597.3.5 內(nèi)存管理5607.3.6 μC/OSⅡ的文件體系5617.4 μC/OSⅡ應(yīng)用程序開發(fā)5627.4.1 變量類型5627.4.2 應(yīng)用程序基本結(jié)構(gòu)5637.4.3 μC/OSⅡAPI介紹5647.4.4 μC/OSⅡ多任務(wù)實現(xiàn)機(jī)制5657.5 μC/OSⅡ在S3CEV40上的移植5667.5.1 移植條件5667.5.2 移植步驟5677.5.3 移植μC/OSⅡ后的測試572習(xí)題573第8章 μCLinux及應(yīng)用開發(fā)8.1 嵌入式Linux概況5748.1.1 Linux簡介5748.1.2 嵌入式Linux5798.1.3 嵌入式Linux的版本5808.1.4 嵌入式Linux應(yīng)用5818.2 開發(fā)工具GNU的使用5828.2.1 GNU簡介5828.2.2 GCC介紹5838.2.3 makefile介紹5888.2.4 gdb調(diào)試工具5908.3 Linux內(nèi)核分析5918.3.1 Linux內(nèi)核概述5928.3.2 進(jìn)程管理5928.3.3 內(nèi)存管理5948.3.4 文件系統(tǒng)管理5968.3.5 設(shè)備管理5978.3.6 網(wǎng)絡(luò)管理5988.4 μCLinux操作系統(tǒng)5998.4.1 進(jìn)程管理6008.4.2 內(nèi)存管理6028.4.3 文件系統(tǒng)6038.5 構(gòu)造嵌入式Linux系統(tǒng)6058.5.1 構(gòu)造嵌入式Linux系統(tǒng)的幾個關(guān)鍵問題6058.5.2 構(gòu)造嵌入式Linux系統(tǒng)的關(guān)鍵步驟6088.6 μCLinux應(yīng)用程序開發(fā)6108.6.1 μCLinux程序設(shè)計要點6108.6.2 高效的程序開發(fā)6118.7 μCLinux在 S3CEV40上的移植6128.7.1 移植前的準(zhǔn)備6128.7.2 移植步驟6128.8 基于S3CEV40平臺的μCLinux開發(fā)實例6168.8.1 μCLinux編譯運行6168.8.2 Boot Loader編譯運行6178.8.3 μClinux內(nèi)核調(diào)試實驗6188.8.4 在文件系統(tǒng)中增加應(yīng)用程序6188.8.5 多進(jìn)程應(yīng)用程序的編寫及調(diào)試6198.8.6 網(wǎng)絡(luò)應(yīng)用程序的編寫及調(diào)試619習(xí)題620參考文獻(xiàn)621

作者簡介

暫缺《嵌入式系統(tǒng)開發(fā)與應(yīng)用》作者簡介

圖書目錄

第1章 嵌入式系統(tǒng)開發(fā)基礎(chǔ)
1.1 嵌入式系統(tǒng)的基本概念1
1.1.1 嵌入式計算機(jī)1
1.1.2 嵌入式系統(tǒng)的概念5
1.1.3 嵌入式系統(tǒng)的特點6
1.1.4 嵌入式系統(tǒng)的分類9
1.1.5 嵌入式系統(tǒng)的應(yīng)用范圍9
1.1.6 嵌入式技術(shù)是中國IT發(fā)展的難得機(jī)遇9
1.2 嵌入式系統(tǒng)的組成結(jié)構(gòu)10
1.2.1 嵌入式系統(tǒng)硬件基本結(jié)構(gòu)介紹11
1.2.2 嵌入式系統(tǒng)軟件的層次結(jié)構(gòu)12
1.2.3 啟動程序BootLoader介紹14
1.3 嵌入式系統(tǒng)的硬件組成15
1.3.1 嵌入式處理器15
1.3.2 典型嵌入式處理器介紹16
1.3.3 嵌入式SoC21
1.3.4 可編程片上系統(tǒng)SOPC22
1.3.5 嵌入式外圍接口電路和設(shè)備接口24
1.4 嵌入式操作系統(tǒng)25
1.4.1 嵌入式操作系統(tǒng)26
1.4.2 嵌入式實時操作系統(tǒng)26
1.4.3 典型嵌入式操作系統(tǒng)介紹28
1.5 嵌入式應(yīng)用軟件開發(fā)31
1.5.1 嵌入式軟件開發(fā)的特點和技術(shù)挑戰(zhàn)31
1.5.2 嵌入式軟件開發(fā)環(huán)境32
1.5.3 嵌入式應(yīng)用軟件開發(fā)的基本流程35
1.5.4 嵌入式軟件開發(fā)的可移植性和可重用性39
1.6 嵌入式系統(tǒng)的開發(fā)流程40
1.6.1 嵌入式開發(fā)考慮的要素41
1.6.2 軟硬件協(xié)同設(shè)計41
1.6.3 嵌入式系統(tǒng)開發(fā)的基本流程42
1.7 嵌入式系統(tǒng)的發(fā)展趨勢44
1.7.1 即將來臨的以ARM為核心的32位浪潮44
1.7.2 嵌入式系統(tǒng)與Internet的融合46
1.7.3 嵌入式系統(tǒng)的發(fā)展趨勢47
習(xí)題48
第2章 ARM技術(shù)概述
2.1 ARM體系結(jié)構(gòu)的發(fā)展歷史和技術(shù)特征50
2.1.1 ARM技術(shù)的發(fā)展歷程51
2.1.2 RISC體系結(jié)構(gòu)56
2.1.3 ARM體系結(jié)構(gòu)的技術(shù)特征61
2.2 ARM體系結(jié)構(gòu)不同版本的發(fā)展概述62
2.2.1 ARM體系結(jié)構(gòu)的基本版本62
2.2.2 ARM體系結(jié)構(gòu)的演變65
2.2.3 ARM體系結(jié)構(gòu)的命名規(guī)則67
2.3 Thumb技術(shù)介紹67
2.3.1 Thumb的技術(shù)概述68
2.3.2 Thumb的技術(shù)實現(xiàn)68
2.3.3 Thumb的技術(shù)特點70
2.4 ARM處理器工作狀態(tài)70
2.5 ARM處理器工作模式71
2.6 ARM寄存器組成72
2.6.1 ARM寄存器組成概述72
2.6.2 ARM狀態(tài)下的寄存器組織73
2.6.3 Thumb狀態(tài)下的寄存器組織78
2.7 ARM的異常中斷79
2.7.1 ARM的異常中斷響應(yīng)過程80
2.7.2 從異常中斷處理程序中返回81
2.7.3 異常中斷向量表83
2.7.4 異常中斷的優(yōu)先級83
2.8 ARM組織結(jié)構(gòu)簡介84
2.8.1 3級流水線ARM的組織84
2.8.2 5級流水線ARM的組織87
2.9 ARM存儲器接口及存儲器層次89
2.9.1 ARM存儲數(shù)據(jù)類型和存儲格式89
2.9.2 ARM的存儲器層次簡介90
2.9.3 ARM存儲系統(tǒng)簡介91
2.10 ARM協(xié)處理器94
2.11 ARM片上總線AMBA95
2.11.1 總線標(biāo)準(zhǔn)概述96
2.11.2 AHB簡介96
2.11.3 ASB簡介98
2.11.4 APB簡介98
2.12 基于JTAG的ARM系統(tǒng)調(diào)試99
2.12.1 JTAG邊界掃描測試接口簡介100
2.12.2 ARM的調(diào)試結(jié)構(gòu)103
2.12.3 ARM的嵌入式跟蹤106
2.13 ARM核綜述107
2.13.1 ARM7系列核介紹107
2.13.2 ARM9系列核介紹115
2.13.3 ARM10系列核120
2.13.4 StrongARM和XScale系列核123
2.13.5 SecurCore系列核128
2.14 基于ARM核的芯片選擇129
2.14.1 應(yīng)用角度的ARM芯片選擇原則129
2.14.2 多內(nèi)核ARM角度芯片選擇原則131
2.14.3 國內(nèi)常用ARM芯片及供應(yīng)商簡介132
習(xí)題133
第3章 ARM指令集
3.1 ARM指令集概述134
3.1.1 ARM指令集編碼134
3.1.2 條件執(zhí)行135
3.1.3 指令分類及指令格式136
3.2 ARM尋址方式137
3.2.1 立即尋址137
3.2.2 寄存器尋址139
3.2.3 寄存器間接尋址140
3.2.4 基址加偏址尋址141
3.2.5 堆棧尋址143
3.2.6 塊拷貝尋址144
3.2.7 相對尋址146
3.3 ARM指令詳細(xì)介紹146
3.3.1 數(shù)據(jù)處理指令146
3.3.2 Load/Store指令154
3.3.3 狀態(tài)寄存器與通用寄存器之間的傳送指令163
3.3.4 轉(zhuǎn)移指令166
3.3.5 異常中斷產(chǎn)生指令170
3.3.6 協(xié)處理器指令173
3.3.7 未使用的指令空間177
習(xí)題179
第4章 Thumb指令集
4.1 Thumb指令集概述182
4.1.1 Thumb指令集編碼183
4.1.2 Thumb狀態(tài)切換183
4.1.3 編程模型184
4.1.4 Thumb指令集特點185
4.2 Thumb指令詳細(xì)介紹186
4.2.1 Thumb數(shù)據(jù)處理指令186
4.2.2 Thumb轉(zhuǎn)移指令194
4.2.3 數(shù)據(jù)存取指令198
4.2.4 異常中斷指令204
習(xí)題206
第5章 基于ARM的嵌入式程序設(shè)計
5.1 ARM匯編語言的偽操作、宏指令與偽指令208
5.1.1 2種編譯模式的集成開發(fā)環(huán)境IDE介紹209
5.1.2 ADS編譯環(huán)境下的ARM偽操作和宏指令209
5.1.3 GNU編譯環(huán)境下的ARM偽操作與宏指令236
5.1.4 ARM匯編語言的偽指令246
5.2 ARM匯編語言程序設(shè)計250
5.2.1 ARM匯編中的文件格式250
5.2.2 ARM匯編語言語句格式250
5.2.3 ARM匯編語言編程的重點260
5.2.4 ARM匯編程序?qū)嵗?67
5.3 嵌入式C語言程序設(shè)計基礎(chǔ)273
5.3.1 C語言的“預(yù)處理偽指令”在嵌入式程序設(shè)計中的應(yīng)用273
5.3.2 嵌入式程序設(shè)計中的函數(shù)及函數(shù)庫292
5.3.3 嵌入式程序設(shè)計中常用的C語言語句307
5.3.4 嵌入式程序設(shè)計中C語言的變量、數(shù)組、結(jié)構(gòu)和聯(lián)合312
5.4 嵌入式C語言程序設(shè)計實例318
5.4.1 實例實現(xiàn)功能介紹318
5.4.2 實例實現(xiàn)程序源代碼介紹321
5.5 嵌入式C語言程序設(shè)計技巧335
5.5.1 變量定義335
5.5.2 參數(shù)傳遞337
5.5.3 循環(huán)條件337
5.6 C語言與匯編語言混合編程338
5.6.1 ATPCS介紹339
5.6.2 內(nèi)嵌匯編342
5.6.3 C語言和ARM匯編語言程序間相互調(diào)用349
5.7 基于Embest IDE for ARM 環(huán)境的軟件開發(fā)實例351
5.7.1 開發(fā)實例介紹352
5.7.2 源文件解釋352
5.7.3 建立工程359
5.7.4 工程配置360
5.7.5 在RAM中調(diào)試軟件367
5.7.6 軟件的固化369
5.7.7 程序在Flash中調(diào)試369
習(xí)題370
第6章 基于S3C44B0X的嵌入式系統(tǒng)應(yīng)用開發(fā)實例
6.1 S3C44B0X處理器介紹374
6.1.1 Samsung S3C44B0X簡介374
6.1.2 Samsung S3C44B0X特點374
6.1.3 S3C44B0X功能結(jié)構(gòu)框圖378
6.1.4 S3C44B0X引腳信號描述378
6.2 S3C44B0X存儲控制器功能及應(yīng)用開發(fā)383
6.2.1 S3C44B0X存儲控制器概述384
6.2.2 S3C44B0X存儲器空間劃分簡述384
6.2.3 S3C44B0X存儲控制器功能描述385
6.2.4 S3C44B0X存儲控制器的特殊功能寄存器386
6.2.5 S3C44B0X存儲器應(yīng)用編程390
6.3 S3C44B0X I/O端口功能及應(yīng)用開發(fā)392
6.3.1 S3C44B0X I/O功能概述392
6.3.2 S3C44B0X端口功能配置393
6.3.3 S3C44B0X端口功能控制描述394
6.3.4 S3C44B0X I/O端口的特殊功能寄存器396
6.3.5 S3C44B0X  I/O端口應(yīng)用編程401
6.4 S3C44B0X DMA功能及應(yīng)用開發(fā)404
6.4.1 S3C44B0X  DMA概述404
6.4.2 S3C44B0X  ZDMA/BDMA操作404
6.4.3 S3C44B0X DMA特殊功能寄存器409
6.4.4 S3C44B0X  DMA應(yīng)用編程415
6.5 S3C44B0X UART接口功能及應(yīng)用開發(fā)417
6.5.1 S3C44B0X UART概述417
6.5.2 S3C44B0X UART的操作419
6.5.3 S3C44B0X UART的特殊功能寄存器422
6.5.4 S3C44B0X UART應(yīng)用編程427
6.6 S3C44B0X中斷控制器功能及應(yīng)用開發(fā)431
6.6.1 S3C44B0X中斷概述431
6.6.2 S3C44B0X中斷控制器的操作432
6.6.3 S3C44B0X中斷源432
6.6.4 S3C44B0X矢量中斷模式435
6.6.5 S3C44B0X矢量中斷模式的程序舉例435
6.6.6 S3C44B0X中斷控制器的特殊功能寄存器438
6.6.7 S3C44B0X中斷控制器應(yīng)用編程443
6.7 S3C44B0X時鐘電源管理器功能及應(yīng)用開發(fā)445
6.7.1 S3C44B0X時鐘電源管理器概述445
6.7.2 S3C44B0X時鐘電源管理器功能描述446
6.7.3 S3C44B0X時鐘發(fā)生器與電源管理特殊功能寄存器451
6.7.4 S3C44B0X時鐘與電源管理器應(yīng)用編程453
6.8 S3C44B0X PWM定時器功能及應(yīng)用開發(fā)455
6.8.1 S3C44B0X PWM定時器概述455
6.8.2 S3C44B0X PWM定時器工作原理457
6.8.3 S3C44B0X PWM 定時器操作457
6.8.4 S3C44B0X PWM定時器的特殊功能寄存器459
6.8.5 S3C44B0X PWM定時器應(yīng)用編程464
6.9 S3C44B0X LCD控制器功能及應(yīng)用開發(fā)466
6.9.1 S3C44B0X LCD控制器概述466
6.9.2 S3C44B0X LCD控制器的特性466
6.9.3 S3C44B0X LCD外部接口信號467
6.9.4 S3C44B0X LCD控制器框圖467
6.9.5 S3C44B0X LCD 控制操作468
6.9.6 S3C44B0X LCD視頻操作469
6.9.7 S3C44B0X LCD控制器的特殊功能寄存器472
6.9.8 S3C44B0X LCD控制器應(yīng)用編程477
6.10 S3C44B0X A/D轉(zhuǎn)換器功能及應(yīng)用開發(fā)479
6.10.1 S3C44B0X的A/D轉(zhuǎn)換器概述480
6.10.2 S3C44B0X A/D轉(zhuǎn)換器特點480
6.10.3 S3C44B0X的A/D轉(zhuǎn)換操作480
6.10.4 S3C44B0X A/D轉(zhuǎn)換的特殊功能寄存器482
6.10.5 S3C44B0X A/D轉(zhuǎn)換器應(yīng)用編程484
6.11 S3C44B0X RTC功能及應(yīng)用開發(fā)484
6.11.1 S3C44B0X RTC概述485
6.11.2 S3C44B0X RTC特性485
6.11.3 S3C44B0X RTC操作485
6.11.4 S3C44B0X RTC特殊功能寄存器487
6.11.5 S3C44B0X RTC應(yīng)用編程493
6.12 S3C44B0X看門狗定時器功能及應(yīng)用開發(fā)495
6.12.1 S3C44B0X看門狗定時器概述496
6.12.2 S3C44B0X看門狗定時器特殊功能寄存器496
6.12.3 S3C44B0X看門狗定時器應(yīng)用編程498
6.13 S3C44B0X I2C總線接口功能及應(yīng)用開發(fā)499
6.13.1 S3C44B0X I2C總線概述499
6.13.2 S3C44B0X I2C總線接口操作499
6.13.3 S3C44B0X I2C接口特殊功能寄存器503
6.13.4 S3C44B0X I2C總線應(yīng)用編程506
6.14 S3C44B0X IIS總線接口功能及應(yīng)用開發(fā)507
6.14.1 S3C44B0X IIS概述507
6.14.2 S3C44B0X IIS特性508
6.14.3 S3C44B0X IIS功能描述508
6.14.4 S3C44B0X IIS接口工作模式509
6.14.5 S3C44B0X音頻串行接口格式509
6.14.6 S3C44B0X IIS接口特殊功能寄存器511
6.14.7 S3C44B0X IIS應(yīng)用編程514
6.15 S3C44B0X SIO功能及應(yīng)用開發(fā)517
6.15.1 S3C44B0X SIO概述517
6.15.2 S3C44B0X SIO特點517
6.15.3 S3C44B0X SIO正常操作模式 517
6.15.4 S3C44B0X SIO DMA 操作518
6.15.5 S3C44B0X SIO 接口特殊功能寄存器519
6.16 基于S3C44B0X的S3CEV40開發(fā)介紹521
6.16.1 S3CEV40基本功能介紹521
6.16.2 S3CEV40X外圍接口硬件資源簡介522
6.17 S3C44B0X啟動程序設(shè)計526
6.18 USB接口功能開發(fā)實例533
6.18.1 USB簡介533
6.18.2 USB接口電路設(shè)計535
6.18.3 USB接口控制程序設(shè)計536
習(xí)題543
第7章 μC/OSⅡ及應(yīng)用開發(fā)
7.1 實時操作系統(tǒng)544
7.2 μC/OSⅡ操作系統(tǒng)545
7.2.1 μC/OSⅡ簡介545
7.2.2 μC/OSⅡ的特點547
7.2.3 μC/OSⅡ的內(nèi)核結(jié)構(gòu)548
7.3 μC/OSⅡ的內(nèi)核554
7.3.1 任務(wù)調(diào)度554
7.3.2 任務(wù)間的通信與同步555
7.3.3 任務(wù)管理558
7.3.4 時間管理559
7.3.5 內(nèi)存管理560
7.3.6 μC/OSⅡ的文件體系561
7.4 μC/OSⅡ應(yīng)用程序開發(fā)562
7.4.1 變量類型562
7.4.2 應(yīng)用程序基本結(jié)構(gòu)563
7.4.3 μC/OSⅡAPI介紹564
7.4.4 μC/OSⅡ多任務(wù)實現(xiàn)機(jī)制565
7.5 μC/OSⅡ在S3CEV40上的移植566
7.5.1 移植條件566
7.5.2 移植步驟567
7.5.3 移植μC/OSⅡ后的測試572
習(xí)題573
第8章 μCLinux及應(yīng)用開發(fā)
8.1 嵌入式Linux概況574
8.1.1 Linux簡介574
8.1.2 嵌入式Linux579
8.1.3 嵌入式Linux的版本580
8.1.4 嵌入式Linux應(yīng)用581
8.2 開發(fā)工具GNU的使用582
8.2.1 GNU簡介582
8.2.2 GCC介紹583
8.2.3 makefile介紹588
8.2.4 gdb調(diào)試工具590
8.3 Linux內(nèi)核分析591
8.3.1 Linux內(nèi)核概述592
8.3.2 進(jìn)程管理592
8.3.3 內(nèi)存管理594
8.3.4 文件系統(tǒng)管理596
8.3.5 設(shè)備管理597
8.3.6 網(wǎng)絡(luò)管理598
8.4 μCLinux操作系統(tǒng)599
8.4.1 進(jìn)程管理600
8.4.2 內(nèi)存管理602
8.4.3 文件系統(tǒng)603
8.5 構(gòu)造嵌入式Linux系統(tǒng)605
8.5.1 構(gòu)造嵌入式Linux系統(tǒng)的幾個關(guān)鍵問題605
8.5.2 構(gòu)造嵌入式Linux系統(tǒng)的關(guān)鍵步驟608
8.6 μCLinux應(yīng)用程序開發(fā)610
8.6.1 μCLinux程序設(shè)計要點610
8.6.2 高效的程序開發(fā)611
8.7 μCLinux在 S3CEV40上的移植612
8.7.1 移植前的準(zhǔn)備612
8.7.2 移植步驟612
8.8 基于S3CEV40平臺的μCLinux開發(fā)實例616
8.8.1 μCLinux編譯運行616
8.8.2 Boot Loader編譯運行617
8.8.3 μClinux內(nèi)核調(diào)試實驗618
8.8.4 在文件系統(tǒng)中增加應(yīng)用程序618
8.8.5 多進(jìn)程應(yīng)用程序的編寫及調(diào)試619
8.8.6 網(wǎng)絡(luò)應(yīng)用程序的編寫及調(diào)試619
習(xí)題620
參考文獻(xiàn)621

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號