內容簡介
《ARM嵌入式系統教程》首先引入嵌入式系統的基本概念,介紹了嵌入式系統中廣泛使用的ARM技術,包括ARM處理器的體系結構、定址方式、指令系統、彙編語言程式和C語言程式設計基礎。之後介紹了基於XScale核心的PXA270處理器,以及基於PXA270處理器的實驗教學系統。然後,以PXA270實驗教學系統為硬體平台,介紹了嵌入式Linux應用程式和驅動程式的設計。最後介紹了三種基於PXA270處理器的套用實例的設計方案。
目錄
前言
第1章嵌入式系統概述
1.1嵌入式系統的概念
1.2嵌入式系統的特點
1.3嵌入式系統的套用
1.4嵌入式系統的組成
1.5嵌入式處理器
1.6嵌入式作業系統
1.7嵌入式系統開發工具
本章小結
思考題與習題
第2章ARM體系結構
2.1RISC技術和流水線技術
2.1.1計算機體系結構
2.1.2RISC技術
2.1.3流水線技術
2.2ARM體系結構簡介
2.2.1ARM體系結構的演變
2.2.2ARM體系結構的特徵
2.2.3ARM體系的變種
2.2.4ARM系列
2.2.5ARM存儲數據類型
2.3ARM處理器工作狀態
2.3.1兩種工作狀態
2.3.2工作狀態的切換
2.4ARM處理器工作模式
2.5ARM處理器暫存器組織
2.5.1ARM狀態下的暫存器組織
2.5.2Thumb狀態下的暫存器組織
2.6ARM異常
2.6.1ARM異常概述
2.6.2ARM異常處理
2.6.3ARM異常向量表
2.6.4ARM異常優先權
2.6.5ARM異常中斷使用的暫存器
2.7ARM存儲器和存儲器映射I/O
2.7.1ARM體系的存儲空間
2.7.2ARM存儲器格式
2.7.3非對齊存儲訪問操作
2.7.4存儲器映射I/O
2.8ARM匯流排技術
2.9ARM存儲系統
2.9.1高速緩衝存儲器Cache和緊耦合存儲器TCM
2.9.2存儲管理
2.10基於JTAG的調試系統
本章小結
思考題與習題
第3章ARM指令系統
3.1ARM指令集概述
3.1.1指令分類和指令格式
3.1.2ARM指令的條件碼
3.1.3ARM指令集編碼
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.3ARM指令
3.3.1跳轉指令
3.3.2數據處理指令
3.3.3程式狀態暫存器傳送指令
3.3.4載入和存儲指令
3.3.5協處理器指令
3.3.6異常產生指令
3.3.7其他指令
3.4Thumb指令
本章小結
思考題與習題
第4章ARM彙編程式設計
4.1ARM彙編語言語句格式
4.2ARM彙編偽操作
4.2.1符號定義偽操作
4.2.2數據定義偽操作
4.2.3彙編控制偽操作
4.2.4數據幀描述偽操作
4.2.5信息報告偽操作
4.2.6其他雜項偽操作
4.3ARM彙編語言偽指令
4.4ARM彙編語言中的符號
4.5ARM彙編語言中的表達式
4.6ARM彙編語言程式結構
4.6.1ARM映像檔案的結構
4.6.2ARM映像檔案各組成部分的地址映射關係
4.6.3scatter檔案的套用
4.7彙編語言子程式調用
4.7.1子程式調用
4.7.2ATPCS準則
4.8C語言和彙編語言混合編程
4.8.1內嵌彙編
4.8.2C語言和彙編語言互相調用
4.8.3ARMC編譯器的特定關鍵字
4.9ARM彙編語言設計實例
4.9.1分支結構
4.9.2循環結構
本章小結
思考題與習題..
第5章XScale核心及PXA270處理器簡介
5.1XScale核心簡介
5.1.1XScale核心的特點
5.1.2XScale核心與StrongARM的區別
5.2PXA270結構及特點
5.3PXA270存儲管理單元
5.3.1記憶體管理單元
5.3.2系統存儲控制單元
5.3.3DMA控制器
5.4PXA270時鐘及電源管理單元
5.4.1時鐘管理單元
5.4.2電源管理單元
5.5PXA270中斷控制器
5.6PXA270I/O模組
5.6.1GPIO
5.6.2專用鍵盤接口
5.7PXA270串列通信單元
5.7.1USB主控制器
5.7.2USB設備控制器
5.7.3UART控制器
5.7.4快速紅外接口
5.7.5SSP通信控制器
5.7.6I2C匯流排控制器
5.8PXA270定時器單元
5.8.1實時時鐘單元
5.8.2OS定時器單元
5.8.3脈衝寬度調製控制器
5.9多媒體控制單元
5.9.1AC'97控制器
5.9.2I2S控制器
5.9.3多媒體卡控制器
5.9.4記憶棒主機控制器
5.9.5視頻快速捕捉接口
5.10移動通信接口
5.10.1MSL接口
5.10.2USIM接口
5.11LCD控制器
本章小結
思考題與習題
第6章PXA270實驗教學系統設計及應用程式設計實例
6.1EELIODXScalePXA270實驗教學系統資源概述
6.2EELIOD系統硬體接口設計
6.2.1電源系統設計
6.2.2存儲系統設計
6.2.3LCD及觸控螢幕接口設計
6.2.4多媒體接口設計
6.2.5通信接口設計
6.2.6通用I/O接口設計
6.3EELIOD系統程式設計實例
6.3.1系統引導程式分析
6.3.2通用I/O程式設計實例
6.3.3LCD程式設計實例
本章小結
思考題與習題
第7章嵌入式Linux
7.1概述
7.1.1Linux
7.1.2嵌入式Linux系統交叉開發環境
7.1.3開發工具GNU介紹
7.2ARMLinux在EELIOD系統上的移植
7.2.1ARMLinux開發環境的建立
7.2.2ARMLinux的交叉編譯
7.2.3ARMLinux啟動代碼的編譯及下載
7.2.4ARMLinux核心的配置與編譯
7.2.5嵌入式Linux的檔案系統
7.3ARMLinux的設備驅動
7.3.1Linux的設備管理
7.3.2設備驅動程式結構
7.3.3GPIO驅動程式設計
7.3.4基於輪詢的UART驅動程式設計
7.3.5基於中斷的UART驅動程式設計
7.4ARMLinux下應用程式設計
7.4.1UART應用程式設計
7.4.2基於SOCKET的網路應用程式設計
7.4.3USB攝像頭接口應用程式設計
7.4.4Framebuffer圖片顯示應用程式設計
7.5嵌入式GUI簡介
本章小結
思考題與習題
第8章ARMADS集成開發環境
8.1ARM開發工具及開發環境簡介
8.1.1ARM開發工具簡介
8.1.2Banyan-UARMJTAG仿真工具
8.1.3ARMADS集成開發環境
8.2工程創建.調試和程式固化
8.2.1工程創建及參數設定
8.2.2使用ARMulator來調試簡單程式
8.2.3使用JTAG仿真器來調試嵌入式程式
8.2.4Semihosting調試技術
8.2.5程式的固化
本章小結
思考題與習題
第9章ARM套用實例
9.13G手機
9.1.13G手機簡介
9.1.23G手機的功能
9.1.3硬體方案
9.1.4軟體方案
9.2基於PXA270的嵌入式流媒體播放器
9.2.1系統簡介
9.2.2嵌入式流媒體播放器的硬體方案
9.2.3嵌入式流媒體播放器的軟體方案
9.3車載多媒體遠程監控服務系統
9.3.1系統簡介
9.3.2功能與指標
9.3.3方案設計
本章小結
思考題與習題
參考文獻
……