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

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

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

定 價:¥54.00

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

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

內容簡介

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

作者簡介

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

圖書目錄

第1章 嵌入式系統(tǒng)開發(fā)基礎
1.1 嵌入式系統(tǒng)的基本概念1
1.1.1 嵌入式計算機1
1.1.2 嵌入式系統(tǒng)的概念5
1.1.3 嵌入式系統(tǒng)的特點6
1.1.4 嵌入式系統(tǒng)的分類9
1.1.5 嵌入式系統(tǒng)的應用范圍9
1.1.6 嵌入式技術是中國IT發(fā)展的難得機遇9
1.2 嵌入式系統(tǒng)的組成結構10
1.2.1 嵌入式系統(tǒng)硬件基本結構介紹11
1.2.2 嵌入式系統(tǒng)軟件的層次結構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 嵌入式外圍接口電路和設備接口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 嵌入式應用軟件開發(fā)31
1.5.1 嵌入式軟件開發(fā)的特點和技術挑戰(zhàn)31
1.5.2 嵌入式軟件開發(fā)環(huán)境32
1.5.3 嵌入式應用軟件開發(fā)的基本流程35
1.5.4 嵌入式軟件開發(fā)的可移植性和可重用性39
1.6 嵌入式系統(tǒng)的開發(fā)流程40
1.6.1 嵌入式開發(fā)考慮的要素41
1.6.2 軟硬件協(xié)同設計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
習題48
第2章 ARM技術概述
2.1 ARM體系結構的發(fā)展歷史和技術特征50
2.1.1 ARM技術的發(fā)展歷程51
2.1.2 RISC體系結構56
2.1.3 ARM體系結構的技術特征61
2.2 ARM體系結構不同版本的發(fā)展概述62
2.2.1 ARM體系結構的基本版本62
2.2.2 ARM體系結構的演變65
2.2.3 ARM體系結構的命名規(guī)則67
2.3 Thumb技術介紹67
2.3.1 Thumb的技術概述68
2.3.2 Thumb的技術實現(xiàn)68
2.3.3 Thumb的技術特點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的異常中斷響應過程80
2.7.2 從異常中斷處理程序中返回81
2.7.3 異常中斷向量表83
2.7.4 異常中斷的優(yōu)先級83
2.8 ARM組織結構簡介84
2.8.1 3級流水線ARM的組織84
2.8.2 5級流水線ARM的組織87
2.9 ARM存儲器接口及存儲器層次89
2.9.1 ARM存儲數(shù)據類型和存儲格式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 總線標準概述96
2.11.2 AHB簡介96
2.11.3 ASB簡介98
2.11.4 APB簡介98
2.12 基于JTAG的ARM系統(tǒng)調試99
2.12.1 JTAG邊界掃描測試接口簡介100
2.12.2 ARM的調試結構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 應用角度的ARM芯片選擇原則129
2.14.2 多內核ARM角度芯片選擇原則131
2.14.3 國內常用ARM芯片及供應商簡介132
習題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指令詳細介紹146
3.3.1 數(shù)據處理指令146
3.3.2 Load/Store指令154
3.3.3 狀態(tài)寄存器與通用寄存器之間的傳送指令163
3.3.4 轉移指令166
3.3.5 異常中斷產生指令170
3.3.6 協(xié)處理器指令173
3.3.7 未使用的指令空間177
習題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指令詳細介紹186
4.2.1 Thumb數(shù)據處理指令186
4.2.2 Thumb轉移指令194
4.2.3 數(shù)據存取指令198
4.2.4 異常中斷指令204
習題206
第5章 基于ARM的嵌入式程序設計
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匯編語言程序設計250
5.2.1 ARM匯編中的文件格式250
5.2.2 ARM匯編語言語句格式250
5.2.3 ARM匯編語言編程的重點260
5.2.4 ARM匯編程序實例267
5.3 嵌入式C語言程序設計基礎273
5.3.1 C語言的“預處理偽指令”在嵌入式程序設計中的應用273
5.3.2 嵌入式程序設計中的函數(shù)及函數(shù)庫292
5.3.3 嵌入式程序設計中常用的C語言語句307
5.3.4 嵌入式程序設計中C語言的變量、數(shù)組、結構和聯(lián)合312
5.4 嵌入式C語言程序設計實例318
5.4.1 實例實現(xiàn)功能介紹318
5.4.2 實例實現(xiàn)程序源代碼介紹321
5.5 嵌入式C語言程序設計技巧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 內嵌匯編342
5.6.3 C語言和ARM匯編語言程序間相互調用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中調試軟件367
5.7.6 軟件的固化369
5.7.7 程序在Flash中調試369
習題370
第6章 基于S3C44B0X的嵌入式系統(tǒng)應用開發(fā)實例
6.1 S3C44B0X處理器介紹374
6.1.1 Samsung S3C44B0X簡介374
6.1.2 Samsung S3C44B0X特點374
6.1.3 S3C44B0X功能結構框圖378
6.1.4 S3C44B0X引腳信號描述378
6.2 S3C44B0X存儲控制器功能及應用開發(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存儲器應用編程390
6.3 S3C44B0X I/O端口功能及應用開發(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端口應用編程401
6.4 S3C44B0X DMA功能及應用開發(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應用編程415
6.5 S3C44B0X UART接口功能及應用開發(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應用編程427
6.6 S3C44B0X中斷控制器功能及應用開發(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中斷控制器應用編程443
6.7 S3C44B0X時鐘電源管理器功能及應用開發(fā)445
6.7.1 S3C44B0X時鐘電源管理器概述445
6.7.2 S3C44B0X時鐘電源管理器功能描述446
6.7.3 S3C44B0X時鐘發(fā)生器與電源管理特殊功能寄存器451
6.7.4 S3C44B0X時鐘與電源管理器應用編程453
6.8 S3C44B0X PWM定時器功能及應用開發(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定時器應用編程464
6.9 S3C44B0X LCD控制器功能及應用開發(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控制器應用編程477
6.10 S3C44B0X A/D轉換器功能及應用開發(fā)479
6.10.1 S3C44B0X的A/D轉換器概述480
6.10.2 S3C44B0X A/D轉換器特點480
6.10.3 S3C44B0X的A/D轉換操作480
6.10.4 S3C44B0X A/D轉換的特殊功能寄存器482
6.10.5 S3C44B0X A/D轉換器應用編程484
6.11 S3C44B0X RTC功能及應用開發(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應用編程493
6.12 S3C44B0X看門狗定時器功能及應用開發(fā)495
6.12.1 S3C44B0X看門狗定時器概述496
6.12.2 S3C44B0X看門狗定時器特殊功能寄存器496
6.12.3 S3C44B0X看門狗定時器應用編程498
6.13 S3C44B0X I2C總線接口功能及應用開發(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總線應用編程506
6.14 S3C44B0X IIS總線接口功能及應用開發(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應用編程514
6.15 S3C44B0X SIO功能及應用開發(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啟動程序設計526
6.18 USB接口功能開發(fā)實例533
6.18.1 USB簡介533
6.18.2 USB接口電路設計535
6.18.3 USB接口控制程序設計536
習題543
第7章 μC/OSⅡ及應用開發(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Ⅱ的內核結構548
7.3 μC/OSⅡ的內核554
7.3.1 任務調度554
7.3.2 任務間的通信與同步555
7.3.3 任務管理558
7.3.4 時間管理559
7.3.5 內存管理560
7.3.6 μC/OSⅡ的文件體系561
7.4 μC/OSⅡ應用程序開發(fā)562
7.4.1 變量類型562
7.4.2 應用程序基本結構563
7.4.3 μC/OSⅡAPI介紹564
7.4.4 μC/OSⅡ多任務實現(xiàn)機制565
7.5 μC/OSⅡ在S3CEV40上的移植566
7.5.1 移植條件566
7.5.2 移植步驟567
7.5.3 移植μC/OSⅡ后的測試572
習題573
第8章 μCLinux及應用開發(fā)
8.1 嵌入式Linux概況574
8.1.1 Linux簡介574
8.1.2 嵌入式Linux579
8.1.3 嵌入式Linux的版本580
8.1.4 嵌入式Linux應用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調試工具590
8.3 Linux內核分析591
8.3.1 Linux內核概述592
8.3.2 進程管理592
8.3.3 內存管理594
8.3.4 文件系統(tǒng)管理596
8.3.5 設備管理597
8.3.6 網絡管理598
8.4 μCLinux操作系統(tǒng)599
8.4.1 進程管理600
8.4.2 內存管理602
8.4.3 文件系統(tǒng)603
8.5 構造嵌入式Linux系統(tǒng)605
8.5.1 構造嵌入式Linux系統(tǒng)的幾個關鍵問題605
8.5.2 構造嵌入式Linux系統(tǒng)的關鍵步驟608
8.6 μCLinux應用程序開發(fā)610
8.6.1 μCLinux程序設計要點610
8.6.2 高效的程序開發(fā)611
8.7 μCLinux在 S3CEV40上的移植612
8.7.1 移植前的準備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內核調試實驗618
8.8.4 在文件系統(tǒng)中增加應用程序618
8.8.5 多進程應用程序的編寫及調試619
8.8.6 網絡應用程序的編寫及調試619
習題620
參考文獻621

本目錄推薦

掃描二維碼
Copyright ? 讀書網 www.dappsexplained.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網安備 42010302001612號