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