ARM 9嵌入式系統(tǒng)開發(fā)與應用
定 價:39 元
- 作者:董胡 著
- 出版時間:2015/6/1
- ISBN:9787121260322
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP332
- 頁碼:288
- 紙張:膠版紙
- 版次:1
- 開本:16開
作為一種16/32位的高性能、低成本、低功耗嵌入式RISC微處理器,ARM微處理器目前已經(jīng)成為應用最為廣泛的嵌入式微處理器。
本書全面系統(tǒng)地介紹了嵌入式系統(tǒng)開發(fā)的基本知識和方法。全書分為四部分。第一部分介紹嵌入式系統(tǒng)基本概念及廣泛使用的ARM技術,包括ARM處理器的體系結構、尋址方式、指令系統(tǒng)、匯編語言程序和C語言程序設計基礎及ARM嵌入式硬件設計基礎。第二部分介紹基于ARM 920T內(nèi)核的三星S3C2440處理器,以及基于S3C2440處理器的應用系統(tǒng)設計,并以S3C2440為開發(fā)平臺,列舉幾個典型的基本功能部件的程序設計示例。第三部分介紹Boot Loader及實現(xiàn)、ARM Linux系統(tǒng)移植與驅(qū)動開發(fā)。第四部分介紹ARM ADS集成開發(fā)環(huán)境及幾個嵌入式系統(tǒng)應用開發(fā)實例。
采用ARM 9為內(nèi)核平臺,緊扣目前**的嵌入式編程技術。
董胡,長沙師范學院電子與信息工程系副教授,主要負責嵌入式方向研究。參與湖南省科技廳《基于無線方式通信的輸液監(jiān)控系統(tǒng)研究》項目等多個項目。
第1章 概述
1.1 嵌入式系統(tǒng)
1.1.1 嵌入式系統(tǒng)的概念
1.1.2 嵌入式系統(tǒng)的特點
1.1.3 嵌入式系統(tǒng)的分類
1.2 嵌入式系統(tǒng)的組成
1.2.1 嵌入式系統(tǒng)的組成結構
1.2.2 嵌入式系統(tǒng)的硬件特點
1.2.3 嵌入式系統(tǒng)的軟件介紹
1.3 嵌入式系統(tǒng)的應用領域
1.4 嵌入式處理器
1.5 嵌入式操作系統(tǒng)
1.5.1嵌入式操作系統(tǒng)的種類
1.5.2幾種典型的嵌入式操作系統(tǒng)介紹
1.6嵌入式系統(tǒng)的開發(fā)
1.7本章小結
思考與練習
第2章 ARM體系結構及工作方式
2.1 ARM體系結構簡介
2.1.1ARM的概念
2.1.2ARM體系結構的演變
2.1.3ARM體系結構的特征
2.1.4ARM系列
2.1.5ARM存儲數(shù)據(jù)類型
2.1.6ARM存儲器層次
2.2 ARM處理器工作狀態(tài)
2.3 ARM處理器工作模式
2.4 ARM處理器寄存器組織
2.4.1ARM 狀態(tài)下的寄存器組織
2.4.2Thumb狀態(tài)下的寄存器組織
2.5 ARM異常
2.5.1ARM異常概述
2.5.2ARM異常響應
2.5.3ARM異常返回
2.5.4ARM異常進入/退出
2.5.5ARM異常描述
2.5.6ARM異常向量表
2.5.7ARM異常優(yōu)先級
2.6 ARM存儲器和存儲器映射I/O
2.6.1ARM體系的存儲空間
2.6.2ARM存儲器格式
2.6.3非對齊存儲器訪問操作
2.6.4存儲器映射I/O
2.7 協(xié)處理器接口
2.7.1可用的協(xié)處理器
2.7.2關于未定義的指令
2.8 ARM系統(tǒng)調(diào)試接口
2.8.1系統(tǒng)信號和調(diào)試工具
2.8.2JTAG接口及應用
2.8.3ETM接口
2.9 ATPCS 介紹
2.10 本章小結
思考與練習
第3章 ARM處理器的指令系統(tǒng)
3.1 ARM指令集概述
3.1.1指令分類和指令格式
3.1.2ARM指令的條件碼
3.2ARM 處理器尋址方式
3.2.1寄存器尋址
3.2.2立即尋址
3.2.3寄存器移位尋址
3.2.4寄存器間接尋址
3.2.5基址尋址
3.2.6多寄存器尋址
3.2.7堆棧尋址
3.2.8塊復制尋址
3.2.9相對尋址
3.3 ARM指令分類介紹
3.3.1分支指令
3.3.2數(shù)據(jù)處理指令
3.3.3存儲器訪問指令
3.3.4協(xié)處理器指令
3.3.5雜項指令
3.3.6幾個常用的偽指令
3.4 Thumb指令分類介紹
3.4.1分支指令
3.4.2數(shù)據(jù)處理指令
3.4.3存儲器訪問指令
3.4.4雜項指令
3.5 本章小結
思考與練習
第4章 ARM匯編語言程序設計
4.1 ARM匯編偽指令
4.1.1符號定義偽指令
4.1.2數(shù)據(jù)定義偽指令
4.1.3匯編控制偽指令
4.1.4其他常用的偽指令
4.2 ARM匯編語言語句格式
4.2.1ARM匯編語言程序中常見的符號
4.2.2ARM匯編語言程序中的表達式與運算符
4.3 ARM匯編語言程序結構
4.3.1ARM匯編語言程序結構
4.3.2ARM匯編語言子程序調(diào)用
4.3.3ARM匯編語言和C/C++的混合編程
4.4 ARM匯編語言設計實例
4.5 本章小結
思考與練習
第5章 ARM嵌入式硬件設計基礎
5.1 元器件封裝建立
5.1.1 新建封裝文件
5.1.2設置庫路徑
5.1.3畫元件封裝
5.2 原理圖繪制
5.2.1添加元件庫及放置元件
5.2.2創(chuàng)建電氣連接
5.2.3原理圖繪制的其他操作
5.3 元器件布局
5.3.1建立電路板
5.3.2導入網(wǎng)絡表
5.3.3元器件擺放
5.4 PCB布線
5.4.1 PCB層疊結構
5.4.2布線規(guī)則設置
5.4.3布線
5.5 本章小結
思考與練習
第6章 基于S3C2440的應用系統(tǒng)設計
6.1 S3C2440特性概述
6.2 S3C2440內(nèi)部結構
6.3 S3C2440引腳描述
6.4 特殊功能寄存器
6.4.1存儲器控制器
6.4.2時鐘與電源管理
6.5 系統(tǒng)的硬件選型與單元電路設計
6.5.1電源電路設計
6.5.2晶振電路設計
6.5.3復位電路設計
6.5.4串行接口電路設計
6.5.5JTAG調(diào)試接口電路設計
6.5.6Flash接口電路設計
6.5.7SDRAM接口電路設計
6.6 本章小結
思考與練習
第7章 部件工作原理與編程示例
7.1 S3C2440 GPIO口工作原理與編程示例
7.1.1概述
7.1.2端口控制描述
7.1.3GPIO編程實例
7.2 S3C2440中斷控制器的工作原理與編程示例
7.2.1概述
7.2.2中斷控制器操作
7.2.3中斷源
7.2.4中斷優(yōu)先級
7.2.5中斷控制器特殊寄存器
7.2.6中斷編程實例
7.3 S3C2440定時器的工作原理與編程示例
7.3.1概述
7.3.2定時器內(nèi)部邏輯控制工作流程
7.3.3脈寬調(diào)制 PWM實現(xiàn)
7.3.4定時器相關寄存器
7.3.5定時器編程實例
7.4 S3C2440 NAND Flash存儲器的工作原理與編程示例
7.4.1概述
7.4.2特性
7.4.3軟件模式
7.4.4NAND Flash控制器的寄存器
7.4.5NAND Flash編程實例
7.5 本章小結
思考與練習
第8章 Boot Loader及實現(xiàn)
8.1 Boot Loader簡介
8.2 Boot Loader的種類
8.3 Boot Loader的操作模式
8.4 Boot Loader的啟動方式
8.4.1網(wǎng)絡啟動方式
8.4.2磁盤啟動方式
8.4.3Flash啟動方式
8.5 Boot Loader的啟動過程
8.5.1Boot Loader的stage1
8.5.2Boot Loader的stage2
8.6 U-Boot編譯、移植與調(diào)試
8.6.1U-Boot介紹
8.6.2U-Boot編譯
8.6.3U-Boot移植
8.6.4U-Boot調(diào)試
8.7 Boot Loader的實現(xiàn)
8.8 本章小結
思考與練習
第9章 ARM Linux系統(tǒng)移植與驅(qū)動開發(fā)
9.1 Linux操作系統(tǒng)概述
9.1.1Linux 操作系統(tǒng)的發(fā)展
9.1.2Linux在嵌入式產(chǎn)品中的優(yōu)點
9.1.3Linux版本
9.2 Linux操作系統(tǒng)的內(nèi)核結構
9.2.1Linux內(nèi)核結構
9.2.2Linux源碼結構
9.2.3Linux內(nèi)核配置及編譯
9.3 Linux目錄與文件描述
9.3.1Linux目錄結構
9.3.2Linux文件類型及文件屬性與權限
9.3.3Linux文件系統(tǒng)類型
9.4 Linux進程調(diào)度與管理
9.4.1Linux進程的定義
9.4.2Linux進程的屬性
9.4.3Linux進程調(diào)度
9.5 Linux系統(tǒng)下多線程
9.5.1Linux線程
9.5.2基于Linux的多線程編程
9.5.3Linux線程屬性的修改
9.6 Linux開發(fā)流程
9.7 Linux交叉編譯環(huán)境
9.7.1Linux交叉編譯
9.7.2基于S3C2440的交叉編譯環(huán)境建立
9.8 Linux的移植過程
9.8.1Linux內(nèi)核要點
9.8.2Linux移植項目
9.8.3制作根文件系統(tǒng)
9.9 Linux下硬件接口驅(qū)動設計方法
9.10 本章小結
思考與練習
第10章 ARM ADS集成開發(fā)環(huán)境
10.1 ADS 1.2集成開發(fā)環(huán)境組成
10.1.1CodeWarrior IDE 簡介
10.1.2AXD 調(diào)試器簡介
10.1.3命令行開發(fā)工具
10.1.4ARM運行時庫
10.1.5實用程序
10.1.6ADS支持的軟件
10.2 工程的編輯及調(diào)試
10.2.1工程的編輯
10.2.2工程的調(diào)試
10.3 用AXD進行代碼調(diào)試
10.4 本章小結
思考與練習
第11章 嵌入式系統(tǒng)應用開發(fā)實例
11.1 Linux下音/視頻文件編程與播放
11.1.1Mplayer簡介
11.1.2播放本地與遠程音視頻文件
11.2 Linux下的網(wǎng)絡編程
11.2.1TCP/IP協(xié)議
11.2.2UDP協(xié)議
11.2.3Socket編程
11.3 基于Linux的MiniGUI移植與裁剪
11.3.1MiniGUI簡介
11.3.2MiniGUI的體系結構
11.3.3在宿主機上安裝MiniGUI
11.3.4MiniGUI的移植
11.3.5交叉編譯應用程序到開發(fā)板
11.3.6IAL引擎的移植
11.3.7MiniGUI的裁剪
11.4 本章小結
思考與練習
參考文獻