Professional Documents
Culture Documents
tw
或來電(02)2705-5066
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
全書評
「該書在即時嵌入式系統設計的理論和實務之間進行了非常良好的折衷。大多
數即時系統方面的書要麼集中在理論方面,而缺乏實務經驗;要麼集中在設計實例
上,而缺乏理論背景。」
──Jun-ichiro itojun Hagino, Ph. D., Research Laboratory, Internet Initiative Japan Inc.,
IETF IPv6 Operations Working Group(v6ops)co-chair
「清晰、簡潔、全面地介紹了嵌入式和普及計算。對於進入和觀察逐步增長的
嵌入式市場的工程師或產品經理,應當要求他們讀這本書。從基本概念入手,無論
剛 進 入 嵌 入 式 領 域 的 新 手 具 有 何 種 程 度 的 要 求 或 者 希 望 探 索 的 興 趣 有 多 深 入,
Qing Li 都提供了特別的細節。Qing Li 介紹了嵌入式設計的概念,並且清晰地列舉
了非即時和軟即時和硬即時需求上的差別。從元件結構(例如排程器、物件、和服
務)入手介紹了 RTOS,對每個子元件進行了更詳細的分析。從 I/O、異常處理、和
協定堆疊的分段說明上,為嵌入式的‘新手’以及中等水準的開發者建立了全面的
景觀。」
──Jerry Krasner, Ph.D., MBA., vice-present, industry analyst, and consultant, Embe-
dded Market Forecasters
「該書為即時嵌入式計算機系統,提供了全面的、實務性的、最新的以及通俗
易懂的內容。我堅信該書中解釋的知識、理論和概念不僅對於設計即時系統的工程
師和計算機科學與機器人工程系的學生,而且對於每個即時嵌入式系統的使用──
特別是通信網路的操作員、系統管理員和機器工程師都是相當重要的。」
──Dr. Shin Miyakawa, senior research manager, IPv6 Group, Innovative IP Architec-
ture Center, NTT Communication Corporation
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
譯者序
十幾年前,提起即時嵌入式軟體系統,人們會認為只有在重要的國防或工業控
制設備中才會使用。現在,即時嵌入式軟體已深入到我們生活的每個角落,從航
空、航天、國防、工業控制到家庭消費電子設備,包括我們的手機、MP3 播放器
等,即時嵌入式軟體已經是無處不在。即時嵌入式軟體的開發已經成為專門的領域。
嵌入式軟體系統的開發,要求開發者具有多種技術領域的知識,包括從底層的
硬體、交叉編譯技術、交叉除錯技術、即時系統分析和即時作業系統原理,到多執
行緒應用的設計。幾乎所有的嵌入式系統,都具有即時性能的要求,其中許許多多
的概念交織在一起。由於即時嵌入式軟體的開發與習以為常的軟體開發過程的巨大
差異,使得許多具有良好軟體開發經驗的人員在嵌入式軟體的開發方面感到為難。
那些具有硬體知識而缺乏軟體經驗的工程師,或者開發過大量程式而缺乏硬體知識
的工程師,或者具有單晶片微算機開發經驗而缺乏即時系統概念的人員,或者軟體
項目的管理者們,對即時嵌入式軟體開發存在許多疑惑。
坊間常見的書,要麼是在即時系統方面或在物件導向開發理論性方面非常強,
而在實務方面有所不足;要麼是非常注意底層的軟體和硬體的開發使用方法,而缺
乏理論性的歸納和指導。對於企業界的開發人員或大學裡的學生來說,希望尋找到
能將實務和理論密切結合的書。2003 年春,透過 Wind River 中國區經理韓青先生,
從作者手裡得到了剛剛出版的這本書。與此同時,北京航空航天大學出版社的馬廣
雲博士等也希望出版一本能夠在理論和實務方面互相結合的書。
本書繁體中文版由台灣五南圖書出版公司取得授權在台灣出版發行。五南圖書
公司邀請國立台灣師範大學高文忠教授,依據台灣業界對嵌入式領域的專有名詞及
習慣用語的不同要求,並按照台灣讀者閱讀習慣,進行了潤稿與修訂。
在這本書中,李慶及他的同行們將多年的開發經驗和相關的理論進行了很好的
總結。許多困惑的概念,在本書中得到了清晰的解釋。本書對國內企業界的同行具
有較高的參考價值;對計算機工程與技術、電子、資訊及通信等相關專業的師生,
特別是軟體相關科系有意從事即時嵌入式系統開發的學生,是一本很好的參考書。
考慮到一些英文的名詞術語還沒有統一的中文翻譯,因此,譯文中將必要的原
文保留下來,便於讀者參閱,也便於在校學生的學習。藉此機會,希望能與國內的
同行們建立廣泛的聯繫。譯文中的不足之處,請透過 Email(wanganshengip.sina.com)
指正。
王安生
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
序
在我們生活的世界中,軟體扮演著關鍵的角色。大多數關鍵軟體不是執行在大
系統和 PC 上;相反的,它執行在我們日常所使用的基礎設施和設備中。如果包含
在汽車、電話、路由器和發電廠中的嵌入式軟體當機,那麼我們的交通工具、通信
系統和能源系統將不能工作。
這種不可見的、嵌入式軟體的設計對於我們是很重要的。特別是對於千變萬化
的世界,仍然缺乏優秀的而且能夠提供有效的設計和實務的資訊。毫無疑問,與傳
統程式相比,設計嵌入式軟體的確有所不同,並且更加困難。時間和多工的相互作
用必須即時地管理。看上去神秘的概念,如優先權倒置,當將那些設備放到膝蓋上
的時候,立刻變得非常具體。有效性──非常小的記憶體印記和執行在低費用硬體
的能力,成為設計考慮的關鍵因素,因為它們直接影響到費用、電源使用、尺寸大
小和電池的壽命。當然,就許多因素──公司和產品信譽、關鍵的基本功能,有
時,甚至是對生命而言,可靠性是第一位的。李先生做了令人驚異的工作,將這些
相關的資訊集合在一起。他展開了問題、判斷和設計過程,並介紹了可使用的工具
和方法。本書後面部分提供的應用開發、普遍的設計問題和解決方案,是非常有價
值、有洞察力的實務經驗。本書對於任何從事嵌入式設計項目的人都是有幫助的,
尤其是對於那些具有軟體開發經驗,但是還沒有進行過即時和嵌入式軟體開發的工
程師特別有幫助;對於學術界,也是一本非常好的教科書或參考文獻。在我們周圍
到處滲透著的、不可見的軟體的品質將決定當今創立的世界。這本書對這些軟體的
品質具有積極的意義,也是一本工程書架上的受歡迎的常備書。
Jerry Fiddler
Chairman and Co-Founder, Wind River
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
前 言
嵌入式系統無所不在,並且在現代日常生活中扮演著重要的角色。嵌入式系統
也是多樣化的,在消費類電子產品中,如數位相機、DVD 播放器和印表機;在工業
機器人中;在先進的航空電子設備中,如飛彈導引系統和飛行控制系統;在醫療設
備中,如強心劑無節律監視器和強心劑心律調整器;在汽車設計中,如燃料注入系
統和自動剎車系統,到處可以找到嵌入式系統。嵌入式系統深深地改變了我們今天
的生活方式,也將繼續改變我們明天的生活方式。
嵌入式系統程式設計是一門特殊的學科,要求嵌入式系統的開發者具有多種技
術領域的工作知識。這些領域涵蓋從低階的硬體設備、編譯技術和除錯技術,到即
時作業系統的內部工作和多執行緒應用設計。這些要求可以難倒剛進入嵌入式世界
的程式設計師,學習過程很長而且壓力很大。因此,我感到有責任透過實務的討論
和演示,分享我的知識經驗,使你跳過嵌入式系統項目的起始階段。
有些書用更傳統的方法,主要集中在控制基本硬體設備的低階驅動程式和軟體
上。另一些書提供使用物件導向的方法和模式語言的高階抽象方法。然而,本書架
起了嵌入式系統開發的高階抽象模式概念和低階的基本程式設計方面的橋樑。貫穿
本書的討論來自於多年商業嵌入式系統的設計和實作、從先前的錯誤中學到的經
驗、從他人處獲得的才智以及學術研究的結果。這些因素聚在一起,形成了非常有
用的且可以在即時嵌入式項目中實際應用的洞察力、指引和建議。
本書用詳細的物件說明了即時嵌入式系統的完整概念,並提供了與設計問題和
解決方案相關的工業化知識。本書提供了豐富的可立即用於嵌入式模組集合,以便
加快你的開發工作和提高生產效率。
我希望當你開始著手開發時,《嵌入式系統的即時概念》一書能成為你的一本
關鍵參考書。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
致讀者朋友
本書的主要讀者群,是從事嵌入式計算領域的初級到中高級的軟體開發者。
如果你是一個有經驗的開發者,而將面臨新的即時嵌入式系統的開發,你可以
發現本書中的設計方法是非常實用的;如果你是一個積極從事即時嵌入式系統軟體
設計審查的技術管理者,你應當參考本書,從而對設計和實作階段有更好的了解;
如果你是工程或者計算機科學相關科系的學生,本書是你的最佳的參考補充教材。
在使用本書前,你起碼應當熟悉至少一種程式語言,也應對軟體開發過程有相
當的了解。
致 謝
衷心感謝 CMP Books 的小組,特別是 Paul Temme, Michelle O Neal, Marc Briand,
Brandy Ernzen 和 Robert Ward。
表示對審查者 Jerry Krasner, Shin Miyakawa, Jun-Ichiro Itojun Hagino 和 Liliana Brit-
vic 所做貢獻的謝意。
同時感謝 Anne-Marie Eileraas, Salvatore LiRosi, Loren Shade 和 Wind River 公司的
許多其他同事的支援。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
目 錄
1 引 論 1
1.1 現實生活中的嵌入式系統實例 ……………………………………… 2
1.2 即時嵌入式系統 …………………………………………………………12
1.3 嵌入式系統的趨勢 ………………………………………………………20
1.4 要點整理 …………………………………………………………………21
2 開發嵌入式系統的基礎 23
2.1 引 言 ……………………………………………………………………24
2.2 鏈結程式和鏈結過程概貌………………………………………………25
2.3 可執行和鏈結格式 ………………………………………………………29
2.4 可執行映像映射到目標機嵌入式系統 ………………………………33
2.5 要點整理 …………………………………………………………………42
3 嵌入式系統初始化 43
3.1 引 言 ……………………………………………………………………44
3.2 目標機系統工具和映像傳輸……………………………………………45
3.3 目標機系統開機過程 ……………………………………………………49
3.4 目標機系統軟體開機程序………………………………………………58
3.5 晶片上除錯 ………………………………………………………………63
3.6 要點整理 …………………………………………………………………64
4 即時作業系統介紹 67
4.1 引 言 ……………………………………………………………………68
4.2 作業系統的簡要歷史 ……………………………………………………68
4.3 定義 RTOS ………………………………………………………………70
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2 目 錄
5 工作元 83
5.1 引 言 ……………………………………………………………………84
5.2 定義一個工作元 …………………………………………………………84
5.3 工作元狀態和排程 ………………………………………………………87
5.4 典型的工作元操作 ………………………………………………………92
5.5 典型的工作元結構 ………………………………………………………97
5.6 同步、通信和並行 ………………………………………………………99
5.7 要點整理 ……………………………………………………………… 100
6 信號機 101
6.1 引 言 ………………………………………………………………… 102
6.2 定義信號機 …………………………………………………………… 102
6.3 典型的信號機操作 …………………………………………………… 109
6.4 典型的信號機使用 …………………………………………………… 113
6.5 要點整理 ……………………………………………………………… 123
7 訊息佇列 125
7.1 引 言 ………………………………………………………………… 126
7.2 定義訊息佇列 ………………………………………………………… 126
7.3 訊息佇列狀態 ………………………………………………………… 128
7.4 訊息佇列內容 …………………………………………………………
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw129
或來電(02)2705-5066
目 錄 3
8 其他內核物件 145
8.1 引 言 ………………………………………………………………… 146
8.2 管 道 ………………………………………………………………… 146
8.3 事件暫存器 …………………………………………………………… 155
8.4 信 號 ………………………………………………………………… 159
8.5 條件變數 ……………………………………………………………… 165
8.6 要點整理 ……………………………………………………………… 170
9 其他 RTOS 服務 173
9.1 引 言 ………………………………………………………………… 174
9.2 其他內建模組 ………………………………………………………… 174
9.3 元件組態 ……………………………………………………………… 181
9.4 要點整理 ……………………………………………………………… 183
10 異常和中斷 185
10.1 引 言 ……………………………………………………………… 186
10.2 什麼是異常和中斷 ………………………………………………… 186
10.3 異常和中斷的應用 ………………………………………………… 188
10.4 近距離看異常和中斷 ……………………………………………… 190
10.5 處理一般的異常 …………………………………………………… 195
10.6 假中斷的特性 ……………………………………………………… 210
10.7 要點整理 ……………………………………………………………
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw212
或來電(02)2705-5066
4 目 錄
11 計時器和計時器服務 213
11.1 引 言 ……………………………………………………………… 214
11.2 即時時鐘與系統時鐘 ……………………………………………… 215
11.3 可程式間隔計時器 ………………………………………………… 217
11.4 計時器中斷服務常式 ……………………………………………… 218
11.5 實現軟計時器功能的模型 ………………………………………… 220
11.6 時間車輪 …………………………………………………………… 225
11.7 軟計時器和與軟計時器相關的運算 …………………………… 232
11.8 要點整理 …………………………………………………………… 235
13 記憶體管理 253
13.1 引 言 ……………………………………………………………… 254
13.2 嵌入式系統中的動態記憶體配置 ……………………………… 254
13.3 嵌入式系統中固定大小的記憶體管理 ………………………… 264
13.4 凍結與非凍結的記憶體函數……………………………………… 265
13.5 硬體記憶體管理單元 ……………………………………………… 268
13.6 要點整理 …………………………………………………………… 269
14 用並行處理將應用系統模組化 271
14.1 引 言 ………………………………………………………………
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw272
或來電(02)2705-5066
目 錄 5
15 同步和通信 293
15.1 引 言 ……………………………………………………………… 294
15.2 同 步 ……………………………………………………………… 294
15.3 通 信 ……………………………………………………………… 300
15.4 資源同步方法 ……………………………………………………… 302
15.5 臨界區段的回顧 …………………………………………………… 304
15.6 普遍的實務設計模式 ……………………………………………… 305
15.7 特殊解決方案的設計模式………………………………………… 314
15.8 要點整理 …………………………………………………………… 327
16 普遍的設計問題 329
16.1 引 言 ……………………………………………………………… 330
16.2 資源分類 …………………………………………………………… 330
16.3 死 結 ……………………………………………………………… 331
16.4 優先權倒置 ………………………………………………………… 348
16.5 要點整理 …………………………………………………………… 357
索 引 ………………………………………………………… 363
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
引 論
現實生活中的嵌入式系統實例
即時嵌入式系統
嵌入式系統的趨勢
要點整理
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
2 嵌入式系統的即時概念
本章內容綜述
幾十年前還是不可想像的,現在,嵌入式系統正在重新塑造人們的生活、
工作和娛樂方式。嵌入式系統產生了無數的種類,每類都具有自己獨特的
特性。例如,當今駕駛的汽車就嵌入了執行附加任務的智慧型電腦晶片,
它使汽車更輕快、更乾淨、更容易駕駛。電話系統依靠整合在一起的多個
硬體和軟體將全世界的人們聯繫起來。即使在私人住宅中,也充滿了智慧
型家用電器和圍繞嵌入式系統建造的整合系統,這些都大大地便利和豐富
了人們的生活。
通常,稱做普及(pervasive)或無處不在的(ubiquitous)計算機嵌入式系
統,代表了一類為特殊用途而設計的專用計算機系統。這些嵌入式系統大
多是可靠的和可預測的;嵌入它們的設備也很簡便、好用,並且可信賴。
根據對外部事件響應的即時性要求,產生了一類特別的嵌入式系統,稱之
為即時嵌入式系統(realtime embedded system)。
作為對嵌入式系統和即時嵌入式系統的引論,本章集中下面的論題:
嵌入式系統的實例
定義嵌入式系統
定義具有即時特性的嵌入式系統
當前的嵌入式系統發展趨勢
1.1 現實生活中的嵌入式系統實例
即使是不可見的,嵌入式系統也無處不在。嵌入式系統也出現在許多產業
中,包括工業自動化、國防、運輸和航空航天領域。例如,NASA 的火星探路
者(Mars Path Finder)、洛克希德‧馬丁(Lockheed Martin)的導彈導引系統
和福特的汽車中都包含了大量的嵌入式系統。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
在日常生活中,世界各地的人們使用嵌入式系統,但未必知道它們。事實
或來電(02)2705-5066
CHAPTER 1 引 論 3
上,嵌入式系統的不可見性是非常獨特的:使用者從中獲得好處,而沒必要理
解該項技術的錯綜複雜性。
嵌入式系統廣泛的適應能力和多樣性,使得家庭、工作場所甚至是健身設
備中,到處都有嵌入式系統。的確,從某種程度上很難找到日常生活中的某個
部分沒有包含嵌入式系統。下面的幾小節提供了更明顯的嵌入式實例。
1.1.1 家庭環境中的嵌入式系統
隱藏在大量家用電器中的嵌入式系統充滿了整個家庭。消費者盡情享受這
些嵌入式技術提供的先進特性和效益。如圖 1.1 所示,家庭中的嵌入式系統有
多種形式,包括安全系統、電視的有線或衛星接收盒、家庭影院系統和電話自
動應答機。由於微處理器中的先進性可以改進普通產品的功能,所以嵌入式系
統推動了更多家用產品的開發。
圖 1.1 家庭中的嵌入式系統
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
4 嵌入式系統的即時概念
1.1.2 工作環境中的嵌入式系統
嵌入式系統也改變著人們從事的職業。也許最明顯的例子就是網際網路
(Internet),它實際上恰恰是用各種網路技術相互連接起來的大量嵌入式系統
的集合。圖 1.2 列舉了 Internet 的很小一部分。
從各種獨立的端點(如印表機、有線調變解調器和企業網路路由器)到骨
幹千兆交換機,嵌入式技術使 Internet 適用於任意的商業模式。網路路由器和
骨幹千兆交換機是即時嵌入式的例子。儘管網路中存在巨量的聲音和擁擠的資
料,但即時嵌入式技術的先進性仍使 Internet 的互聯更可靠,反應更快速。
圖 1.2 工作環境中的嵌入式系統
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 5
1.1.3 娛樂活動中的嵌入式系統
在家庭、工作場所,甚至是娛樂場所,嵌入式系統非常興盛發達。裝備有
車內導航系統的汽車可以安全、便捷地將人們送達目的地。人們可以在任何時
候、任何地方自由自在地聽自己喜歡的音樂。這要歸功於嵌入式系統掩蓋了的
可攜式音樂播放機的複雜性,見圖 1.3。
即使是可攜式計算裝置(稱為 web tablet,見圖 1.4),也是一個嵌入式系統。
圖 1.3 導航系統和可攜式音樂播放器
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
6 嵌入式系統的即時概念
嵌入式系統與其他技術的結合給傳統的低技術世界帶來了效益。例如,
GPS 技術用衛星指出的位置精度在厘米級。這樣一來,騎自行車周遊者、戶外
運動者可以使用 GPS 裝置欣賞廣闊的空間,而不怕迷路;漁翁也可以使用 GPS
裝置儲存他們喜歡的釣魚洞的位置。
嵌入式系統使傳統的無線電控制的飛機、跑車和賽艇達到新的高度和速
度。由於複雜的嵌入式系統是隱蔽的,這些裝置從操縱桿獲得命令,並藉由無
線電傳送到裝置的接收器上,使飛機、賽車、賽艇按要求的速度和複雜的方式
執行。實際上,嵌入式技術的引入使這些技術更安全,更具娛樂性,消除了信
號干擾經常引起的恐懼。
1.1.4 定義嵌入式系統
某些文章將嵌入式系統定義為不帶鍵盤、顯示器或滑鼠的計算機系統或裝
置。這些文章用「看」特性作為區分的因素,「嵌入式系統看上去不像普通的
個人電腦,而像數位相機或精緻的烤麵包機。」這些論述全是誤導。
嵌入式系統的一般定義是:嵌入式系統是設計完成複雜功能的硬體和軟
體,並使其緊密結合在一起的計算機系統。術語「嵌入式」反映了這些系統通
常是更大系統中的一個完整的部分,稱為嵌入的系統。嵌入的系統中可以共存
多個嵌入式系統。
該定義非常好,但有點主觀。在大多數情況下,嵌入式系統是真正的被嵌
入,即它們是「系統中的系統」。它們不能夠或沒有自身的功能。例如,數位
機上盒 DST(digital set-top box)可以在許多家庭娛樂場所中找到。數位音頻/
視頻解碼系統,稱為 A/V 解碼器(A/V decoder),是 DST 的一個部分,同時
也是一個嵌入式系統。A/V 解碼器接收單一多媒體流,並且產生聲音和視訊框
作為輸出。DST 從衛星接收的信號中包含多個資料流或頻道,因此,A/V
本試閱檔為五南所有。如欲購買此書,請至五南網站 解碼
www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 7
器與傳輸流解碼器連接工作。傳輸流解碼器也是一個嵌入式系統。傳輸流解碼
器解調收到的多媒體流到分離的頻道上,並且只將所選的頻道送給 A/V 解碼器。
某些情況下,嵌入式系統在功能上是獨立的系統。圖 1.2 中列舉的網路路
由器是獨立的嵌入式系統。它由特殊的通信處理器、記憶體、許多網路存取介
面(稱為網路埠)以及實現封包的路由演算法的特殊軟體組成。換句話說,網
路路由器是一個獨立的嵌入式系統,封包從一個埠到另一個埠,實現程式化的
路由演算法。
這種定義也必須回答常見的問題。例如:「個人電腦是否可以歸類為嵌入
式系統,為什麼?僅作為 DVD 播放器用的 Apple iBook 是否也稱為嵌入式系統?」
沒有惟一的全面定義。因此,我們必須注重嵌入式系統的特性,從許多方
面理解什麼是嵌入式系統和嵌入式系統具有哪些特殊性。
1.1.5 嵌入式處理器和應用意識
普通個人電腦(PC)中的處理器是通用目的處理器。它們的設計非常複
雜,因為這些處理器提供完整的特性和廣泛的功能,故可以用於各種應用中。
使用這些通用處理器的系統有大量的應用程式。例如,現代處理器具有內建的
記憶體管理單元(MMU),提供記憶體保護和多工能力的虛擬記憶體和通用
目的作業系統。這些通用的處理器具有先進的快取邏輯。許多這樣的處理器具
有執行快速浮點運算的內置數學協同處理器。這些處理器提供介面,來支援各
式各樣的外部元件。這些處理器能源消耗大,產生的熱量高,尺寸也大。其複
雜性意味著這些處理器的製造成本昂貴。在早期,嵌入式系統通常用通用目的
處理器建造。
近年來,隨著大量先進的微處理器製造技術的發展,越來越多的嵌入式系
統用嵌入式處理器建造,而不是用通用目的處理器。這些嵌入式處理器是為完
成特殊的應用而設計的特殊目的處理器。關鍵是應用意識,即知道應用的自然
規律並滿足這些應用的需求。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
一類嵌入式處理器注重尺寸、能耗和價格。因此,某些嵌入式處理器限定
或來電(02)2705-5066
8 嵌入式系統的即時概念
其功能,即處理器對於某類應用足夠好,而對於其他類的應用可能就不夠好
了。這就是為何許多嵌入式處理器沒有太高的 CPU 速度的原因。例如,為個
人數位助理(PDA)設備選擇的就沒有浮點輔助運算器,因為浮點運算沒有必
要,或用軟體仿效就足夠了。因為受到記憶體儲存容量的限制,這些處理器可
以是 16bit 定址架構,而不是 32bit 的;可以是 200 MHz CPU 頻率,因為應用的
主要特性著重於交談與顯示資料,而不是著重於計算能力。這類嵌入式處理器
很小,因為整個 PDA 裝置尺寸很小並能放在手掌上。限制功能意味著降低能
耗並延長電池供電時間。更小的尺寸可降低處理器的製造成本。
另一類嵌入式處理器更著重於效能。這些處理器功能很強,並用先進的晶
片設計技術包裝,如先進的管道線和並行處理架構。這些處理器設計滿足那些
用通用目的處理器難以達到的密集性計算的應用需求。新出現的高度特殊的和
高性能的嵌入式處理器,包括為網路設備和電信工業開發的網路處理器。總
之,系統和應用速度是人們關心的主要問題。
還有一類嵌入式處理器關注全部 4 個需求──性能、尺寸、能耗和價格。
例如,蜂巢式電話中的嵌入式數位信號處理器(DSP)。即時語音通信包含信
號處理並且不能容忍延遲。一個 DSP 具有特殊的計算單元、記憶體最佳化設
計、定址和帶多個處理能力的匯流排架構,這樣,DSP 可以非常快地即時執行
複雜的計算。在同樣的時脈頻率下,DSP 執行數位信號處理要比通用目的處理
器速度快若干倍,這就是在蜂巢式電話的設計上用 DSP 而不用通用目的處理
器的原因。更甚之,DSP 具有非常快的速度和強大的嵌入式處理器,其價格是
相當合理的,使得蜂巢式電話的整體價格具有相當的競爭力。使用 DSP 的供
電電池可以持續幾十小時。普通人手掌一半大小的蜂巢式電話,在本書寫作時
價格在 100 美元以下。
系統晶片 SoC(system-on-a-chip)處理器對嵌入式系統具有特別的吸引力。
SoC 處理器具有的 CPU 核心與內建的週邊模組,如可程式化通用目的計時器、
可程式化中斷控制器、DMA 控制器和乙太網路介面。這樣的自含設計使嵌入
式設計可以用來建造各種嵌入式應用,而不需要附加外部設備,再次減少了最
終產品的整個費用和尺寸。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 9
1.1.7 交叉平台開發
嵌入式系統的另一個典型特徵是軟體開發方法,稱為交叉平台開發(cross-
platform development),對於系統和應用軟體都這樣。嵌入式系統的軟體在一
個平台上開發,而在另一個平台上執行。從內文看,平台(platform)由硬體
(如特別類型的處理器)、作業系統和用於開發的軟體開發工具組成。
主機系統(host system)是用來開發嵌入式軟體的系統。目標機系統(target
system)是被開發的嵌入式系統。
進行交叉平台開發的主要軟體工具是交叉編譯器。交叉編譯器(cross comp-
iler)是執行在一種處理器架構上,但是產生可以在另一種不同的處理器架構
上執行的目標碼的編譯器。使用交叉編譯器是因為目標機系統上沒有自己的編
譯器。例如,Wind River 公司的 DIAB 編譯器就是這樣的編譯器。DIAB 編譯器
在本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
IA32 架構的 Microsoft Windows 作業系統(OS)上和各種 UNIX 作業系統(如
或來電(02)2705-5066
10 嵌入式系統的即時概念
1.1.8 軟體儲存和升級性
嵌入式系統程式碼(如即時嵌入式作業系統、系統軟體和應用軟體)通常
儲存在 ROM 和 NVRAM 儲存設備中。第 3 章將討論嵌入式系統的啟動過程以
及 從 這 些 記 憶 體 中 提 取 程 式 碼 的 步 驟。對 嵌 入 式 系 統 升 級 意 味 著 建 造 新 的
PROM,利用特殊的設備與/或特殊的方法重寫 EPROM 程式,或重寫快閃記
憶體(flash memory)中的程式。
軟體儲存設備的選擇對開發有很大影響。遇見很小的更改就要重寫 EPROM,
使得軟體開發很乏味和浪費時間,這種現象在開發中是經常遇到的。從插槽中
拔出 EPROM 裝置可能會毀壞 EPROM;更糟的是,如果不仔細操作會毀壞系統。
儲存設備的選擇也會影響整個維護的費用。雖然 PROM 和 EPROM 不太
貴,但如果系統已大量生產銷售,那麼累計的費用就很驚人了。這種情況下升
級一個嵌入式系統,意味著替換已生產銷售的 PROM 和 EPROM 晶片。如果將
快閃記憶體或 EEPROM 作為程式碼儲存設備(見下面的方框中內容),那麼
嵌入式系統可以升級而不用替換晶片,並可以在網路上動態升級。
用前面幾節的資訊,可以試著回答 1.1.4 節中提出的問題。個人電腦不是
嵌入式系統,因為它用通用目的處理器建構,並且建構時不依賴於在其上執行
的軟體。為個人電腦開發的執行在作業系統(如 FreeBSD 或 Windows)上的軟
體,是在這些作業系統上本地化開發(與交叉開發相反)的。同理,只用做
DVD 播放的 Apple iBook 像嵌入式系統,但不是一個嵌入式系統。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 11
非揮發性內容,不需要外部電源。
光罩可程式化(mask programmed)ROM──儲存的內容在製造期間是
可程式化的。一旦寫入程式,內容不可再更改,是不可再程式化的。
現場可程式化(field programmable)ROM(PROM)──儲存的內容可
以由客戶一次程式化。一旦完成寫入程式,內容不可再更改。
可 清 除 的 可 程 式 化(erasable programmable)ROM(EPROM)──
EPROM 裝置可以由客戶程式化、擦除和重程式化,在其壽命內(上百
次甚至是上千次)這些操作是經常進行的。一旦寫入,儲存的內容不
會丟失。傳統的 EPROM 裝置用紫外線(UV)燈擦除。EPROM 裝置
必須先從其插槽中移出,然後,用特殊的硬體裝置(稱為 EPROM 燒
錄器)對其重新程式化。
電 子 可 擦 寫 的 可 程 式 化(electrically erasable programmable)ROM
(EEPROM 或 E2PROM)──現代的 EPROM 裝置用電子擦除,並稱
為 EEPROM。EPROM 和 EEPROM 的一個重要的差別是,用 EEPROM
裝置,可以選擇性地對單一位元組的記憶體擦除和重寫。因此,用
EEPROM 裝置,可以做到漸近式的更改。另一個差別是 EEPROM 不用
特殊的燒錄器就可重新程式化而不用挪動 EEPROM。位元組級可程式
化的多樣性起源於價格,但是,對 EEPROM 裝置程式化過程很慢。
快閃記憶體(flash memory)──是 EEPROM 的變種。它允許區塊級
(例如 512 位元組)可程式化,這樣速度比 EEPROM 快很多。
也稱為可讀/寫記憶體,需要外部電源維持儲存的內容。隨機存取的意
思指能夠直接存取任意記憶體單元。RAM 比 ROM 速度快得多。有兩種類型
的 RAM:
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
12 嵌入式系統的即時概念
1.2 即時嵌入式系統
簡單地說,即時系統可以定義為對外部事件即時反應的系統,如圖 1.5 所
示。反應時間要有保證。在幾個實例之後,再來看此定義。
輸入 輸出
時間限制
單一事件 單個輸出
同步 同步
多重事件
即時系統 多個輸出
非同步 非同步
圖 1.5 一個即時系統的簡單視圖
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 13
外部事件有同步(synchronous)和非同步(asynchronous)特性。對外部事
件的反應包括:當事件發生時要識別出來;在給定時間限制內必須輸出結果。
時間限制包括完成時間,或開始時間和完成時間。
將即時系統和嵌入式系統看做相交的兩個圓圈,可以很好地理解它們之間
的關係,如圖 1.6 所示。並不是所有的嵌入式系統都呈現即時特性,所有的即
時系統也不一定都是嵌入式的。但是,兩種系統並不是互相排斥的,兩種系統
的重疊部分創立的系統的組合稱為即時嵌入式系統(real-time embedded sys-
tems)。
知道了這個事實,由於 1.1 節已經涵蓋了嵌入式系統的各個方面,所以現
在將注意力轉到即時系統上。
1.2.1 即時系統
即時系統的環境創立外部事件。這些事件被即時系統的一個或多個元件接
收。即時系統的反應透過一個或多個元件注入到環境。對即時系統的分解如圖
1.5 所示。
即時
嵌入式系統 嵌入式 即時系統
系統
圖 1.6 即時嵌入式系統
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
14 嵌入式系統的即時概念
即時系統的一般結構,包括一個控制系統和至少一個被控系統,見圖 1.7。
控制系統和被控系統按多種形式相互作用。首先,相互作用是週期的(peri-
odic),通信初始化從控制系統到被控系統進行。這種情況下,通信是可預測
的,並按預定義的間隔執行。其次,相互作用是非週期性的(aperiodic),通
信初始化從被控系統到控制系統進行。這種情況下,通信是不可預測的,並由
被控系統環境的外部事件隨機發生情況決定。最後,通信可以是兩種類型的結
合。控制系統必須在要求的時間框架內,處理和反應由被控系統產生的事件和
資訊。
設想一個即時武器防禦系統,其作用是打下飛來的導彈,保護海軍驅逐艦
免遭破壞。理想的情況是將飛來的導彈在接近驅逐艦前用炮彈擊成碎片。防禦
系統由雷達系統命令決策(commod-and-decision, C&D)系統、武器火力控制系
統組成。控制系統是 C&D 系統,被控系統是雷達系統和武器火力控制系統。
雷達系統掃描和搜索潛在的目標。一旦捕獲目標,潛在目標的座標用
高頻率週期性地送到 C&D 系統。
C&D 系統必須依據雷達系統提供的目標資訊。首先經由威脅分類和評
估確定威脅等級,如果威脅是危急的,則 C&D 系統必須在最短的時間
控制系統
輸入 輸出
被控系統 被控系統
被控系統
輸入 輸出
圖 1.7 即時系統的結構
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 15
內計算出速度和飛行路徑或彈道,以及預測其影響的位置。由於導彈的
飛行路徑有飄移,且其飄移程度取決於導引系統的精度,所以 C&D 要
計算出飛行路徑上的一個區域(方框)。
然後,C&D 系統啟動與此密切相關的武器防禦控制系統瞄準影響的位
置,並引導武器系統對移動的區域或方框連續開火直到目標被擊毀。武
器火力控制系統由大口徑火炮、多管火箭炮以及高速、大威力的機關炮
組成。
1.2.2 即時系統的特性
即時系統(real-time system)定義為系統要全部正確,包括功能正確和時
序正確。時序正確和功能正確是同樣重要的。
要特別注意我們所說的時序正確和功能正確是同樣重要的這一點。在某些
即時系統中,為保證功能正確性,就要犧牲時序正確性。後面介紹即時系統的
分類時專門談論這一點。
與嵌入式系統類似,即時系統也有被控系統和執行在其上的應用系統的環
境的基本知識。這就是為什麼說即時系統是確定性的(deterministic)。因為在
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
CHAPTER 1 引 論 17
這些即時系統中,反應時間決定事件是有界的。一個動作(或多個動作)對事
件採取反應稱做優先(priori)。一個確定的即時系統意味著系統的每個元件都
必須具有確定的行為,使得整個系統是確定性的。已經看到,一個確定性即時
系統很少適應變換的環境。缺乏適應性可能導致系統較差的強健性(robust)。
確定性和強健性等級必須平衡。兩者間平衡的方法是系統特定和應用特定的。
這些論題超出了本書的範圍,可參見參考文獻,以便對此問題做更多的了解。
1.2.3 硬和軟即時系統
前面已經談到,計算必須在到達期限(deadline)前完成。換句話說,即
時系統有時間限制並且是期限驅動(deadline-driven)的。因此,即時系統可以
劃分為硬即時系統和軟即時系統。
硬即時系統與軟即時系統的差別是超過期限的容忍程度。錯過期限的計算
結果是沒有用的。不能符合期限所產生的損失是嚴重的。
對硬即時系統而言,超過期限的容忍程度是極低的或者是零容忍(zero tol-
erance)的。期限之後得到的計算結果對許多系統是沒有用的。超過期限的損
失是災難性的。然而,對軟即時系統而言,容忍的程度是非零的。期限後得到
的計算結果會貶值。超過期限後的結果的有用性不會像許多硬即時系統那樣為
零。超過期限的實際影響是非災難性的。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
18 嵌入式系統的即時概念
許多原因表明性能損失是硬即時系統的重要特徵。
「必須符合期限」的含義是什麼?如果期限沒能符合,則意味著某些
災難發生。這是設置需求的損失。
超過期限意味著系統失敗,並且不可能恢復,除非重新啟動。因此必
須符合期限。這是不是一個硬即時系統?如果系統失敗意味著系統必
須重新啟動,但是不會產生與此失敗相關的代價,那麼,此期限不是
硬期限。另一方面,如果有與此相關的代價,無論是人的生命,或者
是財物的損失,如 5000 萬美元的訴案,那麼,期限就是硬期限,系統
就是硬即時系統。正是損失決定了此確定性。
什麼為硬即時系統定義期限?它就是損失。對於硬即時系統,期限是
確定的值;對於軟即時系統,可以估計其值。
值得注意的是,期限的長度並不決定即時系統的硬或軟,而是由在它的時
間內滿足需求與否來決定。
武器防禦系統和導彈導航系統是硬即時系統。用導彈導航系統作為一個例
子。如果導航系統在期限前不能對將到達的山地區域計算新的座標,就沒有足
夠的距離讓導彈改變方位。該系統是超過期限零容忍的。期限之後得到的新座
標就不再有用了,因為在次音速上,對於高度控制器及時引導導彈進入新的飛
行路徑來說距離太短了。損失是災難性的事件,即導彈與山相撞。類似地,武
器防禦系統也是零容忍的系統。超過期限導致導彈擊沉驅逐艦,人的生命受到
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
威脅。這再一次說明損失是災難性的。
或來電(02)2705-5066
CHAPTER 1 引 論 19
在第 14 章詳細討論。
1.3 嵌入式系統的趨勢
早在 1990 年之前,嵌入式系統通常是很簡單的且具有很長的產品生命期
的自主設備。近些年來,根據 Gartner Group 公司(一個獨立的研究和諮詢公
司)以及其他資源的報告,嵌入式工業經歷了巨大的變革。
產品市場窗口現在預計產品熱賣週期為 6~9 個月。
全球重新定義市場的機會和膨脹的應用空間。
互聯現在是一個需求而不是輔助性的,包括用有線和剛剛顯露頭角的
無線技術。
基於電子的產品更複雜化。
互聯嵌入式系統產生新的依賴於網路基礎設施的應用。
微處理器的處理能力按莫爾定律(Moore s Law)預計的速度在增加。
該定律認為積體電路的晶體管個數每 18 個月成長一倍。
如果說過去的趨勢能指明未來,那麼隨著技術的革新,嵌入式軟體將繼續
增加新的應用,並產生更加靈巧的產品種類。根據人們對於自身虛擬執行設備
的消費要求增加而不斷壯大的市場,以及由 Internet 創造的無限的機會,嵌入
式系統將不斷地重新塑造未來的世界。
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
嵌入式系統的即時概念/Qing Li著;不安生
譯.--初版.--臺北市:五南, 2005[民94]
面; 公分.
參者書目:面
含索引
譯自:Real-time concepts for embedded
systems.
ISBN 957-11-4003-1 (平裝)
1.系統程式設計
312.952 94009766
5D64
Real-Time Concepts for E mbedded Systems
嵌入式系統的即時概念
作 者 ─ Qing Li Caroline Yao
譯 者 ─ 王安生
修 訂 ─ 高文忠
發 行 人 ─ 楊榮川
總 編 輯 ─ 龐君豪
主 編 ─ 穆文娟
出 版 者 ─ 五南圖書出版股份有限公司
地 址:106台 北 市 大 安 區 和 平 東 路 二 段 3 3 9 號 4 樓
電 話:(02)2705-5066 傳 真:(02)2706-6100
網 址:http://www.wunan.com.tw
電子郵件:wunan@wunan.com.tw
劃撥帳號:0 1 0 6 8 9 5 3
戶 名:五南圖書出版股份有限公司
台中市駐區辦公室/台中市中區中山路6號
電 話:(04)2223-0891 傳 真:(04)2223-3549
高雄市駐區辦公室/高雄市新興區中山一路290號
電 話:(07)2358-702 傳 真:(07)2350-236
法律顧問 元貞聯合法律事務所 張澤平律師
出版日期 2 0 0 5 年 6 月 初 版 一 刷
定 價 新 臺 幣 5 5 0 元
Copyright @ 2003 by Wind River Systems, Inc., except where noted otherwise.
Published by CMP Books,CMP Media LLC. All rights reserved. Printed in
reproduced or distributed in any form or by any means, or stored in a database
or retrieval system, without the prior written permission of the publisher.
本試閱檔為五南所有。如欲購買此書,請至五南網站 www.wunan.com.tw
或來電(02)2705-5066
※版權所有.欲利用本書內容,必須徵求本公司同意※