嵌入式系統以單晶片化為發展目標,迅速將傳統電子系統引領到智能化現代電子系統時代。嵌入式系統具有集成度高、體積小、功能強、可靠性高、價格低廉等優點,目前廣泛應用於工業測控、航空航天、智能儀器儀表、通信系統、醫療、汽車、信息技術、家用電器等領域。
20 世紀 70 年代,以微處理器為核心的微型計算機不僅具有型小、價廉、可靠性高的特點,還具有高速數值計算能力,從而引起了控制專業人士的極大興趣。為了區別於原有的通用計算機系統,我們把嵌入對象體系中實現對象體系智能化控制的計算機,稱作嵌入式計算機系統,簡稱嵌入式系統。因此,嵌入式系統誕生於微型計算機時代,嵌入性本質是將一個計算機嵌入一個對象體系中。
通用計算機系統的技術要求是高速、海量的數值計算;技術發展方向是總線速度的無限提升, 存儲容量的無限擴大。而嵌入式系統的技術要求則是對象的智能化控制能力;技術發展方向是與對象系統密切相關的嵌入性能、控制能力與控制的可靠性。因此,必須獨立地發展通用計算機系統與嵌入式計算機系統,這就形成了現代計算機技術發展的兩大分支。
隨兩大分支的飛速並行發展,通用計算機系統進入盡善盡美階段,除集中精力發展通用計算機系統的軟、硬體技術外,還基於高速海量的數據、文件處理能力改進作業系統。由於嵌入式系統要嵌入對象體系中,實現的是對象的智能化控制,因此,嵌入式系統的單晶片化特性迅速將傳統電子系統引領到智能化現代電子系統時代。
關於嵌入式系統(embedded system)的定義很多,較通俗的定義是嵌入對象體系中的專用計算機系統。此定義強調嵌入式系統的三個基本要素:嵌入性、專用性與計算機系統。
電氣電子工程師協會(Institute of Electrical and Electronics Engineers, IEEE)對嵌入式系統的定義為「用於控制、監視或者輔助設備、機器和車間運行的裝置」(原文為devices used to control, monitor, or assist the operation of equipment, machinery or plants)。此定義強調嵌入式系統的應用目的:一種完成特定功能的「裝置」,該裝置能夠在沒有人工幹預的情況下獨立地進行實時監測和控制。從技術角度定義,也是國內較權威的定義是「以應用為中心、以計算機技術為基礎、軟體硬體可剪裁,且適應系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統」。嵌入式系統是針對具體應用而定製的專用計算機系統,採用「量體裁衣」的方式把所需的功能嵌入各種應用系統中。
嵌入式系統是將先進的計算機技術、半導體技術、電子技術與各個行業的具體應用相結合後的產物。這決定了嵌入式系統是技術密集、資金密集、高度分散、不斷創新的知識集成系統。嵌入式系統是針對特定的應用需求而設計的專用計算機系統,這決定了它必然有其自身的特點。嵌入式系統的顯著特點主要包括以下幾個方面。
1.體積小、功耗低、集成度高
嵌入式系統需嵌入特定的設備中,面向特定系統應用,往往對系統的體積和功耗有嚴格的要求,特別是對可攜式儀器儀表和手機之類的需移動的嵌入式產品,對系統的體積和功耗的要求更為嚴格。系統通常都具有功耗低、體積小、集成度高等特點,能夠把通用計算機系統中許多由板卡完成的任務集成在晶片內部,從而有利於嵌入式系統小型化,移動能力也大大增強,與計算機網絡和通信系統的結合也越來越緊密。
2.可靠性高、實時性強
嵌入式系統與通用計算機系統不同,嵌入式系統運行環境差異很大,有些應用場合的環境十分惡劣,系統可能運行在高溫、高壓下,也可能運行在零下幾十度的冰天雪地中,這就要求嵌入式系統必須有更高的可靠性。很多嵌入式系統都需要及時響應各種事件,不斷地對所處環境的變化做出反應,而且要實時地得到計算結果,不能產生過多延遲,保證系統的實時性。可以想像,如果汽車的剎車系統不能對剎車信號及時做出反應將會導致什麼後果。
3.專用性強、設計效率高
嵌入式系統的硬體、 軟體均是面向特定應用對象和任務設計的, 具有很強的專用性,與通用計算機構造的通用計算和信息處理平臺不同,嵌入式系統提供的功能及其面對的應用和過程都是預知的。通過充分考慮嵌入式系統對功能、可靠性、成本、體積和功耗方面的特殊要求,使嵌入式系統滿足對象要求的最小硬體和軟體配置,滿足特殊用途的需求。
嵌入式系統對成本、體積和功耗有嚴格的要求,由於資源(內存、 I/O(輸入/輸出)埠等)有限,因此對嵌入式系統的硬體和軟體都必須高效率地設計,量體裁衣、去除冗餘, 力爭在有限的資源上實現更高的性能。嵌入式系統和具體應用有機地結合在一起,它的升級換代也是和具體產品同步進行,因此嵌入式系統產品一旦進入市場,應具有較長的生命周期。
4.硬體高性能配置、軟體固態化存儲
嵌入式硬體力爭在同樣矽片面積上實現更高的性能,並可根據用戶具體要求對晶片配置進行剪裁和添加。嵌入式軟體通常都固化在存儲器或嵌入式處理器中,而不是存儲於磁碟等磁性載體中,以提高執行速度和系統可靠性。由於嵌入式系統一般應用於小型電子裝置,並且系統資源相對有限,所以內核較傳統的作業系統要小得多,比如 μC/OS作業系統,核心內核只有 8.3KB,而 Windows 的內核要比其大得多。所以還要求高質量和高可靠性的軟體代碼,以滿足系統的執行速度與實時性要求。
5.需要宿主機-目標機的開發模式
嵌入式系統一般只能運行應用程式,不具備自主開發程序的能力,所以嵌入式系統常採用宿主機-目標機的開發模式。通常將通用計算機作為宿主機,嵌入式系統作為目標機,宿主機安裝開發環境和調試工具,用於程序的開發與修改,目標機執行程序進行驗證與測試,此過程需要反覆多次。
目 錄
前言
第 1 章 嵌入式系統概述
1.1 嵌入式系統簡介
1.1.1 嵌入式系統定義
1.1.2 嵌入式系統特點
1.1.3 嵌入式系統組成
1.1.4 嵌入式系統分類
1.2 嵌入式處理器
1.2.1 MCU
1.2.2 MPU
1.2.3 DSP
1.2.4 SoC
1.3 嵌入式作業系統
1.4 嵌入式系統的應用和發展
1.4.1 嵌入式系統的應用
1.4.2 嵌入式系統的發展
本章小結
習題
第 2 章 嵌入式系統工程設計
2.1 嵌入式系統的項目開發生命周期
2.1.1 概述
2.1.2 需求分析
2.1.3 方案設計
2.1.4 項目執行
2.1.5 項目結題
2.2 嵌入式系統的工程設計方法
2.2.1 面向過程思想
2.2.2 面向對象思想
2.2.3 面向對象建模基礎
2.2.4 基於 UML 的車載 GPS 終端設計
本章小結
習題
第 3 章 8 位嵌入式 MCU 晶片硬體基礎
3.1 8051 單片機的基本組成
3.2 8051 中央處理器
3.2.1 運算器
3.2.2 控制器
3.3 8051 存儲器
3.3.1 程序存儲器
3.3.2 數據存儲器
3.4 8051 的 I/O 埠
3.5 8051 的中斷系統
3.5.1 中斷技術的優勢及中斷系統的功能
3.5.2 中斷系統結構
3.5.3 中斷處理過程
3.6 8051 的定時器/計數器
3.6.1 定時器/計數器的結構和功能
3.6.2 方式寄存器和控制寄存器
3.6.3 定時/計數器的工作方式
3.7 8051 的串行口
3.7.1 串行口結構及控制寄存器
3.7.2 串行口的工作方式
3.7.3 波特率設計
3.7.4 串行口應用
3.8 8051 的最小系統
3.9 MCS-51 擴展基礎
3.9.1 單片機擴展及系統結構
3.9.2 外部存儲器擴展
3.9.3 外部簡單 I/O 擴展
3.9.4 外部 A/D 擴展
本章小結
習題
第 4 章 嵌入式 C 程序設計基礎及編碼規範
4.1 C51 簡介
4.1.1 C51 特點
4.1.2 C51 程序結構
4.1.3 C51 關鍵字
4.2 C51 程序設計基礎
4.2.1 數據類型
4.2.2 變量定義
4.2.3 特殊功能寄存器及位變量定義
4.2.4 絕對地址訪問
4.2.5 基本運算與流程控制
4.2.6 宏定義與文件包含
4.2.7 函數
4.2.8 C51 程序設計實例
4.3 嵌入式 C 語言編碼規範
本章小結
習題
第 5 章 ARM 體系結構與指令集簡介
5.1 ARM 處理器
5.1.1 ARM 處理器簡介
5.1.2 典型 ARM 系列處理器
5.1.3 ARM 微處理器特點
5.2 ARM 處理器體系結構
5.2.1 嵌入式微處理器體系結構
5.2.2 ARM 微處理器工作模式及狀態
5.2.3 ARM 微處理器的寄存器
5.2.4 ARM 微處理器的異常處理
5.2.5 ARM 支持的數據類型和存儲模式
5.3 ARM Cortex-M3 處理器
5.3.1 ARM Cortex-M3 組成結構
5.3.2 ARM Cortex-M3 寄存器組
5.3.3 ARM Cortex-M3 操作模式和特權級別
5.3.4 ARM Cortex-M3 的異常和中斷
5.3.5 ARM Cortex-M3 存儲器系統
5.4 ARM 指令系統簡介
5.4.1 ARM 指令格式
5.4.2 ARM 尋址方式
5.4.3 ARM 指令分類
本章小結
習題
第 6 章 STM32 基本原理
6.1 STM32 性能和結構
6.1.1 STM32 性能
6.1.2 STM32 內部結構
6.1.3 STM32 晶片封裝和引腳功能
6.2 STM32 存儲地址映射
6.3 STM32 系統控制模塊
6.3.1 系統啟動模式
6.3.2 系統復位
6.3.3 系統時鐘
6.3.4 時鐘設置相關主要寄存器
6.4 STM32F103 中斷系統
6.4.1 嵌套向量中斷控制器
6.4.2 STM32F103 中斷優先級分組與向量表
6.4.3 STM32F103 外部中斷/事件控制器
6.4.4 EXTI 相關寄存器
6.5 通用輸入/輸出埠
6.5.1 GPIO 基本結構
6.5.2 GPIO 寄存器
6.5.3 GPIO 復用
6.6 定時器
6.6.1 基本定時器
6.6.2 基本定時器相關寄存器
6.6.3 通用定時器的內部結構
6.6.4 通用定時器相關寄存器
6.6.5 高級定時器
6.7 模數轉換
6.7.1 ADC 特性
6.7.2 ADC 內部結構
6.7.3 ADC 相關寄存器簡介
6.8 STM32F103 的最小系統
本章小結
習題
第 7 章 STM32 庫函數及應用舉例
7.1 STM32 庫函數簡介
7.1.1 STM32 庫函數概述
7.1.2 固件庫函數文件描述
7.1.3 STM32 編碼規範
7.1.4 外設的初始化和設置
7.2 STM32 常用庫函數
7.2.1 通用輸入/輸出庫函數
7.2.2 外部中斷/事件控制器庫函數
7.2.3 通用定時器庫函數
7.3 STM32 庫函數編程實例
7.3.1 STM32 GPIO 庫函數編程實例
7.3.2 STM32 EXTI 庫函數編程實例
7.3.3 STM32 TIM 庫函數編程實例
本章小結
習題
第 8 章 嵌入式實時作業系統 μC/OS 在 STM32 上的移植
8.1 嵌入式實時作業系統概述
8.1.1 嵌入式作業系統簡介
8.1.2 常用嵌入式實時作業系統簡介
8.2 μC/OS-II 實時作業系統簡介
8.2.1 μC/OS-II 實時作業系統的結構
8.2.2 任務及其調度
8.2.3 信號量與郵箱
8.2.4 消息隊列、信號量集和軟體定時器
8.3 μC/OS-II 實時作業系統的移植
本章小結
習題
參考文獻
▲上下滑動查看更多
ISBN 978-7-03-066793-9
責任編輯:姜紅 韓海童
本書首先介紹嵌入式系統基本概念及開發設計方法,然後以 8 位微控制器為基礎,介紹晶片的內部組成、結構、資源等嵌入式系統硬體基本知識,再詳細介紹嵌入式程序設計基礎及編碼規範,最後介紹 32 位 ARM 嵌入式系統的開發方法。本書共分 8 章,每章後附習題,便於讀者學習嵌入式系統知識,掌握嵌入式系統應用開發基本技術。
本書結構緊湊、語言簡練,講解由淺入深、通俗易懂,適合作為高等學校相關專業的本科生和研究生教材,也可供從事嵌入式系統開發應用的工程技術人員、科研人員學習和參考。
一起閱讀科學!
科學出版社東北分社│微信ID:gh-d324682890c0
專業品質 學術價值
原創好讀 科學品味
點擊「閱讀原文」可購買本書!