《嵌入式軟件開發》系統地介紹了嵌入式系統的軟件開發方法。全書分為8章,首先講述了嵌入式系統的概況和應用領域,各種典型的嵌入式處理器,嵌入式操作系統的種類及選用等;然后以嵌入式Linux和市場占有率排名第一的VxWorks操作系統為例,詳細講解嵌入式操作系統的組成、多任務環境的工作原理及其交叉開發環境的使用,以及嵌入式實時系統軟件設計的幾個核心問題和嵌入式系統的一般設計開發流程;最后給出了開發嵌入式系統的相關實訓。
《嵌入式軟件開發》可作為高職、專科院校計算機類、電子類、信息類專業高年級學生的教材,也可作為一些進修班的培訓教材,同時亦可作為企業各類嵌入式產品開發人員、嵌入式技術愛好者的學習參考資料。
進入21世紀后,計算機技術發展的一個重要方面就是嵌入式計算機系統的迅速發展。當今嵌入式計算機無處不在的發展趨勢,展示了人類社會生活、生產活動高度自動化的美妙前景。嵌入式計算機的廣泛應用是后PC信息時代的重要特征,嵌入式計算隨時可能引發創新靈感,而千姿百態的嵌入式產品概念的實現必須有開發技術的支持。因此,嵌入式系統和嵌入技術成為了計算機工業中最具活力的部分。在這樣的形勢下,各本科院校紛紛開設了嵌入式系統的課程。為了改變嵌入式技術在高職高專教育中滯后的局面,特面向高職高專學校編寫了這本嵌入式系統軟件開發的入門教材。
全書主要內容和章節安排如下:
全書分為8章。第1章介紹嵌入式系統的定義、分類、特點、組成、發展概況、應用領域等;第2章講解嵌入式處理器的基本特征、分類和選擇以及各種典型的嵌入式處理器;第3章介紹嵌入式操作系統的種類及選用;第4、5章以嵌入式Linux和市場占有率排名第一的VxWorks操作系統為例,詳細講解嵌入式操作系統的組成、多任務環境的工作原理及其交叉開發環境的使用;第6章對嵌入式實時系統軟件設計的幾個核心問題作了說明;第7章介紹嵌入式系統的一般設計和開發流程;第8章安排了14個嵌入式系統的相關實訓內容。
相對于其他嵌入式系統方面的書籍資料,本書具有如下特點:
1.面向高職、?茖哟
大多數嵌入式開發方面的書籍都是面向本科高年級和研究生的,面向高職和?茖哟蔚臅芍^鳳毛麟角。高職和?圃盒O嚓P專業的學生學習嵌入式軟件開發,要想找到一本合適的教材,確實比較困難,對于嵌入式開發的普及不能不說是一大缺憾。本書的出版,將彌補這一缺憾。
2.讀者容易看懂,能快速上手實踐
本書在內容的先后次序與組織形式、知識點安排等方面進行了細致的設計。先進行概要的介紹,再從大家熟悉的Linux入手,過渡到嵌入式μClinux,再以市場占有率排名第一的VxWorks操作系統為例,將實例設計成最能體現基本知識點的形式,使讀者盡快入門。
3.著重于嵌入式軟件開發,提供大量實例
在第4、5、6章中列舉了大量實例,包括應用實例和代碼實例,結合C源代碼實例進行講解。所有源代碼實例均進行了多次驗證,可以在仿真機和真實目標機上調試運行。
4.理論與實踐相結合
在本書的最后部分結合課程的相關章節內容安排了14個實訓內容,讓讀者有充分的實踐機會,希望能引導讀者迅速掌握嵌入式軟件開發的基本理論和方法。
5.便于教學與實驗
本書給出的實訓項目,既可在PC上的仿真器環境下進行,也可在各類嵌入式硬件實驗箱或開發板上進行,因此無論是否有嵌入式硬件實驗箱或開發板,均可進行相應的實驗。每章后面都有精選的習題,以利讀者鞏固相關知識點。本書選用的實時操作系統也很容易得到:嵌入式Linux是完全免費的資源,可直接從網上下載;另一個實時操作系統VxWorks的集成開發環境Tornado的評估版也可從Windriver公司網站注冊后免費下載。
教學建議:
對于高職、?茖W校,建議采用64學時(40學時課堂教學+24學時實驗),分三個階段進行教學。第1、2、3章為第一階段,學習嵌入式系統軟件開發入門所需的基礎知識,第一階段占總課時數的20%。第4、5、8章為第二階段,分別學習基于嵌入式Linux下的軟件開發和基于VxWorks的嵌入式軟件開發方法,課堂教學與實驗同步進行,一般情況下,第二階段占總課時數的60%~70%。第6、7章為第三階段,這是相對較深的內容,教師可根據情況進行取舍,布置具體設計實踐,第三階段占總課時數的10%~20%。
本書由張京任主編。第1、2、3、8章由張京編寫,第4、5章由張敏編寫,第6、7章由顏俊華編寫。
李成大教授仔細審閱了本書,并提出了非常寶貴的意見,特此表示深深的謝意。同時也對為本書出版工作付出辛勤勞動的楊?[編輯表示誠摯的感謝。
本書在編寫過程中參考了不少相關資料文獻,均附于參考文獻中。引用的文字和圖片為本書內容闡述所需要,無侵權意圖,特此申明。在此對引用的這些文獻資料的作者或編者深表感謝。
本書的編寫過程中雖力求精益求精,但由于編者水平和時間有限,難免有疏漏,懇請有關專家賜教和讀者批評指正。
第1章嵌入式系統概述
1.1嵌入式系統的定義
1.2嵌入式系統的分類
1.3嵌入式系統的特點
1.4嵌入式系統的組成
1.5嵌入式系統的應用領域
1.6嵌入式系統的發展
1.6.1嵌入式系統的發展史
1.6.2嵌入式應用軟件面臨的挑戰
1.7本章小結
習題
第2章嵌入式硬件系統基礎
2.1嵌入式處理器的基本特征
2.2嵌入式處理器的分類
2.2.1嵌入式微處理器
2.2.2嵌入式微控制器
2.2.3嵌入式DSP處理器
2.2.4嵌入式片上系統
2.3典型嵌入式處理器
2.3.18051系列單片機
2.3.268K/ColdFire系列
2.3.3PowerPC系列
2.3.4ARM系列
2.3.5X86系列
2.3.6MIPS
2.4嵌入式處理器的選擇
2.5嵌入式處理器的發展趨勢
2.6本章小結
習題
第3章嵌入式操作系統
3.1嵌入式操作系統的發展
3.1.1嵌入式操作系統的歷史
3.1.2嵌入式操作系統的發展趨勢
3.2嵌入式操作系統的分類
3.3嵌入式實時系統
3.3.1嵌入式實時系統介紹
3.3.2實時系統的分類
3.4嵌入式實時操作系統
3.4.1VxWorks
3.4.2pSOS
3.4.3QNX
3.4.4DeltaOS
3.5嵌入式軟實時操作系統
3.5.1嵌入式Linux
3.5.2WindowsCE
3.5.3PalmOS
3.6嵌入式操作系統的選擇
3.7本章小結
習題
第4章基于Linux的嵌入式軟件開發
4.1嵌入式Linux概述
4.2Linux基礎
4.2.1VMware虛擬機中的Linux安裝
4.2.2進入與退出Linux系統
4.2.3Linux常用命令
4.3嵌入式LinuxC語言開發工具
4.3.1C語言與嵌入式系統設計
4.3.2嵌入式LinuxC語言編程環境
4.3.3vi編輯器
4.3.4GCC編譯器
4.3.5GNUmake
4.3.6GDB調試器
4.4μCLinux操作系統
4.4.1μCLinux簡介
4.4.2μCLinux的基本架構
4.4.3μCLinux的相關知識
4.5建立μCLinux開發環境
4.5.1交叉編譯環境
4.5.2基于Linux的宿主機建立交叉編譯環境
4.5.3基于Cygwin建立交叉編譯環境
4.5.4μCLinux內核編譯
4.5.5內核的加載運行
4.6基于μCLinux的應用程序開發
4.6.1基本開發步驟
4.6.2應用程序開發實例
4.6.3添加用戶應用程序到μCLinux
4.7本章小結
習題
第5章基于VxWorks的嵌入式軟件開發
5.1Tornado簡介
5.1.1Tornado的特點
5.1.2TornadoIDE
5.1.3VxWorks目標機環境
5.1.4宿主機與目標機的接口
5.2Tornado的安裝和啟動
5.2.1Tornado的安裝
5.2.2Tornado的目錄結構
5.2.3Tornado主窗口界面介紹
5.2.4入門實例--HelloWorld
5.2.5使用調試和分析工具
5.3Tornado環境下的工程開發
5.3.1創建可下載的應用
5.3.2創建用戶定制的VxWorks映像
5.3.3創建可引導的應用
5.3.4宿主機與目標機的通信
5.3.5配置、構造引導程序及引導盤的制作
5.3.6主機Tornado調試環境配置
5.3.7多任務調試方法
5.4VxWorks操作系統
5.4.1VxWorks簡介
5.4.2Vxworks操作系統的基本結構
5.4.3VxWorks任務
5.4.4共享代碼和重入
5.4.5任務間通信
5.4.6中斷服務程序
5.4.7時鐘管理
5.5實例分析
5.5.1VxWorks任務間通信
5.5.2理發師問題
5.5.3哲學家進餐問題
5.6本章小結
習題
第6章嵌入式軟件設計的幾個問題
6.1實時多任務軟件設計
6.1.1實時多任務軟件的設計步驟
6.1.2任務劃分
6.1.3實時多任務設計實例
6.2板級支持包BSP
6.2.1BSP簡述
6.2.2BSP的職責
6.2.3BSP的組成
6.2.4VxWorks映像類型及其啟動順序
6.2.5BSP的開發
6.3外部設備的驅動
6.3.1外部設備
6.3.2外部設備的分類
6.3.3I/O設備的數據傳送方式
6.3.4硬件驅動程序
6.3.5硬件驅動程序的主要功能
6.3.6硬件驅動程序的組成部分
6.4本章小結
習題
第7章嵌入式系統設計開發
7.1嵌入式系統設計開發概述
7.1.1嵌入式系統開發的特點
7.1.2嵌入式系統設計的目標
7.1.3嵌入式系統的設計開發方法
7.2嵌入式硬件系統選型及設計
7.2.1處理器的選擇
7.2.2嵌入式系統硬件電路設計
7.2.3印刷電路板設計
7.3嵌入式軟件系統選擇
7.3.1軟件平臺的選擇
7.3.2編程語言的選擇
7.3.3集成開發環境的選擇
7.4軟、硬件協同開發
7.5嵌入式系統的調試
7.6嵌入式系統測試
7.7系統集成
7.8本章小結
習題
第8章實訓
實訓1Linux安裝
實訓2Linux常用命令
實訓3嵌入式Linux下開發工具使用
實訓4μCLinux交叉開發環境
實訓5添加μCLinux應用程序
實訓6Tornado集成開發環境
實訓7使用Tornado中的調試和分析工具
實訓8基于VMware建立VxWorks交叉開發環境
實訓9VxWorks組件的裁減和配置
實訓10信號量
實訓11消息隊列
實訓12Wind內核功能
實訓13多任務程序調試方法
實訓14理發師問題
參考文獻