《普通高等教育電氣工程與自動化(應(yīng)用型)“十二五”規(guī)劃教材:嵌入式系統(tǒng)設(shè)計》先由嵌入式系統(tǒng)基本構(gòu)成開始,介紹嵌入式系統(tǒng)硬件結(jié)構(gòu)、硬件開發(fā)平臺和嵌入式操作系統(tǒng),然后重點闡述嵌入式系統(tǒng)的開發(fā)方法和技術(shù),以及針對嵌入式Linux系統(tǒng)的應(yīng)用開發(fā),并結(jié)合實例詳細講述嵌入式系統(tǒng)開發(fā)環(huán)境設(shè)置、系統(tǒng)移植方法和驅(qū)動程序的開發(fā),最后給出嵌入式系統(tǒng)工程開發(fā)實例。
《普通高等教育電氣工程與自動化(應(yīng)用型)“十二五”規(guī)劃教材:嵌入式系統(tǒng)設(shè)計》可作為自動化、電氣工程及其自動化、電子信息工程、測控技術(shù)與儀器等專業(yè)的高年級本科生和研究生的參考教材,也可作為從事嵌入式系統(tǒng)設(shè)計、微控制系統(tǒng)設(shè)計和電子設(shè)計等科研人員和工程技術(shù)人員的參考讀物。
第1章 嵌入式系統(tǒng)基礎(chǔ)
1.1 嵌入式系統(tǒng)
1.1.1 嵌入式系統(tǒng)簡介
1.1.2 嵌入式系統(tǒng)的組成
1.1.3 嵌入式系統(tǒng)的特點
1.1.4 嵌入式系統(tǒng)的分類
1.1.5 嵌入式系統(tǒng)與PC的區(qū)別
1.2 嵌入式系統(tǒng)的歷史與發(fā)展
1.2.1 嵌入式系統(tǒng)的歷史
1.2.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域
1.2.3 嵌入式系統(tǒng)的發(fā)展趨勢
1.3 嵌入式操作系統(tǒng)
1.3.1 Android
1.3.2 Linux
前言
第1章 嵌入式系統(tǒng)基礎(chǔ)
1.1 嵌入式系統(tǒng)
1.1.1 嵌入式系統(tǒng)簡介
1.1.2 嵌入式系統(tǒng)的組成
1.1.3 嵌入式系統(tǒng)的特點
1.1.4 嵌入式系統(tǒng)的分類
1.1.5 嵌入式系統(tǒng)與PC的區(qū)別
1.2 嵌入式系統(tǒng)的歷史與發(fā)展
1.2.1 嵌入式系統(tǒng)的歷史
1.2.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域
1.2.3 嵌入式系統(tǒng)的發(fā)展趨勢
1.3 嵌入式操作系統(tǒng)
1.3.1 Android
1.3.2 Linux
1.3.3 μC/OS?Ⅱ
1.3.4 WindowsCE
1.3.5 VxWorks
1.3.6 PalmOS
1.4 嵌入式系統(tǒng)的選型原則
1.4.1 嵌入式處理器的選型原則
1.4.2 嵌入式操作系統(tǒng)的選型原則
本章小結(jié)
思考與練習
第2章 嵌入式系統(tǒng)的硬件結(jié)構(gòu)
2.1 嵌入式系統(tǒng)的硬件組成
2.2 ARM微處理器概述
2.2.1 ARM公司簡介
2.2.2 ARM微處理器的家族
2.2.3 ARM微處理器的結(jié)構(gòu)
2.2.4 ARM微處理器核的技術(shù)特點
2.3 ARM的存儲系統(tǒng)
2.3.1 ARM的存儲空間
2.3.2 存儲器的格式
2.3.3 存儲器的管理
2.4 輸入/輸出設(shè)備
2.4.1 LCD顯示
2.4.2 觸摸屏
2.4.3 鍵盤
2.5 ARM的接口技術(shù)
2.5.1 并行通信接口
2.5.2 串行通信接口
2.5.3 USB接口
2.5.4 紅外線接口
2.5.5 PCMCIA和CF
2.6 總線技術(shù)
2.6.1 I2C總線
2.6.2 SPI總線
2.6.3 I2S總線
2.6.4 CAN總線
本章小結(jié)
思考與練習
第3章 基于ARM9處理器的硬件
開發(fā)平臺
3.1 ARM9處理器
3.1.1 ARM9與ARM7處理器的比較
3.1.2 ARM920T簡介
3.2 三星S3C2410X處理器概述
3.2.1 S3C2410X處理器
3.2.2 S3C2410X處理器的工作原理
3.3 S3C2410X處理器單元電路的設(shè)計
3.3.1 S3C2410X處理器主要引腳的定義
3.3.2 電源和復(fù)位電路
3.3.3 晶體振蕩器電路的設(shè)計
3.3.4 串口和USB接口電路
3.4 存儲器的設(shè)計
3.4.1 ROM接口電路的設(shè)計
3.4.2 Flash接口電路的設(shè)計
3.4.3 SDRAM接口電路的設(shè)計
3.5 JTAG調(diào)試接口的設(shè)計
3.6 博創(chuàng)UP?NETARM2410 S嵌入式平臺簡介
3.7 綜合實訓(xùn):通過JTAG燒寫Flash
本章小結(jié)
思考與練習
第4章 嵌入式操作系統(tǒng)
4.1 嵌入式操作系統(tǒng)概述
4.1.1 操作系統(tǒng)簡介
4.1.2 嵌入式操作系統(tǒng)的分類
4.2 Linux操作系統(tǒng)
4.2.1 Linux簡介
4.2.2 Linux的特點
4.2.3 Linux的組成
4.2.4 Linux的目錄和路徑
4.2.5 Linux的常用命令
4.2.6 Linux單操作系統(tǒng)的安裝
4.3 嵌入式Linux操作系統(tǒng)
4.4 虛擬機簡介
4.5 綜合實訓(xùn):虛擬機的安裝和使用
本章小結(jié)
思考與練習
第5章 嵌入式開發(fā)環(huán)境的建立
5.1 嵌入式系統(tǒng)的開發(fā)模式與設(shè)計
流程
5.1.1 嵌入式系統(tǒng)的開發(fā)模式
5.1.2 嵌入式系統(tǒng)的設(shè)計流程
5.2 嵌入式Linux的開發(fā)流程
5.3 嵌入式系統(tǒng)開發(fā)環(huán)境的建立
5.3.1 建立開發(fā)環(huán)境
5.3.2 開發(fā)環(huán)境的配置
5.4 BootLoader
5.4.1 BootLoader詳解
5.4.2 vivi
5.4.3 U?Boot
5.5 Linux的根文件系統(tǒng)
5.5.1 文件系統(tǒng)概述
5.5.2 Linux根文件系統(tǒng)
5.5.3 網(wǎng)絡(luò)文件系統(tǒng)
5.6 綜合實訓(xùn):建立嵌入式軟件環(huán)境
本章小結(jié)
思考與練習
第6章 嵌入式Linux系統(tǒng)的移植
6.1 移植的概念
6.2 Linux的體系結(jié)構(gòu)
6.2.1 Linux內(nèi)核的結(jié)構(gòu)
6.2.2 Linux內(nèi)核的配置
6.3 Linux內(nèi)核的編譯與移植
6.3.1 安裝交叉編譯工具
6.3.2 修改Makefile文件
6.3.3 設(shè)置Flash分區(qū)
6.3.4 添加對Yaffs文件系統(tǒng)的支持
6.3.5 Linux內(nèi)核的配置、編譯與移植
6.4 綜合實訓(xùn):Linux內(nèi)核的編譯與移植實驗
6.4.1 實驗?zāi)康?/p>
6.4.2 基礎(chǔ)知識
6.4.3 實驗設(shè)備
6.4.4 實驗內(nèi)容
6.4.5 實驗步驟
本章小結(jié)
思考與練習
第7章 嵌入式Linux應(yīng)用程序的開發(fā)
與調(diào)試
7.1 開發(fā)的環(huán)境與工具
7.1.1 交叉編譯
7.1.2 gcc編譯器
7.1.3 gdb調(diào)試器
7.1.4 Vi編輯器的使用
7.1.5 Makefile文件和make命令
7.2 Linux下的C語言編程
7.2.1 嵌入式C語言程序設(shè)計
7.2.2 程序的編譯與下載
7.3 嵌入式系統(tǒng)的開發(fā)軟件與調(diào)試工具
7.3.1 嵌入式系統(tǒng)調(diào)試方法概述
7.3.2 常用調(diào)試方式
7.3.3 ADS集成開發(fā)環(huán)境的使用
7.3.4 用AXD進行代碼調(diào)試
7.4 ARM仿真器
7.4.1 UArmJtag的JTAG在線仿真調(diào)試
7.4.2 UP?ICE200仿真器的使用
本章小結(jié)
思考與練習
第8章 設(shè)備驅(qū)動程序的開發(fā)
8.1 設(shè)備驅(qū)動概述
8.1.1 驅(qū)動程序和應(yīng)用程序的區(qū)別
8.1.2 Linux的設(shè)備管理
8.2 設(shè)備驅(qū)動程序的開發(fā)過程
8.2.1 字符設(shè)備驅(qū)動程序的設(shè)計
8.2.2 塊設(shè)備驅(qū)動程序的設(shè)計
8.2.3 網(wǎng)絡(luò)設(shè)備驅(qū)動程序的設(shè)計
8.2.4 驅(qū)動程序的注冊
8.2.5 設(shè)備驅(qū)動程序的編譯
8.2.6 驅(qū)動程序的加載
8.2.7 驅(qū)動程序的調(diào)用
8.3 驅(qū)動程序開發(fā)的常見問題
8.4 綜合實訓(xùn):直流電動機驅(qū)動程序的設(shè)計
本章小結(jié)
思考與練習
第9章 嵌入式圖形用戶界面編程
9.1 嵌入式系統(tǒng)GUI簡介
9.1.1 MiniGUI
9.1.2 Microwindows/Nano?X
9.1.3 OpenGUI
9.1.4 Qt/Embedded
9.1.5 幾種常見嵌入式GUI的對比
9.2 基于Qt的嵌入式GUI應(yīng)用開發(fā)
9.2.1 Qt概述
9.2.2 Qt的信號與槽機制
9.2.3 Qt圖形設(shè)計器
9.2.4 Qt的開發(fā)流程
9.2.5 建立Qt/Embedded開發(fā)環(huán)境
9.3 綜合實訓(xùn):Qt/Embedded的編程實例
9.3.1 基于PC的Qt程序
9.3.2 發(fā)布Qt/Embedded程序到目標機
開發(fā)板
本章小結(jié)
思考與練習
第10章 嵌入式系統(tǒng)的工程開發(fā)實例
10.1 基于ARM的可燃氣體報警系統(tǒng)
10.1.1 系統(tǒng)設(shè)計概述
10.1.2 硬件電路的設(shè)計
10.1.3 驅(qū)動程序的設(shè)計
10.1.4 應(yīng)用程序的設(shè)計
10.2 CAN總線應(yīng)用實例
10.2.1 CAN總線概述
10.2.2 CAN智能節(jié)點的設(shè)計
10.2.3 CAN接口電路的設(shè)計
10.2.4 報文的發(fā)送與接收
10.2.5 SPI接口
10.2.6 CAN總線波特率的設(shè)置
10.2.7 CAN總線驅(qū)動程序
10.2.8 CAN應(yīng)用程序
本章小結(jié)
思考與練習
參考文獻
前言
第1章 嵌入式系統(tǒng)基礎(chǔ)
1.1 嵌入式系統(tǒng)
1.1.1 嵌入式系統(tǒng)簡介
1.1.2 嵌入式系統(tǒng)的組成
1.1.3 嵌入式系統(tǒng)的特點
1.1.4 嵌入式系統(tǒng)的分類
1.1.5 嵌入式系統(tǒng)與PC的區(qū)別
1.2 嵌入式系統(tǒng)的歷史與發(fā)展
1.2.1 嵌入式系統(tǒng)的歷史
1.2.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域
1.2.3 嵌入式系統(tǒng)的發(fā)展趨勢
1.3 嵌入式操作系統(tǒng)
1.3.1 Android
1.3.2 Linux
前言
第1章 嵌入式系統(tǒng)基礎(chǔ)
1.1 嵌入式系統(tǒng)
1.1.1 嵌入式系統(tǒng)簡介
1.1.2 嵌入式系統(tǒng)的組成
1.1.3 嵌入式系統(tǒng)的特點
1.1.4 嵌入式系統(tǒng)的分類
1.1.5 嵌入式系統(tǒng)與PC的區(qū)別
1.2 嵌入式系統(tǒng)的歷史與發(fā)展
1.2.1 嵌入式系統(tǒng)的歷史
1.2.2 嵌入式系統(tǒng)的應(yīng)用領(lǐng)域
1.2.3 嵌入式系統(tǒng)的發(fā)展趨勢
1.3 嵌入式操作系統(tǒng)
1.3.1 Android
1.3.2 Linux
1.3.3 μC/OS?Ⅱ
1.3.4 WindowsCE
1.3.5 VxWorks
1.3.6 PalmOS
1.4 嵌入式系統(tǒng)的選型原則
1.4.1 嵌入式處理器的選型原則
1.4.2 嵌入式操作系統(tǒng)的選型原則
本章小結(jié)
思考與練習
第2章 嵌入式系統(tǒng)的硬件結(jié)構(gòu)
2.1 嵌入式系統(tǒng)的硬件組成
2.2 ARM微處理器概述
2.2.1 ARM公司簡介
2.2.2 ARM微處理器的家族
2.2.3 ARM微處理器的結(jié)構(gòu)
2.2.4 ARM微處理器核的技術(shù)特點
2.3 ARM的存儲系統(tǒng)
2.3.1 ARM的存儲空間
2.3.2 存儲器的格式
2.3.3 存儲器的管理
2.4 輸入/輸出設(shè)備
2.4.1 LCD顯示
2.4.2 觸摸屏
2.4.3 鍵盤
2.5 ARM的接口技術(shù)
2.5.1 并行通信接口
2.5.2 串行通信接口
2.5.3 USB接口
2.5.4 紅外線接口
2.5.5 PCMCIA和CF
2.6 總線技術(shù)
2.6.1 I2C總線
2.6.2 SPI總線
2.6.3 I2S總線
2.6.4 CAN總線
本章小結(jié)
思考與練習
第3章 基于ARM9處理器的硬件
開發(fā)平臺
3.1 ARM9處理器
3.1.1 ARM9與ARM7處理器的比較
3.1.2 ARM920T簡介
3.2 三星S3C2410X處理器概述
3.2.1 S3C2410X處理器
3.2.2 S3C2410X處理器的工作原理
3.3 S3C2410X處理器單元電路的設(shè)計
3.3.1 S3C2410X處理器主要引腳的定義
3.3.2 電源和復(fù)位電路
3.3.3 晶體振蕩器電路的設(shè)計
3.3.4 串口和USB接口電路
3.4 存儲器的設(shè)計
3.4.1 ROM接口電路的設(shè)計
3.4.2 Flash接口電路的設(shè)計
3.4.3 SDRAM接口電路的設(shè)計
3.5 JTAG調(diào)試接口的設(shè)計
3.6 博創(chuàng)UP?NETARM2410 S嵌入式平臺簡介
3.7 綜合實訓(xùn):通過JTAG燒寫Flash
本章小結(jié)
思考與練習
第4章 嵌入式操作系統(tǒng)
4.1 嵌入式操作系統(tǒng)概述
4.1.1 操作系統(tǒng)簡介
4.1.2 嵌入式操作系統(tǒng)的分類
4.2 Linux操作系統(tǒng)
4.2.1 Linux簡介
4.2.2 Linux的特點
4.2.3 Linux的組成
4.2.4 Linux的目錄和路徑
4.2.5 Linux的常用命令
4.2.6 Linux單操作系統(tǒng)的安裝
4.3 嵌入式Linux操作系統(tǒng)
4.4 虛擬機簡介
4.5 綜合實訓(xùn):虛擬機的安裝和使用
本章小結(jié)
思考與練習
第5章 嵌入式開發(fā)環(huán)境的建立
5.1 嵌入式系統(tǒng)的開發(fā)模式與設(shè)計
流程
5.1.1 嵌入式系統(tǒng)的開發(fā)模式
5.1.2 嵌入式系統(tǒng)的設(shè)計流程
5.2 嵌入式Linux的開發(fā)流程
5.3 嵌入式系統(tǒng)開發(fā)環(huán)境的建立
5.3.1 建立開發(fā)環(huán)境
5.3.2 開發(fā)環(huán)境的配置
5.4 BootLoader
5.4.1 BootLoader詳解
5.4.2 vivi
5.4.3 U?Boot
5.5 Linux的根文件系統(tǒng)
5.5.1 文件系統(tǒng)概述
5.5.2 Linux根文件系統(tǒng)
5.5.3 網(wǎng)絡(luò)文件系統(tǒng)
5.6 綜合實訓(xùn):建立嵌入式軟件環(huán)境
本章小結(jié)
思考與練習
第6章 嵌入式Linux系統(tǒng)的移植
6.1 移植的概念
6.2 Linux的體系結(jié)構(gòu)
6.2.1 Linux內(nèi)核的結(jié)構(gòu)
6.2.2 Linux內(nèi)核的配置
6.3 Linux內(nèi)核的編譯與移植
6.3.1 安裝交叉編譯工具
6.3.2 修改Makefile文件
6.3.3 設(shè)置Flash分區(qū)
6.3.4 添加對Yaffs文件系統(tǒng)的支持
6.3.5 Linux內(nèi)核的配置、編譯與移植
6.4 綜合實訓(xùn):Linux內(nèi)核的編譯與移植實驗
6.4.1 實驗?zāi)康?/p>
6.4.2 基礎(chǔ)知識
6.4.3 實驗設(shè)備
6.4.4 實驗內(nèi)容
6.4.5 實驗步驟
本章小結(jié)
思考與練習
第7章 嵌入式Linux應(yīng)用程序的開發(fā)
與調(diào)試
7.1 開發(fā)的環(huán)境與工具
7.1.1 交叉編譯
7.1.2 gcc編譯器
7.1.3 gdb調(diào)試器
7.1.4 Vi編輯器的使用
7.1.5 Makefile文件和make命令
7.2 Linux下的C語言編程
7.2.1 嵌入式C語言程序設(shè)計
7.2.2 程序的編譯與下載
7.3 嵌入式系統(tǒng)的開發(fā)軟件與調(diào)試工具
7.3.1 嵌入式系統(tǒng)調(diào)試方法概述
7.3.2 常用調(diào)試方式
7.3.3 ADS集成開發(fā)環(huán)境的使用
7.3.4 用AXD進行代碼調(diào)試
7.4 ARM仿真器
7.4.1 UArmJtag的JTAG在線仿真調(diào)試
7.4.2 UP?ICE200仿真器的使用
本章小結(jié)
思考與練習
第8章 設(shè)備驅(qū)動程序的開發(fā)
8.1 設(shè)備驅(qū)動概述
8.1.1 驅(qū)動程序和應(yīng)用程序的區(qū)別
8.1.2 Linux的設(shè)備管理
8.2 設(shè)備驅(qū)動程序的開發(fā)過程
8.2.1 字符設(shè)備驅(qū)動程序的設(shè)計
8.2.2 塊設(shè)備驅(qū)動程序的設(shè)計
8.2.3 網(wǎng)絡(luò)設(shè)備驅(qū)動程序的設(shè)計
8.2.4 驅(qū)動程序的注冊
8.2.5 設(shè)備驅(qū)動程序的編譯
8.2.6 驅(qū)動程序的加載
8.2.7 驅(qū)動程序的調(diào)用
8.3 驅(qū)動程序開發(fā)的常見問題
8.4 綜合實訓(xùn):直流電動機驅(qū)動程序的設(shè)計
本章小結(jié)
思考與練習
第9章 嵌入式圖形用戶界面編程
9.1 嵌入式系統(tǒng)GUI簡介
9.1.1 MiniGUI
9.1.2 Microwindows/Nano?X
9.1.3 OpenGUI
9.1.4 Qt/Embedded
9.1.5 幾種常見嵌入式GUI的對比
9.2 基于Qt的嵌入式GUI應(yīng)用開發(fā)
9.2.1 Qt概述
9.2.2 Qt的信號與槽機制
9.2.3 Qt圖形設(shè)計器
9.2.4 Qt的開發(fā)流程
9.2.5 建立Qt/Embedded開發(fā)環(huán)境
9.3 綜合實訓(xùn):Qt/Embedded的編程實例
9.3.1 基于PC的Qt程序
9.3.2 發(fā)布Qt/Embedded程序到目標機
開發(fā)板
本章小結(jié)
思考與練習
第10章 嵌入式系統(tǒng)的工程開發(fā)實例
10.1 基于ARM的可燃氣體報警系統(tǒng)
10.1.1 系統(tǒng)設(shè)計概述
10.1.2 硬件電路的設(shè)計
10.1.3 驅(qū)動程序的設(shè)計
10.1.4 應(yīng)用程序的設(shè)計
10.2 CAN總線應(yīng)用實例
10.2.1 CAN總線概述
10.2.2 CAN智能節(jié)點的設(shè)計
10.2.3 CAN接口電路的設(shè)計
10.2.4 報文的發(fā)送與接收
10.2.5 SPI接口
10.2.6 CAN總線波特率的設(shè)置
10.2.7 CAN總線驅(qū)動程序
10.2.8 CAN應(yīng)用程序
本章小結(jié)
思考與練習
參考文獻