出版時間:2012-6 出版社:嚴海蓉 電子工業(yè)出版社 (2012-06出版) 作者:嚴海蓉 頁數(shù):232
Tag標簽:無
前言
嵌入式系統(tǒng)與計算機系統(tǒng)的起源一樣久遠,由于嵌入式系統(tǒng)的硬件形形色色,軟件也帶著各個行業(yè)的不同特點,因此一直沒有像計算機系統(tǒng)一樣被大眾普遍認識。尤其是嵌入式操作系統(tǒng)雖然也風風雨雨發(fā)展了很多年,但是由于應用的范圍比計算機操作系統(tǒng)小,因此也不被大眾所了解?! 】墒请S著計算機系統(tǒng)發(fā)展受到了固有統(tǒng)一形態(tài)的限制,嵌入式系統(tǒng)在近幾個世紀呈現(xiàn)出了蓬勃的發(fā)展勢頭。隨著物聯(lián)網(wǎng)的概念出現(xiàn),嵌入式系統(tǒng)將成為這一輪科技革命的主力軍。 嵌入式操作系統(tǒng)也隨著要求軟件的編寫更加簡單和實現(xiàn)多硬件平臺的可跨越而逐漸成熟起來。 從想開設嵌入式操作系統(tǒng)的課程時苦尋教材而不見,到萌發(fā)了自己編寫一本專門介紹嵌入式操作系統(tǒng)原理的教材的思想,不過一兩年時間。在和學生們的探討中,感到必須編寫一本高水平的、內容新穎全面的教材,用于指導學生的學習?! ”緯攸c講述嵌入式操作系統(tǒng)原理,尤其是不同于計算機操作系統(tǒng)的一些原理。另外,由于有些嵌入式系統(tǒng)的規(guī)模較小,需要自己編寫操作系統(tǒng),因此側重于介紹怎樣編寫嵌入式操作系統(tǒng)內核。同時,本書介紹了uCOS2在Xilinx FPGA 上的移植,讓讀者了解如何移植一個已有的嵌入式操作系統(tǒng)去某一個硬件平臺。最后還介紹了各種常用的嵌入式操作系統(tǒng),包括Linux、uClinux、Andriod、Windows CE等。這些常用的嵌入式操作系統(tǒng)的介紹,主要以編寫某設備驅動為主線,讓讀者大略了解一個嵌入式操作系統(tǒng)的組織?! ”緯鴥热菘煞譃閮纱蟛糠?。 第1~10章為第一部分,屬于嵌入式操作系統(tǒng)原理。其中,第1章介紹嵌入式操作系統(tǒng)基礎知識,如嵌入式操作系統(tǒng)的發(fā)展歷史、分類、編寫方式。第2章詳細介紹本書嵌入式操作系統(tǒng)實驗的運行平臺,包括uCOS2和Xilinx公司的FPGA平臺,以及uCOS2在FPGA平臺上的移植,讓讀者體會嵌入式操作系統(tǒng)的具體硬件接口設計。第3章介紹嵌入式操作系統(tǒng)的體系結構和基本概念。第4章詳細介紹嵌入式操作系統(tǒng)的構成元素——各種常用數(shù)據(jù)結構和其在嵌入式操作系統(tǒng)中的使用方式。第5章詳細介紹嵌入式操作系統(tǒng)的一般啟動方式,包括bootloader的編寫方式,uCOS2、uClinux的啟動方式和用到的數(shù)據(jù)結構。第6章詳細介紹任務管理的各個組成模塊及其實現(xiàn)方式。第7章詳細介紹嵌入式操作系統(tǒng)中資源管理的各種方式及實現(xiàn)方式,并通過對uCOS2的改造,講述如何在已有嵌入式操作系統(tǒng)中實現(xiàn)所需要功能模塊做擴展。第8章詳細介紹任務間通信方式及其實現(xiàn)。第9章詳細介紹內存管理方式及其實現(xiàn)。第10章詳細介紹中斷與異步通信的方式及其實現(xiàn)?! 〉?1~14章為第二部分,屬于常用嵌入式操作系統(tǒng)的介紹和應用。其中,第11章介紹Linux內核及驅動編寫。第12章介紹uClinux內核及驅動編寫。第13章介紹Android體系結構及藍牙驅動編寫。第14章介紹Windows CE內核及驅動編寫?! ”緯詈筮€提供了實驗指導,供讀者參考?! ”緯鴥热菪路f,立足點高,同時力求重點突出,層次清晰,語言通俗易懂,內容覆蓋面廣。學習本書需要有一定的C語言閱讀能力和硬件的入門知識。本書可作為高等院校本科、研究生各相關專業(yè)(如嵌入式系統(tǒng)、物聯(lián)網(wǎng)、計算機、電子信息、通信)的程序設計教材,也適合于程序開發(fā)人員培訓、廣大嵌入式系統(tǒng)技術愛好者自學使用?! 「鶕?jù)我們的教學體會,本書的教學可以安排為32~48學時。如果安排的學時較少,可以根據(jù)學生的水平適當刪減第二部分的內容?! ”緯峁┑膶嶒瀸嵗吭谀繕擞布险{試通過?! ”M管我們在寫作過程中投入了大量的時間和精力,但由于水平有限,錯誤和不足之處仍在所難免,敬請讀者批評指正。我們會在適當時間對本書進行修訂和補充?! ”緯?章及實驗指導由張川同學編寫,第11章由陳連升同學組織內容,第13章由丁亞周同學組織部分內容,全書的實驗要感謝Digilent公司的趙峰經(jīng)理和戴碩先生。Digilent公司的趙峰經(jīng)理審閱了本書并提供了寶貴的修改意見,Xilinx公司的謝凱年經(jīng)理對本書結構提出了許多寶貴意見,在此一并表示感謝。還要感謝北京工業(yè)大學嵌入式系統(tǒng)與軟件系的全體師生,本書的最終出版得到了他們的幫助。北京工業(yè)大學研究生教材建設基金對本書的編寫進行了資助。最后還要感謝我的家人對我的支持,感謝電子出版社的董亞峰編輯為本書的編寫和出版付出的辛勤勞動,以及感謝張杰、武翠梅同學的幫助?! 篮H亍 ?012年2月 于北京工業(yè)大學
內容概要
《普通高等“十二五”規(guī)劃教材·電子信息科學與工程類專業(yè)規(guī)劃教材:嵌入式操作系統(tǒng)原理及應用》重點講述嵌入式操作系統(tǒng)原理及應用。全書共分14章,包括嵌入式操作系統(tǒng)基礎知識,μCOS-Ⅱ在FPGA平臺上的移植,嵌入式操作系統(tǒng)的構成元素,嵌入式操作系統(tǒng)一般的啟動方式,任務管理的各個組成模塊及其實現(xiàn)方式,任務間通信方式及其實現(xiàn),內存管理方式及其實現(xiàn),中斷與異步通信的方式及其實現(xiàn),Linux內核及驅動編寫,μClinux內核及驅動編寫,Android體系結構及藍牙驅動編寫,Windows CE內核及驅動編寫等內容?!镀胀ǜ叩取笆濉币?guī)劃教材·電子信息科學與工程類專業(yè)規(guī)劃教材:嵌入式操作系統(tǒng)原理及應用》最后還提供了實驗指導,供讀者參考。
書籍目錄
第1章 緒論 11.1 嵌入式操作系統(tǒng)發(fā)展歷史 11.2 嵌入式操作系統(tǒng)分類 21.3 嵌入式操作系統(tǒng)的組成 31.4 目前主流嵌入式操作系統(tǒng)概述 41.5 嵌入式操作系統(tǒng)的發(fā)展趨勢 51.6 編寫嵌入式操作系統(tǒng)的方法 6習題 7第2章 嵌入式操作系統(tǒng)的運行環(huán)境 82.1 運行平臺介紹 82.2 嵌入式操作系統(tǒng)文件構成與接口定義 112.3 嵌入式操作系統(tǒng)下載與運行 13第3章 嵌入式操作系統(tǒng) 143.1 嵌入式操作系統(tǒng)的定義 143.2 嵌入式操作系統(tǒng)的體系結構 143.2.1 整體型 143.2.2 層次型 153.2.3 微內核 163.2.4 客戶-服務器 163.3 嵌入式操作系統(tǒng)組成要素及概念 17習題 20第4章 嵌入式操作系統(tǒng)常用數(shù)據(jù)結構 214.1 數(shù)組 214.2 指針 224.3 結構體 224.4 鏈表 234.5 差分鏈表 294.6 樹 304.7 位圖 314.8 文件 324.9 內核線程 34習題 36第5章 嵌入式操作系統(tǒng)初始化 375.1 bootloader 375.1.1 bootloader裝在哪里 375.1.2 bootloader的啟動過程 375.1.3 基于MicroBlaze軟核處理器的bootloader設計 465.2 嵌入式操作系統(tǒng)初始化數(shù)據(jù)結構及主要操作 485.2.1 uCOS主要數(shù)據(jù)結構及操作 485.2.2 uCOS系統(tǒng)初始化 525.2.3 uClinux的系統(tǒng)初始化 54習題 56第6章 任務管理 576.1 任務和任務優(yōu)先級 576.2 任務狀態(tài) 586.3 任務控制塊鏈 596.4 任務的生成 596.5 任務的掛起 636.6 任務的喚醒 646.7 任務的刪除 656.8 任務調度 676.9 任務編程 69習題 73第7章 資源管理 747.1 資源共享、互斥和任務同步 747.2 臨界區(qū) 747.3 信號量 767.4 信號量的使用 817.5 優(yōu)先級反轉 847.6 優(yōu)先級繼承協(xié)議 857.7 在uCOS2上實現(xiàn)優(yōu)先級繼承協(xié)議 867.8 優(yōu)先級天花板協(xié)議 887.9 在uCOS2上擴展優(yōu)先級天花板協(xié)議 91習題 94第8章 任務間通信 958.1 通信實現(xiàn)的基本數(shù)據(jù)結構 968.2 信號量——資源 1018.3 消息隊列 1028.4 郵箱 1078.5 管道 1108.7 事件集 112習題 120第9章 內存管理 1219.1 內存保護 1219.2 內存管理機制 1229.2.1 固定大小存儲區(qū)管理 1229.2.2 可變大小存儲區(qū)管理 1239.2.3 uCOS實現(xiàn)內存管理的方式 1269.2.4 Linux的內存機制 1359.2.5 uClinux下虛擬內存機制的屏蔽 137習題 137第10章 中斷與異步信號 13810.1 中斷 13810.2 中斷向量表 13810.3 中斷處理過程 14010.3.1 中斷檢測 14110.3.2 中斷響應 14510.3.3 中斷處理 14510.3.4 MicroBlaze中斷管理 14710.3.5 uCOS2中斷服務程序實現(xiàn) 15210.4 時鐘中斷和時鐘管理 15410.5 軟中斷 15810.6 異步信號系統(tǒng) 16210.7 中斷性能評價指標 163習題 166第11章 Linux 16711.1 Linux內核 16711.2 Linux文件結構模型 16911.3 Linux驅動編寫 17711.4 Linux驅動的編寫實例——字符設備驅動 17811.4.1 字符設備驅動原理分析 17911.4.2 字符設備驅動數(shù)據(jù)結構 18011.4.3 字符設備驅動的編寫步驟 18211.4.4 驅動程序的編譯與裝載 186第12章 uClinux 18812.1 uClinux內核 18812.2 uClinux移植 18912.3 uClinux驅動編寫 189第13章 Android 19413.1 Android系統(tǒng)構架 19413.2 Android SDK開發(fā)環(huán)境 19613.3 Android平臺開發(fā)環(huán)境搭建 19713.4 Andriod藍牙驅動編寫 19913.5 Android平臺藍牙編程 202第14章 Windows CE 20414.1 內核與驅動 20514.2 Windows CE系統(tǒng)驅動簡介 20614.3 Windows CE驅動程序實例 209實驗指導 213實驗一 移植uCOS2到FPGA上 213實驗二 任務的建立與多任務的執(zhí)行 220實驗三 系統(tǒng)中斷機制的建立與使用 220實驗四 蓄水池綜合實驗 221
章節(jié)摘錄
版權頁:插圖:3.3嵌入式操作系統(tǒng)組成要素及概念 嵌入式操作系統(tǒng)雖然各有不同,但是基本來講,都是針對各類硬件資源管理的,包括針對分享MCU的任務管理、消息機制、同步機制等,針對接口硬件的中斷處理,針對內存的內存管理、文件管理,針對網(wǎng)絡的網(wǎng)絡支持、網(wǎng)絡管理等。在深入學習嵌入式操作系統(tǒng)之前,先介紹嵌入式操作系統(tǒng)組成要素及其概念,如任務、實時、內核、調度等。1.任務任務是一個抽象的概念,進程和線程都只是任務的一個特例。簡單而言,嵌入式操作系統(tǒng)中的任務是一段無限循環(huán)的代碼,在這段代碼執(zhí)行的過程中有相應的堆棧、內存的分配。每種特定的嵌入式操作系統(tǒng)都有自己的描述單位。例如,Windows CE中以進程為基本單位來描述資源,每個進程一旦運行,操作系統(tǒng)要為其開辟相應的內存空間,供其進行臨時數(shù)據(jù)存儲等操作。線程則被MCU實際調度,是調度的實體。一個進程創(chuàng)建之后,同時將創(chuàng)建一個主線程。可以在主線程中創(chuàng)建該進程的其他線程。進程可以被視為線程的容器。一個線程默認的棧大小為64KB,也可以在創(chuàng)建線程的時候自定義棧的大小。同一個進程中,一個線程分配的內存,可以被其他線程所訪問。不同進程中的線程如要互相訪問,則需要通過進程間通信來處理。在Symbian操作系統(tǒng)中,每個進程都有一個或多個線程。線程是執(zhí)行的基本單位。Linux中線程和進程則更加含混,都使用任務這個結構來描述。比較線程和進程,總的來說,進程的描述粒度較大,涉及內存空間的劃分,不涉及具體微處理器的寄存器等,離硬件的距離比線程遠。線程在運行時涉及具體寄存器等保存和上下文環(huán)境切換,由微處理器進行調度,與微處理器的資源聯(lián)系緊密。圖3.7(a)是單線程進程的內存運行模式,圖3.7(b)是多線程進程的內存運行模式。在圖中,每個線程都擁有自己的寄存器和堆棧,而每個進程只擁有自己的代碼、數(shù)據(jù)和文件。
編輯推薦
《普通高等教育"十二五"規(guī)劃教材?電子信息科學與工程類專業(yè)規(guī)劃教材:嵌入式操作系統(tǒng)原理及應用》是由電子工業(yè)出版社出版。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載