出版時間:2012-4 出版社:劉利強(qiáng)、 戴運(yùn)桃 哈爾濱工程大學(xué)出版社 (2012-04出版) 作者:劉利強(qiáng),戴運(yùn)桃 著 頁數(shù):219
內(nèi)容概要
《實時嵌入式系統(tǒng)軟件設(shè)計方法》主要介紹了實時嵌入式系統(tǒng)軟件設(shè)計開發(fā)的相關(guān)知識?!秾崟r嵌入式系統(tǒng)軟件設(shè)計方法》以實時嵌入式操作系統(tǒng)VxWorks為對象,詳細(xì)討論了開發(fā)環(huán)境建立、任務(wù)調(diào)度與管理、內(nèi)核對象操作等內(nèi)容。
書籍目錄
第1章 實時嵌入式系統(tǒng)概述 1.1 嵌入式系統(tǒng) 1.2 嵌入式操作系統(tǒng) 1.3 實時系統(tǒng) 1.4 實時操作系統(tǒng) 第2章 開發(fā)環(huán)境建立 2.1 軟件開發(fā)調(diào)試方法 2.2 系統(tǒng)啟動流程 2.3 交叉開發(fā)環(huán)境建立方法 第3章 任務(wù)調(diào)度與管理 3.1 任務(wù)基礎(chǔ) 3.2 任務(wù)管理 3.3 任務(wù)調(diào)度 第4章 內(nèi)核對象操作 4.1 任務(wù)間的通信 4.2 信號量 4.3 消息隊列 4.4 管道 4.5 信號 4.6 事件 第5章 中斷與時間管理 5.1 中斷管理 5.2 時間管理 第6章 I/O系統(tǒng)操作 6.1 I/O系統(tǒng)概述 6.2 I/O操作 6.3 I/O系統(tǒng)的內(nèi)部結(jié)構(gòu) 第7章 網(wǎng)絡(luò)通信 7.1 網(wǎng)絡(luò)通信基礎(chǔ) 7.2 socket 7.3 常用的網(wǎng)絡(luò)通信服務(wù)模式 7.4 基于UDP的網(wǎng)絡(luò)通信 7.5 基于TCP的網(wǎng)絡(luò)通信 第8章 軟件框架設(shè)計 8.1 軟件框架結(jié)構(gòu) 8.2 中斷服務(wù)程序設(shè)計 8.3 任務(wù)設(shè)計 參考文獻(xiàn)
章節(jié)摘錄
版權(quán)頁: 插圖: 行為同步往往是由某種條件或操作而觸發(fā),“觸發(fā)方”一般為任務(wù)或ISR,“被觸發(fā)方”一般為任務(wù),觸發(fā)的時刻可以稱為“同步時刻”,而“觸發(fā)方”的觸發(fā)位置和“被觸發(fā)方”的被觸發(fā)位置可以稱為“同步點(diǎn)”。在“同步時刻”,由“觸發(fā)方”使用系統(tǒng)提供的機(jī)制告知“被觸發(fā)方”某一條件或操作滿足。在VxWorks系統(tǒng)中,可以使用信號量的同步功能、消息隊列、管道、異步信號和事件等機(jī)制來實現(xiàn)行為同步。 1.ISR與任務(wù)間的同步 在實時嵌入式系統(tǒng)中,ISR是級別最高的應(yīng)用處理。當(dāng)執(zhí)行ISR操作時,系統(tǒng)無法進(jìn)行任務(wù)的調(diào)度執(zhí)行。因此,在ISR設(shè)計時一般都要求其所含操作盡可能精簡,將一些不必要的操作放在任務(wù)中處理。所以,對于一個中斷的處理一般都是由一個ISR和一個與其相關(guān)聯(lián)的任務(wù)共同完成的,這就需要在ISR與任務(wù)之間進(jìn)行行為同步。 ISR與任務(wù)間的行為同步是單向同步,其執(zhí)行流程如下: (1)由于外部事件引發(fā)中斷,調(diào)用ISR執(zhí)行; (2)ISR作為“觸發(fā)方”在其某一執(zhí)行步調(diào)用系統(tǒng)操作向其相關(guān)聯(lián)的任務(wù)發(fā)出觸發(fā)信息; (3) ISR繼續(xù)執(zhí)行直到中斷結(jié)束; (4)系統(tǒng)進(jìn)行多任務(wù)調(diào)度。若與中斷相關(guān)聯(lián)的任務(wù)得到CPU,則該任務(wù)可以執(zhí)行,并可在同步點(diǎn)接收到ISR發(fā)出的觸發(fā)信息。 由于無法確定本次調(diào)度之前該任務(wù)的執(zhí)行情況,所以該任務(wù)不一定從同步點(diǎn)開始執(zhí)行。 2.兩任務(wù)間的同步 兩任務(wù)間的同步所包含的情況較多。例如,在兩任務(wù)間可以進(jìn)行單向同步或雙向同步,“觸發(fā)方”任務(wù)優(yōu)先級可以低于、等于或高于“被觸發(fā)方”任務(wù)優(yōu)先級。由于“觸發(fā)方”與“被觸發(fā)方”任務(wù)優(yōu)先級相同的情況對于行為同步這種操作來說沒有意義,一般不會使用。下面僅就其他情況的執(zhí)行過程進(jìn)行討論,并假設(shè)無其他行為同步操作,且不考慮ISR和其他任務(wù)的影響。 (1)單向同步。單向同步是指兩任務(wù)的一方為觸發(fā)信息發(fā)送方(即“觸發(fā)方”),而另一方為觸發(fā)信息接收方(即“被觸發(fā)方”)。 當(dāng)“觸發(fā)方”的任務(wù)優(yōu)先級高于“被觸發(fā)方“的任務(wù)優(yōu)先級時,兩任務(wù)的執(zhí)行流程如下: ①“觸發(fā)方”任務(wù)執(zhí)行,在其某一執(zhí)行步調(diào)用系統(tǒng)操作發(fā)出觸發(fā)信息; ②“觸發(fā)方”任務(wù)繼續(xù)執(zhí)行,直到其釋放CPU; ③“被觸發(fā)方”任務(wù)執(zhí)行,并可在同步點(diǎn)接收到觸發(fā)信息。 對于這種情況來說,瞬時同步的效果較差,“被觸發(fā)方”任務(wù)的執(zhí)行完全是受“觸發(fā)方”任務(wù)的觸發(fā)信息控制,常常會用于“被觸發(fā)方”任務(wù)為周期定時執(zhí)行或事件觸發(fā)執(zhí)行,且對任務(wù)的實時性要求不高的場合。 當(dāng)“觸發(fā)方”的任務(wù)優(yōu)先級低于“被觸發(fā)方“的任務(wù)優(yōu)先級時,兩任務(wù)的執(zhí)行流程如下: ①“被觸發(fā)方”任務(wù)執(zhí)行,當(dāng)其執(zhí)行到接收觸發(fā)信息的代碼時被阻塞,釋放CPU; ②“觸發(fā)方”任務(wù)執(zhí)行,在其某一執(zhí)行步調(diào)用系統(tǒng)操作發(fā)出觸發(fā)信息,“觸發(fā)方”任務(wù)立即被“被觸發(fā)方”任務(wù)搶占,“觸發(fā)方”任務(wù)轉(zhuǎn)為就緒態(tài); ③“被觸發(fā)方”任務(wù)繼續(xù)執(zhí)行,并重復(fù)第①步過程。 這種情況的瞬時同步效果較好,往往用于“被觸發(fā)方”任務(wù)為事件觸發(fā)執(zhí)行,且對任務(wù)的實時性要求較高的情況。 (2)雙向同步。在兩任務(wù)單向同步的情況下,無論“觸發(fā)方”和“被觸發(fā)方”之間的任務(wù)優(yōu)先級為何種關(guān)系,都無法確保兩任務(wù)在“同步點(diǎn)”位置進(jìn)行任務(wù)切換,也無法確保兩任務(wù)的執(zhí)行速率相同(即一個任務(wù)執(zhí)行一次循環(huán),另一個任務(wù)也執(zhí)行一次循環(huán))。也就是說,兩任務(wù)既做不到執(zhí)行位置(即“同步點(diǎn)”)的同步,也做不到執(zhí)行速率的同步。然而,在某一些應(yīng)用場合下是希望可以在兩個任務(wù)之間實現(xiàn)執(zhí)行位置的同步或執(zhí)行速率的同步,從而達(dá)到一種平衡,這就需要雙向同步。
編輯推薦
《實時嵌入式系統(tǒng)軟件設(shè)計方法》可作為高等院校相關(guān)專業(yè)的本科生、研究生教材,也可作為將要和正在從事實時嵌入式系統(tǒng)軟件開發(fā)設(shè)計的工程技術(shù)人員的參考書。
圖書封面
評論、評分、閱讀與下載
實時嵌入式系統(tǒng)軟件設(shè)計方法 PDF格式下載