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