出版時間:2012-11 出版社:人民郵電出版社 作者:華清遠見教育集團 劉洪濤 苗德行 編著 頁數:282 字數:492000
內容概要
本書在全面介紹ARM處理器的體系結構、編程模型、指令系統(tǒng)和最新的RealView
MDK開發(fā)環(huán)境的同時,以英蓓特公司的EduKit-Ⅲ實驗教學系統(tǒng)為平臺,以ARM9處理器S3C2410為核心,詳細介紹了系統(tǒng)的設計及相關接口的操作,并提供了大量的實驗例程。本書最后詳細講解了嵌入式Linux系統(tǒng)各個組成部分在教學系統(tǒng)上的移植過程。
本書可作為高等院校計算機、電子信息、通信工程、自動化等專業(yè)嵌入式系統(tǒng)教程的教材,也可作為相關嵌入式系統(tǒng)開發(fā)人員的參考書。
書籍目錄
第1章 嵌入式系統(tǒng)概述
1.1 嵌入式系統(tǒng)簡介
1.2 嵌入式系統(tǒng)發(fā)展趨勢
1.3 嵌入式系統(tǒng)的硬件和軟件特征
1.4 ARM系列處理器簡介
1.4.1 ARM7處理器系列
1.4.2 ARM9處理器系列
1.4.3 ARM9E處理器系列
1.4.4 ARM10處理器系列
1.4.5 ARM10E處理器系列
1.4.6 ARM11處理器系列
1.4.7 SecureCore處理器系列
1.4.8 StrongARM和Xscale處理器系列
1.4.9 Cortex和MPCore處理器系列
1.4.10 各種處理器系列之間的比較
本章小結
思考題
第2章 ARM體系結構與指令集
2.1 ARM體系結構的特點
2.2 ARM處理器工作模式
2.3 寄存器組織
2.3.1 通用寄存器
2.3.2 狀態(tài)寄存器
2.3.3 程序計數器
2.4 流水線
2.4.1 流水線的概念與原理
2.4.2 流水線的分類
2.4.3 影響流水線性能的因素
2.5 ARM存儲系統(tǒng)
2.5.1 協處理器
2.5.2 存儲管理單元
2.5.3 高速緩沖存儲器
2.6 異?!?br />2.6.1 異常的種類
2.6.2 異常的優(yōu)先級
2.6.3 構建異常向量表
2.6.4 異常響應流程
2.6.5 從異常處理程序中返回
2.7 ARM處理器的尋址方式
2.7.1 數據處理指令尋址方式
2.7.2 內存訪問指令尋址方式
2.8 ARM處理器的指令集
2.8.1 數據操作指令
2.8.2 乘法指令
2.8.3 Load/Store指令
2.8.4 單數據交換指令
2.8.5 跳轉指令
2.8.6 狀態(tài)操作指令
2.8.7 協處理器指令
2.8.8 異常產生指令
本章小結
思考題
第3章 ARM匯編語言程序設計
3.1 ARM/Thumb混合編程
3.1.1 Thumb指令的特點及實現
3.1.2 ARM/Thumb交互工作基礎
3.1.3 ARM/Thumb交互子程序
3.2 ARM匯編器支持的偽操作
3.2.1 偽操作概述
3.2.2 符號定義偽操作
3.2.3 數據定義偽操作
3.2.4 匯編控制偽操作
3.2.5 雜項偽操作
3.3 ARM匯編器支持的偽指令
3.3.1 ADR偽指令
3.3.2 ADRL偽指令
3.3.3 LDR偽指令
3.4 匯編語言與C/C++的混合編程
3.4.1 內聯匯編
3.4.2 嵌入型匯編
3.4.3 匯編代碼訪問C全局變量
3.4.4 C++中使用C頭文件
3.4.5 混合編程調用舉例
本章小結
思考題
第4章 嵌入式軟件基礎實驗
4.1 Realview MDK簡介
4.2 ULINK2仿真器簡介
4.3 使用Realview MDK創(chuàng)建一個工程
4.3.1 選擇工具集
4.3.2 創(chuàng)建工程并選擇處理器
4.3.3 建立一個新的源文件
4.3.4 工程中文件的加入
4.3.5 工程基本配置
4.3.6 工程的編譯鏈接
4.4 嵌入式軟件開發(fā)基礎實驗
4.4.1 ARM匯編指令實驗一
4.4.2 ARM匯編指令實驗二
4.4.3 Thumb匯編指令實驗
4.4.4 ARM處理器工作模式實驗
4.4.5 C語言實驗程序一
4.4.6 C語言實驗程序二
4.4.7 匯編語言與C語言相互調用
實例
本章小結
第5章 ARM應用系統(tǒng)設計
5.1 SoC系統(tǒng)概述
5.2 S3C2410概述
5.3 S3C2410系統(tǒng)功能電路設計
5.3.1 概述
5.3.2 電源電路
5.3.3 時鐘電路
5.3.4 復位電路
5.3.5 JTAG接口電路
5.3.6 Nor Flash電路
5.3.7 Nand Flash電路
5.3.8 SDRAM電路
5.3.9 串行接口電路
5.3.10 以太網接口電路
5.3.11 蜂鳴器電路及其PWM電路
5.3.12 按鍵電路
5.3.13 實時時鐘
5.3.14 A/D轉換器電路
5.3.15 IIS音頻接口電路
5.3.16 SD卡接口電路
5.3.17 LCD電路
5.3.18 USB接口電路
5.3.19 印制電路板設計的注意事項
本章小結
思考題
第6章 S3C2410系統(tǒng)接口操作原理及實驗
6.1 I/O接口實驗
6.1.1 實驗目的
6.1.2 實驗設備
6.1.3 實驗內容
6.1.4 實驗原理
6.1.5 實驗操作步驟
6.1.6 實驗參考程序
6.2 串口通信實驗
6.2.1 實驗目的
6.2.2 實驗設備
6.2.3 實驗內容
6.2.4 實驗原理
6.2.5 實驗操作步驟
6.2.6 實驗參考程序
6.3 中斷實驗
6.3.1 實驗目的
6.3.2 實驗設備
6.3.3 實驗內容
6.3.4 實驗原理
6.3.5 實驗操作步驟
6.3.6 實驗參考程序
6.4 鍵盤控制實驗
6.4.1 實驗目的
6.4.2 實驗設備
6.4.3 實驗內容
6.4.4 實驗原理
6.4.5 實驗設計
6.4.6 實驗操作步驟
6.4.7 實驗參考程序
6.5 實時時鐘實驗
6.5.1 實驗目的
6.5.2 實驗設備
6.5.3 實驗內容
6.5.4 實驗原理
6.5.5 實驗設計
6.5.6 實驗操作步驟
6.5.7 實驗參考程序
6.6 看門狗實驗
6.6.1 實驗目的
6.6.2 實驗設備
6.6.3 實驗內容
6.6.4 實驗原理
6.6.5 實驗設計
6.6.6 實驗操作步驟
6.6.7 實驗參考程序
6.7 IIC串行通信實驗
6.7.1 實驗目的
6.7.2 實驗設備
6.7.3 實驗內容
6.7.4 實驗原理
6.7.5 實驗設計
6.7.6 實驗操作步驟
6.7.7 實驗參考程序
6.8 A/D轉換實驗
6.8.1 實驗目的
6.8.2 實驗設備
6.8.3 實驗內容
6.8.4 實驗原理
6.8.5 實驗設計
6.8.6 實驗操作步驟
6.8.7 實驗參考程序
6.9 Nand Flash讀寫實驗
6.9.1 實驗目的
6.9.2 實驗設備
6.9.3 實驗內容
6.9.4 實驗原理
6.9.5 實驗設計
6.9.6 實驗操作步驟
6.9.7 實驗參考程序
本章小結
第7章 嵌入式操作系統(tǒng)及開發(fā)簡述
7.1 嵌入式Linux簡介
7.2 構建嵌入式Linux開發(fā)環(huán)境
7.2.1 交叉開發(fā)環(huán)境介紹
7.2.2 安裝交叉開發(fā)工具
7.2.3 主機交叉開發(fā)環(huán)境配置
7.3 Bootloader
7.3.1 Bootloader的種類
7.3.2 U-Boot工程簡介
7.3.3 U-Boot編譯
7.3.4 U-Boot的移植思路
7.3.5 U-Boot的燒寫
7.3.6 U-Boot的常用命令
7.4 Linux內核與移植
7.4.1 Linux內核結構
7.4.2 Linux內核配置系統(tǒng)
7.4.3 Linux內核編譯選項
7.5 移植Linux 2.6內核到S3C2410平臺簡述
7.5.1 移植的概念
7.5.2 設備驅動移植
7.5.3 Nand Flash移植
7.6 嵌入式文件系統(tǒng)構建
7.6.1 文件系統(tǒng)簡介
7.6.2 嵌入式文件系統(tǒng)的特點和種類
7.6.3 文件系統(tǒng)的組成
7.6.4 利用BusyBox構建文件系統(tǒng)
7.6.5 利用NFS調試新建的文件系統(tǒng)
本章小結
思考題
第8章 嵌入式Linux實驗
8.1 搭建嵌入式Linux開發(fā)環(huán)境
8.1.1 實驗目的
8.1.2 實驗環(huán)境
8.1.3 實驗步驟
8.2 移植U-Boot實驗
8.2.1 實驗目的
8.2.2 實驗環(huán)境
8.2.3 實驗步驟
8.3 燒寫U-Boot實驗
8.3.1 實驗目的
8.3.2 實驗環(huán)境
8.3.3 實驗步驟
8.4 添加U-Boot命令實驗
8.4.1 實驗目的
8.4.2 實驗環(huán)境
8.4.3 實驗步驟
8.5 Linux內核編譯與下載實驗
8.5.1 實驗目的
8.5.2 實驗環(huán)境
8.5.3 實驗步驟
8.6 Linux內核移植實驗
8.6.1 CS8900A網卡驅動移植
8.6.2 Nand Flash驅動移植
8.6.3 Yaffs2文件系統(tǒng)移植
8.6.4 LCD驅動移植
8.6.5 USB驅動移植
8.7 文件系統(tǒng)制作實驗
8.7.1 實驗目的
8.7.2 實驗環(huán)境
8.7.3 實驗步驟
8.8 編寫Linux內核模塊實驗
8.8.1 實驗目的
8.8.2 實驗環(huán)境
8.8.3 實驗步驟
8.9 編寫帶參數的Linux內核模塊實驗
8.9.1 實驗目的
8.9.2 實驗環(huán)境
8.9.3 實驗步驟
8.10 編寫Linux字符驅動程序之LED實驗
8.10.1 實驗目的
8.10.2 實驗環(huán)境
8.10.3 實驗步驟
8.11 編寫Linux字符驅動程序之PWM實驗
8.11.1 實驗目的
8.11.2 實驗環(huán)境
8.11.3 實驗步驟
8.12 編寫Linux字符驅動程序之鍵盤掃描實驗
8.12.1 實驗目的
8.12.2 實驗環(huán)境
8.12.3 實驗步驟
本章小結
參考文獻
章節(jié)摘錄
版權頁: 插圖: 此偽操作使用的單精度浮點數的范圍為1.17549435e—38~3.40282347e+38。 (3)示例。 ①分配一片連續(xù)的字存儲單元并初始化為指定的單精度浮點數。 FDataTest DCFS 2E5,—5E—7 ②分配一片連續(xù)的字存儲單元并初始化為單精度浮點數,但不嚴格要求字對齊。 DCFSU 1.0,—0.1,3.1e6 5.DCFD(或DCFDU) (1)語法格式。 DCFD(或DCFDU)偽指令用于為雙精度的浮點數分配一片連續(xù)的字存儲單元并用偽指令中指定的表達式初始化。每個雙精度的浮點數占據兩個字單元。 用DCFD分配的字存儲單元是字對齊的,而用DCFDU分配的字存儲單元并不嚴格字對齊。 語法格式如下: {label}DCFD{U} fpliteral{,fpliteral} ①{label}:程序標號,可選。 ②fpliteral:雙精度浮點數。 (2)使用說明。 DCFS可能在分配的內存單元前加1~3字節(jié)以保證內存字對齊。當程序對內存對齊方式要求不嚴格時可以是DCFSU偽操作。 當程序中的浮點數要由ARM處理器進行操作時,用戶選擇的浮點處理器結構會自動完成字節(jié)順序的轉換。當編譯時使用了編譯選項—fpunone,偽操作DCFS(DCFSU)不可使用。 此偽操作使用的單精度浮點數的范圍為2.22507385850720138e—308~1.79769313486231571e+308。 (3)示例。 ①分配一片連續(xù)的字存儲單元并初始化為指定的雙精度浮點數。 FDataTest DCFD 2E115,—5E7 ②分配一片連續(xù)的字存儲單元并初始化為雙精度浮點數,但不嚴格要求字對齊。 DCFDU 1.0,—0.1,3.1e6 6.DCQ(或DCQU) (1)語法格式。 DCQ(或DCQU)偽指令用于分配一片以8個字節(jié)為單位的連續(xù)存儲區(qū)域并用偽指令中指定的表達式初始化。 用DCQ分配的存儲單元是字對齊的,而用DCQU分配的存儲單元并不嚴格字對齊。語法格式如下: {label}DCQ{U} {—}literal{,{—}literal} ①{label}:程序標號,可選。 ②literal:用于初始化內存的數字必須是可數的數字表達式,其取值范圍為0~264—1。 可以在數字表達式前加負號來表示用負數初始化內存單元,但此時數字表達式的取值范圍為—263~1。 (2)使用說明。 DCQ可能在分配的內存單元前加1~3字節(jié)以保證內存字對齊。當程序對內存對齊方式要求不嚴格時可以是DCQU偽操作。
編輯推薦
《21世紀高等教育計算機規(guī)劃教材:嵌入式系統(tǒng)技術與設計(第2版)》可作為高等院校計算機、電子信息、通信工程、自動化等專業(yè)嵌入式系統(tǒng)教程的教材,也可作為相關嵌入式系統(tǒng)開發(fā)人員的參考書。
圖書封面
評論、評分、閱讀與下載