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