出版時(shí)間:2006-3 出版社:電子工業(yè)出版社 作者:孫紅波 頁數(shù):258 字?jǐn)?shù):442000
內(nèi)容概要
本書是學(xué)習(xí)ARM基礎(chǔ)知識(shí)、嵌入式技術(shù)的入門性教材。 全書內(nèi)容分三部分:第一部分是ARM基礎(chǔ)內(nèi)容,介紹ARM的基本概念、基本結(jié)構(gòu)、基本尋址方式和基本指令,通過PHILIPS公司的LPC2200系列芯片對(duì)ARM微控制器給予詳細(xì)介紹。第二部是編程技術(shù)。配合LPC2292實(shí)驗(yàn)系統(tǒng)給出若干實(shí)驗(yàn),如實(shí)現(xiàn)串行通信、A/D轉(zhuǎn)換、LCD驅(qū)動(dòng)、鍵盤擴(kuò)展、定時(shí)器、GUI、和USB驅(qū)動(dòng)等。第三部分主要介紹嵌入式Linux的基礎(chǔ)知識(shí)和嵌入式Linux開發(fā)環(huán)境的配置。主要介紹uClinux操作系統(tǒng)相關(guān)的知識(shí),如任務(wù)管理、任務(wù)間通信、內(nèi)存與I/O管理以及中斷處理機(jī)制等。 全書側(cè)重基本概念,內(nèi)容豐富,語言流暢,通俗易懂。本書備有相應(yīng)習(xí)題練習(xí)和機(jī)考系統(tǒng)。本書本書在編寫中,盡量減少對(duì)其他專業(yè)的依托。它既可作為各高等院校有關(guān)嵌入式理工科大學(xué)本科生的教材,也可為從事ARM及嵌入式Linux的工程人員提供學(xué)習(xí)和參考。
書籍目錄
第1章 ARM處理器概述 1.1 ARM技術(shù)的發(fā)展 1.2 RISC微處理器的體系結(jié)構(gòu)及其特點(diǎn) 1.3 ARM微處理器的指令系統(tǒng) 1.4 ARM處理器系列 1.4.1 ARM7微處理器系列 1.4.2 ARM9微處理器系列 1.4.3 ARM9E微處理器系列 1.4.4 ARMl0E微處理器系列 1.4.5 SecurCore微處理器系列 1.4.6 XscNe處理器 1.5 ARM微處理器的應(yīng)用系統(tǒng)開發(fā) 習(xí)題1第2章 ARM體系結(jié)構(gòu) 2.1 ARM7TDMI程序員模型 2.1.1 內(nèi)核概述 2.1.2 譯碼器與控制邏輯 2.1.3 運(yùn)算器 2.1.4 內(nèi)核接口信號(hào) 2.2 工作狀態(tài)與工作模式 2.2.1 工作狀態(tài) 2.2.2 ARM的工作模式 2.3 ARM和Thumb狀態(tài)的寄存器組織 2.3.1 通用寄存器 2.3.2 Thumb狀態(tài)下的寄存器組織 2.3.3 程序計(jì)數(shù)器 2.3.4 程序狀態(tài)寄存器 2.3.5 連接寄存器 2.3.6 堆棧指針寄存器 2.4 存儲(chǔ)器組織結(jié)構(gòu) 2.4.1 數(shù)據(jù)類型和存儲(chǔ)數(shù)據(jù)格式 2.4.2 數(shù)據(jù)總線類型 2.4.3 ARM7TDMI總線訪問周期 2.4.4 指令預(yù)取與代碼自修改 2.4.5 AMBA接口(Advanced Microcontroller Bus Architecture) 2.5 異常(Exceptions) 2.5.1 異常類型及其處理過程 2.5.2 異常優(yōu)先級(jí)(Exception Priorities)和異常向量(Exception Vectors) 2.5.3 應(yīng)用程序中的異常響應(yīng) 2.5.4 異常返回 2.6 復(fù)位 2.7 協(xié)處理器接口 2.7.1 協(xié)處理器概述 2.7.2 ARM7TDMI與協(xié)處理器的協(xié)同關(guān)系 2.7.3 協(xié)處理器使用中的若干問題 習(xí)題 2第3章 ARM指令的特點(diǎn)和尋址方式 3.1 ARM指令特點(diǎn) 3.2 ARM指令的尋址方式 習(xí)題 3第4章 ARM指令系統(tǒng)概述 4.1 分支指令 4.2 ARM的數(shù)據(jù)處理指令 4.2.1 算術(shù)運(yùn)算類指令 4.2.2 邏輯運(yùn)算類指令 4.2.3 比較類指令 4.2.4 測試類指令 4.2.5 傳送類指令 4.2.6 乘法類指令 4.3 異常處理指令 4.4 ARM的存儲(chǔ)器加載/存儲(chǔ)指令 4.4.1 單寄存器加載 4.4.2 單寄存器存儲(chǔ) 4.4.3 多寄存器加載和多寄存器存儲(chǔ) 4.4.4 寄存器交換 4.5 協(xié)處理器指令 4.6 ARM狀態(tài)寄存器訪問指令 習(xí)題 4第5章 ARM匯編語言程序設(shè)計(jì) 5.1 ARM匯編語言偽指令 5.1.1 符號(hào)定義偽指令 5.1.2 空間分配偽指令 5.1.3 匯編控制偽指令 5.1.4 格式控制偽指令 5.1.5 ARM偽指令 5.1.6 Thumb偽指令 5.2 ARM匯編語言語句格式 5.2.1 ARM匯編語言中的符號(hào) 5.2.2 匯編語言程序中的表達(dá)式和運(yùn)算符 5.3 ARM語言程序結(jié)構(gòu) 5.4 簡單的ARM程序設(shè)計(jì) 5.4.1 簡單的ARM程序 5.4.2 子程序調(diào)用程序設(shè)計(jì) 5.4.3 分支程序設(shè)計(jì) 5.4.4 查表與散轉(zhuǎn)程序設(shè)計(jì) 5.4.5 數(shù)據(jù)串拷貝程序的設(shè)計(jì) 習(xí)題 5第6章 ARM.ThHITIb交互工作 6.1 交互工作原理 6.1.1 交互工作的必要性 6.1.2 交互工作的切換指令 6.1.3 與狀態(tài)切換有關(guān)的偽指令 6.2 交互程序 6.2.1 簡單的交互程序設(shè)計(jì)的例子 6.2.2 ARM指令頭的例子 6.2.3 交互子程序調(diào)用 6.3 ARM v5T擴(kuò)展 6.4 交互子程序和Veneer 6.4.1 交互編譯選項(xiàng) 6.4.2 Veneer 習(xí)題 6第7章 LPC2200系列原理與功能 7.1 概述 7.1.1 特性 7.1.2 結(jié)構(gòu) 7.2 管腳分布及信號(hào)描述 7.3 存儲(chǔ)系統(tǒng) 7.3.1 存儲(chǔ)器映射 7.3.2 存儲(chǔ)器加速模塊(MAM) 7.3.3 外部存儲(chǔ)器控制器(EMC) 7.4 時(shí)鐘控制電路 7.4.1 晶體振蕩器 7.4.2 PLL及相關(guān)寄存器 7.4.3 VPB分頻器及相關(guān)寄存器 7.5 復(fù)位和功率控制 7.5.1 復(fù)位 7.5.2 功率控制 7.6 中斷 7.6.1 向量中斷控制器VIC 7.6.2 外部中斷 7.7 其他片上外圍模塊 習(xí)題 7第8章 LPC2200系列開發(fā)平臺(tái) 8.1 概述 8.2 硬件電路的設(shè)計(jì)及其注意事項(xiàng) 8.2.1 電源、晶振及復(fù)位信號(hào)的處理 8.2.2 JTAG接口電路的正確設(shè)計(jì) 8.2.3 模式管腳的連接方法 8.2.4 存儲(chǔ)器擴(kuò)展 8.2.5 UART擴(kuò)展 8.2.6 CAN總線擴(kuò)展 8.2.7 USB接口 8.2.8 硬件系統(tǒng)設(shè)計(jì)需要考慮的問題 習(xí)題 8第9章 集成開發(fā)環(huán)境Embest lDE 9.1 Embest IDE概述 9.1.1 Embest IDE開發(fā)環(huán)境 9.1.2 Embest IDE安裝 9.1.3 Embest IDE主框架窗口 9.2 Embest IDE的編輯 9.3 工程管理 9.3.1 工程管理的操作 9.3.2 工程配置 9.4 編譯、匯編和鏈接 9.4.1 GNUTools forARM選項(xiàng) 9.4.2 ARM Build Tools選項(xiàng) 9.4.3 工程文件夾的編譯設(shè)置 9.4.4 工程編譯、匯編和鏈接 9.5 工程調(diào)試 9.5.1 調(diào)試設(shè)置 9.5.2 調(diào)試 9.5.3 Embest[DE附帶工具介紹 9.6 GNU編譯環(huán)境下程序的編寫 9.6.1 移植SDT的匯編程序 9.6.2 鏈接腳本文件 習(xí)題 9第1O章 ARM高級(jí)語言程序設(shè)計(jì)基礎(chǔ) 10.1 C語言與匯編的混合編程 10.1.1 ARM過程調(diào)用標(biāo)準(zhǔn)ATPCS 10.1.2 內(nèi)嵌匯編器 10.1.3 C語言和ARM匯編語言間相互調(diào)用 10.2 基本I/O程序(含啟動(dòng)代碼) 10.2.1 啟動(dòng)代碼 10.2.2 基本I/O主程序 10.3 SPI通信程序 10.4 串口通信程序 10.5 A/D程序 10.6 中斷程序 習(xí)題 10第11章 嵌入式LlflUX 11.1 嵌入式操作系統(tǒng)概述 11.1.1 操作系統(tǒng)的作用 11.1.2 操作系統(tǒng)的主要任務(wù) 11.1.3 嵌入式操作系統(tǒng)的特點(diǎn) 11.1.4 典型的嵌入式實(shí)時(shí)操作系統(tǒng) 11.2 嵌入式Linux操作系統(tǒng)內(nèi)核及其特點(diǎn) 11.2.1 GNU及自由軟件開發(fā)模式 11.2.2 Linux內(nèi)核的引入 11.2.3 Linux內(nèi)核的特點(diǎn) 11.2.4 標(biāo)準(zhǔn)Linux內(nèi)核的變種 11.3 Linux與uClinux 11.3.1 uClinux名稱釋義 11.3.2 MMU工作機(jī)制 11.3.3 uClinux與普通Linux系統(tǒng)的異同 11.3.4 uClinux的發(fā)展前景 11.4 構(gòu)建一個(gè)嵌入式Linux系統(tǒng) 11.4.1 Linux內(nèi)核與Linux系統(tǒng) 11.4.2 嵌入式Linux系統(tǒng)的特點(diǎn) 11.4.3 嵌入式系統(tǒng)的開發(fā) 11.4.4 開發(fā)一個(gè)嵌入式Linux系統(tǒng) 習(xí)題 11第12章 嵌入式LifiUX內(nèi)核移植和定制 12.1 Linux內(nèi)核代碼的基本結(jié)構(gòu) 12.2 Linux內(nèi)核的配置與編譯 12.2.1 內(nèi)核配置 12,2.2 應(yīng)用程序配置 12.3 嵌入式Linux的引導(dǎo)過程 12.4 內(nèi)核移植的一般步驟 12.5 根文件系統(tǒng)的分析與構(gòu)造 12.5.1 根文件系統(tǒng)的組成 12.5.2 文件系統(tǒng)的選擇 12.5.3 根文件系統(tǒng)的生成 習(xí)題 12第13章 嵌入式Linux應(yīng)用程序的開發(fā) 13.1 概述 13.2 嵌入式應(yīng)用程序的開發(fā)過程 13.3 交叉編譯環(huán)境的建立 13.3.1 Cygwin開發(fā)環(huán)境 13.3.2 交叉編譯工具gcc 13.4 多程序的編譯工具make 13.5 交叉調(diào)試工具gdb 13.5.1 gdb的使用 13.5.2 gdb的基本命令 13.5.3 gdb的工作過程 13.5.4 關(guān)于core文件 13.5.5 調(diào)試運(yùn)行中的進(jìn)程 習(xí)題 13第14章 嵌入式Linux驅(qū)動(dòng)程序的開發(fā) 14.1 概述 14.2 將設(shè)備驅(qū)動(dòng)程序納入到文件系統(tǒng)中 14.3 設(shè)備驅(qū)動(dòng)程序的編程框架及函數(shù)調(diào)用接口 14.3.1 設(shè)備驅(qū)動(dòng)程序開發(fā)的特性與共性 14.3.2 程序框架及解釋 14.4 設(shè)備驅(qū)動(dòng)程序的實(shí)例 14.5 設(shè)計(jì)自己的驅(qū)動(dòng)程序 14.5.1 設(shè)備的功能 14.5.2 設(shè)備的實(shí)現(xiàn) 14.5.3 其他驅(qū)動(dòng)程序相關(guān)技術(shù) 14.5.4 動(dòng)態(tài)加載設(shè)備驅(qū)動(dòng)程序 習(xí)題 14參考文獻(xiàn)
圖書封面
評(píng)論、評(píng)分、閱讀與下載