出版時間:2011-1 出版社:北京航空航天大學(xué) 作者:周航慈 頁數(shù):265
Tag標(biāo)簽:無
前言
20世紀(jì)90年代,單片機(jī)在我國迅速普及,很難找到一種沒有使用單片機(jī)的電子新產(chǎn)品。筆者在那時出版了《單片機(jī)應(yīng)用程序設(shè)計技術(shù)》和《單片機(jī)程序設(shè)計基礎(chǔ)》兩部著作,也算為推動我國單片機(jī)應(yīng)用盡了一份力。由于那時的單片機(jī)以8位機(jī)為主,本身的硬件資源有限,所處理的問題也不是很復(fù)雜,故程序設(shè)計方法絕大多數(shù)還是“基于裸機(jī)編程”的,即不使用操作系統(tǒng)。進(jìn)入21世紀(jì)后,一大批所謂“信息電子產(chǎn)品”開始普及,其特點是處理對象包含多媒體信息流,CPU的信息吞吐量極大提高,系統(tǒng)功能復(fù)雜,人機(jī)界面豐富,有網(wǎng)絡(luò)接口等。這類產(chǎn)品的硬件系統(tǒng)集成度非常高,大多采用32位CPU,存儲器資源充足,具備了操作系統(tǒng)所需要的運(yùn)行條件。這類產(chǎn)品的軟件系統(tǒng)規(guī)模非常大,如果不使用操作系統(tǒng)來管理,就幾乎不可能開發(fā)成功。電子工程師熟練掌握“基于嵌入式實時操作系統(tǒng)的程序設(shè)計技術(shù)”已經(jīng)是開發(fā)這類信息電子產(chǎn)品的必備條件。搞電子產(chǎn)品設(shè)計的技術(shù)人員幾乎都是“電子類”專業(yè)出身的,其硬件功底不容置疑,但所學(xué)軟件課程有限,大多只學(xué)過“C程序設(shè)計”、“單片機(jī)原理與應(yīng)用”、“匯編語言程序設(shè)計”這幾門課,基本沒有學(xué)過“數(shù)據(jù)結(jié)構(gòu)”、“算法分析”、“操作系統(tǒng)”等軟件課程,大多數(shù)工程技術(shù)人員還是靠一邊工作一邊自學(xué)來提高自己。各種軟件書籍和教材大多采用“一本正經(jīng)”的論述風(fēng)格,對于軟件功底不深的自學(xué)者來說,就像是難啃的天書。筆者是電子類專業(yè)“科班出身”的大學(xué)教師,長期從事電子專業(yè)教學(xué),并以程序設(shè)計類課程為主;為了教學(xué)需要,也自學(xué)了若干相關(guān)的軟件課程,深深體會到其中的艱辛。近年來,筆者開始為電子類專業(yè)研究生上“嵌入式實時操作系統(tǒng)”的課程,對如何給電子類專業(yè)的學(xué)生講授這門課有了一些體會,萌生了用電子類專業(yè)人員看得懂的敘述風(fēng)格寫一本書的想法,并在2006年利用暑假的教學(xué)空閑時間撰寫了《基于嵌入式實時操作系統(tǒng)的程序設(shè)計技術(shù)》的第1版,完成了這個心愿。第1版出版至今已有4年,期間筆者收到不少讀者的反饋意見,認(rèn)為其起點還是高了一些,必須先學(xué)習(xí)好“實時操作系統(tǒng)”,才能看懂。另一方面,在這4年中,電子信息產(chǎn)業(yè)發(fā)展迅速,ARM芯片更新?lián)Q代很快,軟硬件開發(fā)平臺也不斷更新。為此,筆者決定撰寫第2版。與第1版相比,第2版中硬件環(huán)境從ARM7內(nèi)核轉(zhuǎn)到ARM Cortex-M3內(nèi)核,內(nèi)容上增加了實時操作系統(tǒng)的入門基礎(chǔ)知識,并將這些基礎(chǔ)知識分散安排到相關(guān)章節(jié)之中,從而大大降低了學(xué)習(xí)的起點,使讀者不必預(yù)先花費較長時間學(xué)習(xí)實時操作系統(tǒng)課程,就可以開始學(xué)習(xí)使用實時操作系統(tǒng),以達(dá)到提高學(xué)習(xí)效率、縮短學(xué)習(xí)周期的目的。
內(nèi)容概要
本書介紹了在“嵌入式實時操作系統(tǒng)”環(huán)境下的程序設(shè)計技術(shù),共分15章。內(nèi)容有緒論、建立開發(fā)環(huán)境、有關(guān)任務(wù)的基本知識、任務(wù)設(shè)計、中斷服務(wù)程序設(shè)計、行為同步、資源同步、數(shù)據(jù)通信、時間管理、采樣任務(wù)設(shè)計、串行通信任務(wù)設(shè)計、鍵盤任務(wù)設(shè)計、顯示任務(wù)設(shè)計、嵌入式操作系統(tǒng)的裁剪和設(shè)計示例。書中介紹的內(nèi)容以源碼開放的嵌入式實時操作系統(tǒng)“UC/OS-II為軟件運(yùn)行環(huán)境,以SmartCortex M3-1700通用教學(xué)/競賽/工控開發(fā)平臺為硬件環(huán)境。其內(nèi)容深入淺出。為便于讀者加深理解,書中還帶有很多程序設(shè)計實例和實驗。 本書可作為大學(xué)電子類本科生和研究生的學(xué)習(xí)參考書,也可以作為從事嵌入式應(yīng)用系統(tǒng)研制開發(fā)的電子技術(shù)人員的參考書。
書籍目錄
第1章 緒論 1.1 嵌入式系統(tǒng)的編程環(huán)境 1.2 學(xué)習(xí)使用實時操作系統(tǒng)之前必須具備的能力 1.3 實時操作系統(tǒng)的快速人門方法第2章 建立開發(fā)環(huán)境 2.1 CPU芯片與硬件平臺的選擇 2.2 嵌入式實時操作系統(tǒng)的選擇 2.3 嵌入式實時操作系統(tǒng)的移植 2.4 開發(fā)調(diào)試環(huán)境的建立 2.5 工程模板分析 2.6 工程模板的使用第3章 有關(guān)任務(wù)的基本知識 3.1 仿多CPU環(huán)境的實現(xiàn) 3.2 任務(wù)的特性 3.3 任務(wù)的劃分 3.4 任務(wù)的可調(diào)度性分析 3.5 與任務(wù)管理有關(guān)的常用函數(shù)第4章 任務(wù)設(shè)計 4.1 任務(wù)函數(shù)的結(jié)構(gòu) 4.2 任務(wù)優(yōu)先級安排 4.3 任務(wù)的數(shù)據(jù)結(jié)構(gòu)設(shè)計 4.4 任務(wù)函數(shù)設(shè)計中的問題 4.5 任務(wù)函數(shù)的代碼設(shè)計過程第5章 中斷服務(wù)程序設(shè)計 5.1 中斷優(yōu)先級 5.2 在工程模板中加人中斷服務(wù)程序 5.3 中斷服務(wù)程序設(shè)計第6章 行為同步 6.1 用于行為同步的通信手段 6.2 行為同步第7章 資源同步 7.1 關(guān)中斷 7.2 關(guān)調(diào)度 7.3 使用互斥信號量 7.4 使用計數(shù)信號量第8章 數(shù)據(jù)通信 8.1 全局變量 8.2 內(nèi)存數(shù)據(jù)塊 8.3 消息郵箱 8.4 消息隊列第9章 時間管理 9.1 控制任務(wù)的執(zhí)行周期 9.2 控制任務(wù)的運(yùn)行節(jié)奏 9.3 狀態(tài)查詢 9.4 終止周期性任務(wù)第10章 采樣任務(wù)設(shè)計第11章 串行通信任務(wù)設(shè)計第12章 鍵盤任務(wù)設(shè)計第13章 顯示任務(wù)設(shè)計第14章 嵌入式操作系統(tǒng)的裁剪第15章 設(shè)計示例后記參考文獻(xiàn)
章節(jié)摘錄
插圖:人們通常根據(jù)需要達(dá)到的目標(biāo)來合理選擇工作方式和需要使用的工具。例如去不遠(yuǎn)的超市購物,我們會走著去,然后將買好的東西拎回來。如果開著汽車去附近的超市,雖然只要一兩分鐘就可以到達(dá),但找停車位和付停車費可能會更麻煩。如果是要到外地出差,我們會坐汽車或者火車去,甚至坐飛機(jī)去,沒有人會徒步去外地出差。這里就有兩種本質(zhì)不同的環(huán)境:徒步行走(腳沾地)的出行環(huán)境和使用交通工具(腳不沾地)的出行環(huán)境。同樣的道理,在電子產(chǎn)品的軟件設(shè)計過程中,也需要根據(jù)軟件的規(guī)模和復(fù)雜程度來合理選擇編程環(huán)境:直接與所有硬件打交道的“基于裸機(jī)的編程環(huán)境”和基本上與硬件隔離的“基于嵌入式實時操作系統(tǒng)的編程環(huán)境”。本節(jié)將介紹這兩種基本的編程環(huán)境?,F(xiàn)在用一個直觀的例子來說明這兩種編程環(huán)境下產(chǎn)生的軟件有什么本質(zhì)不同。假設(shè)有三種工作(做飯、打掃衛(wèi)生和洗衣服)需要在規(guī)定的時間之內(nèi)同時完成,一般我們會選擇以下兩種方式之一:①請一個廚師來完成做飯的任務(wù),請一個清潔工來完成打掃衛(wèi)生的任務(wù),再請一個洗衣工來完成洗衣服的任務(wù)。三個人各做各的工作,在規(guī)定的時間之內(nèi)完成各自的任務(wù)將是非常輕松的事情,但三個人的工資總和肯定不低。
后記
由于本書的硬件平臺與第1版不同,因此導(dǎo)致所有程序都需要進(jìn)行重新設(shè)計和調(diào)試,但程序設(shè)計的基本思路是一致的。為了使讀者更容易入門,本書又適當(dāng)增加了一些實時操作系統(tǒng)基本原理的內(nèi)容。學(xué)習(xí)完本書后,讀者應(yīng)該基本上熟悉了基于實時操作系統(tǒng)的程序設(shè)計風(fēng)格,悟性高的讀者應(yīng)該基本掌握了實時操作系統(tǒng)提供的主要系統(tǒng)服務(wù)函數(shù)的用法,并且能夠獨立進(jìn)行初步程序設(shè)計。學(xué)習(xí)完本書并不意味著學(xué)習(xí)實時操作系統(tǒng)過程的結(jié)束,實際上這僅僅是開始,因為有很多事情并沒有在本書中真正交代清楚。實時操作系統(tǒng)用什么來表示任務(wù)的狀態(tài)?任務(wù)狀態(tài)的改變是如何實現(xiàn)的?實時操作系統(tǒng)如何知道當(dāng)前有哪些任務(wù)處于就緒狀態(tài)?很多與任務(wù)有關(guān)的問題都與“任務(wù)控制塊”和“任務(wù)就緒表”有關(guān),如果能夠把“任務(wù)控制塊”和“任務(wù)就緒表”的細(xì)節(jié)搞清楚,這些問題也就自然明白了。同樣的道理,實時操作系統(tǒng)提供的各種通信手段都與“事件控制塊”有關(guān),如果能夠把“事件控制塊’’的細(xì)節(jié)搞清楚,對這些通信手段的理解就會更加深刻。實時操作系統(tǒng)的核心功能是“任務(wù)調(diào)度”,如果能夠搞清楚“任務(wù)調(diào)度”的實現(xiàn)過程,則對實時操作系統(tǒng)的理解就上了一個臺階。
編輯推薦
《基于嵌入式實時操作系統(tǒng)的程序設(shè)計技術(shù)(第2版)》:嵌入式系統(tǒng)軟件設(shè)計基礎(chǔ)叢書
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
基于嵌入式實時操作系統(tǒng)的程序設(shè)計技術(shù) PDF格式下載