μC/OS ARM移植要點詳解

μC/OS ARM移植要點詳解

本書適合的讀者是對ARM微處理器有一定了解,對嵌入式核心有一定了解和對嵌入式產品開發有一定經驗的讀者。對於從事嵌入式產品開發,特別是基於ARM的嵌入式產品開發的項目經理、體系結構設計師、設計師、代碼開發工程師、測試工程師,解決實際問題有一定的幫助。 本書內容內容共7章,各章主題如下:第0章為嵌入式環境的選擇,對嵌入式產品開發中常見的晶片、軟體方案進行了簡單比較分析。第1章為OS核心概念,包括ARM微處理器特性、核心結構基礎等重要概念的詳細說明。它是本書中非常重要的一章。第2章為μC/OSII移植過程,是在常見ARM微處理器上移植μC/OSII的代碼詳解。第3章為代碼組織及功能設計,把嵌入式產品的設計從簡單移植的角度擴展到核心整體體系結構設計及功能組件組織的角度並引入一個有益的、重要的COS組件方法。它是本書中篇幅最長的一章,也是最重要的一章。第4章為μRtos V1.0 代碼說明,介紹一種硬實時分層調度體系結構的嵌入式核心產品。第5章為ARM開發環境,解答軟體開發工具使用中的一些常見問題。第6章為軟體工程簡述,對嵌入式產品開發中的軟體項目管理中的要點進行了探討,討論了一些如何提高產品品質的技術知識。

基本介紹

  • 書名:μC/OS ARM移植要點詳解
  • 出版社:北京航空航天大學出版社
  • 頁數:264頁
  • ISBN:7810777254
  • 作者:黃燕平 
  • 出版日期:2005年11月1日
  • 開本:16開
  • 品牌:北京航空航天大學出版社
內容簡介,媒體推薦,圖書目錄,

內容簡介

本書適合的讀者是對ARM微處理器有一定了解,對嵌入式核心有一定了解和對嵌入式產品開發有一定經驗的讀者。對於從事嵌入式產品開發,特別是基於ARM的嵌入式產品開發的項目經理、體系結構設計師、設計師、代碼開發工程師、測試工程師,解決實際問題有一定的幫助。

媒體推薦

前言
隨著國內工業化、數位化的步伐加快,嵌入式開發在IT行業中的重要性越來越顯著。
中國成為“世界製造中心”甚至“設計中心”的趨勢,必然導致對小型數字控制系統的需求越來越大。在嵌入式系統開發方面,最核心的技術就是微處理器晶片和嵌入式作業系統。其中在微處理器晶片方面,ARM已經給出了比較理想的一個答案;而在嵌入式作業系統方面,適合國內發展方向的解決方案以及系統基礎結構方面並不理想。
 風河公司的VxWorks作業系統成本高,結構複雜,不適合小型套用。
 微軟公司的WinCE作業系統更適合民用、攜帶型娛樂設備等。
 開源的Linux作業系統體系結構同樣複雜,產品化和商業化程度不夠,即使在Linux本來的PC目標環境下,也難尋理想的技術支持,更不用說嵌入式環境下的Linux。這方面的弱勢對批量生產、大規模、長時間運行使用的工業化產品來說是致命的。
另外,在以上討論的這3種系統中,只有VxWorks是硬實時作業系統,而WinCE和Linux是非硬實時作業系統。
在這種情況下,類似於μC/OSII的小型硬實時嵌入式作業系統核心具有低成本、易控制、小規模、高性能的特性,因而有相當好的發展前景。但是這類系統的基礎較為薄弱,面臨產品化和商業化程度不夠的局面。採用此類系統進行產品開發需要仔細分析和設計,否則也很難真正滿足工業產品生產的要求。
本書正是針對這種情況,在ARM微處理器環境下,針對商業化、產品化環境的嚴格要求,設計、構造了一種硬實時嵌入式核心體系結構。當然,真正的商業化、產品化的嵌入式核心既需要這種能夠滿足高標準要求的體系結構設計基礎,又需要嚴格的產品化軟體開發測試過程。只有理論基礎與工程實踐完整地結合,才能產生真正經受得起考驗的,能夠滿足工業化生產,能夠在各種環境下穩定運行並確保達到設計目的的產品。從這個角度考慮,僅僅拿來一個作業系統核心並開發套用產品很難完全滿足這種要求。必須要對核心的設計思路進行仔細的考慮和驗證,對套用的可選開發設計方法進行審慎的評估,並配合真正工業化的項目開發管理辦法,才能保障產品達到要求。
本書中提到的μRtos V1.0核心,正是作者及其所在團隊按照以上精神付出巨大努力嚴格設計、測試的產品。該核心的體系結構設計思路在本書中有充分詳細的解釋和說明。另外,μC/OSII是讀者在市面上可以方便獲得的一種“半開源”的作業系統核心。本書針對該核心在ARM下的移植以及與本書所述核心體系結構的關係及比較,進行了詳細解說。通過對比,既方便μC/OSII的愛好者、使用者學習掌握μC/OSII核心,同時又在對比分析過程中,使讀者掌握μC/OSII和μRtos V1.0核心各自的詳細特徵、特點,方便讀者在此基礎上開發設計出更好的嵌入式系統產品。

作者
2005年7月25日

圖書目錄

第0章 嵌入式環境的選擇
0.1 簡介1
0.2 關於微處理器4
0.3 關於OS5
0.4 關於功能模組的移植6
0.5 關於本書7
第1章 OS核心概念
1.1 嵌入式實時核心相關概念9
1.1.1 ARM7主要特性9
1.1.2 ARM特性代碼12
1.1.3 中斷與設備15
1.1.4 任務與調度18
1.1.5 臨界區與保護20
1.2 核心結構25
1.2.1 硬保護泛濫問題25
1.2.2 硬保護泛濫問題的解決26
1.2.3 μRtos V1.028
1.3 關鍵機制29
1.3.1 復位引導機制29
1.3.2 單層中斷機制32
1.3.3 嵌套中斷機制33
1.3.4 連線埠輪詢機制36
1.3.5 不可禁止中斷機制38
1.3.6 自保護軟體FIFO39
1.3.7 高速處理需求綜合討論46
1.3.8 其他雜項48
1.4 關鍵算法邏輯50
1.4.1 硬保護算法50
1.4.2 調度器算法52
1.4.3 任務就緒算法57
1.4.4 軟保護算法61
1.4.5 ITC算法62
1.4.6 OS_TCB結構63
1.4.7 OS_EVENT結構65
第2章 μC/OSII移植過程
2.1 頭檔案定義72
2.1.1 ARM微處理器定義73
2.1.2 S3C44B0微處理器定義74
2.1.3 LPC2214微處理器定義78
2.1.4 產品板定義82
2.2 移植代碼實現84
2.2.1 入口代碼84
2.2.2 C運行環境代碼100
2.2.3 環境切換代碼102
第3章 代碼組織及功能設計
3.1 代碼組件化技術104
3.1.1 普通組件化105
3.1.2 抽象組件化112
3.2 設備驅動框架設計120
3.2.1 ISR層設備驅動框架設計120
3.2.2 高層設備驅動框架139
3.3 ITC算法設計140
3.3.1 軟保護問題147
3.3.2 ITC與任務關係154
3.3.3 信號燈161
3.3.4 事件164
3.3.5 佇列166
3.4 時間片輪換調度算法181
3.5 模組間銜接接口182
3.5.1 套接字185
3.5.2 管道188
3.5.3 通用接口191
3.6 狀態機組件設計192
3.6.1 狀態機基礎193
3.6.2 層次化狀態機特性196
3.6.3 狀態機組件設計200
3.6.4 狀態機組件的使用203
3.7 雜項設計考慮204
3.7.1 任務局部存儲204
3.7.2 循環等待死鎖檢查工具設計205
3.7.3 記憶體管理設計207
第4章 μRtos V1.0代碼說明
4.1 移植目錄220
4.2 項目目錄222
4.3 核心主目錄222
4.4 功能目錄223
4.5 在μRtos下開發套用產品的說明224
4.6 常用設備驅動設計指南226
4.6.1 人機互動串口/PPP226
4.6.2 鍵盤226
4.6.3 網口227
4.7 網路協定棧設計230
4.7.1 網路開發接口設計230
4.7.2 TCP協定231
4.7.3 TCP協定的簡化實現232
4.7.4 TCP協定實現的其他問題234
第5章 ARM開發環境
5.1 環境的準備236
5.2 ARMulator239
5.2.1 中斷控制器240
5.2.2 時鐘241
5.2.3 看門狗242
5.2.4 調試輸出口243
5.2.5 堆疊跟蹤器243
5.3 編譯器工作環境243
5.3.1 彙編語言編譯選項244
5.3.2 C語言編譯選項246
5.3.3 連結器選項246
5.4 代碼燒寫249
第6章 軟體工程簡述
6.1 軟體測試基本概念250
6.2 軟體工程模型252
6.3 狀態機的測試256
附錄A 常用縮寫對照表
附錄B 代碼/偽代碼目錄
後記
參考文獻

相關詞條

熱門詞條

聯絡我們