《ARM體系結構與編程》 |
【定價】¥42.00
【作者】杜春雷
【叢 書 名】 其他
【出 版 社】 清華大學出版社
【書 號】 7302062242
【出版日期】 2003 年2月
【開 本】 16開
【頁 碼】 512
【版 次】1-1
【所屬分類】 計算機 > 計算機組織與體系結構 > 微處理器/CPU
教材 > 研究生/本科/專科教材 > 工學 > 計算機
計算機 > 計算機組織與體系結構 > 嵌入式計算機
教材 > 計算機教材 > 本科/研究生 > 計算機專業 > 計算機專業課程 > 單片機及嵌入式計算機
內容簡介
ARM處理器是一種16/32位的高性能、低成本、低功耗的嵌入式RISC微處理器,由ARM公司設計,然後授權給各半導體廠商生產,它目前已經成為套用最為廣泛的嵌入式處理器。
本書分14章對ARM處理器的體系結構、指令系統和開發工具作了比較全面的介紹。其中包括ARM體系介紹、ARM程式設計模型、ARM彙編語言程式設計、ARM C/C++語言程式設計、ARM連線器的使用、ARM集成開發環境CodeWarrior IDE的介紹及高性能的調試工具ADW的使用。並在此基礎之上介紹一些典型的基於ARM體系的嵌入式套用系統設計時的基本技術。通過閱讀本書可以使讀者掌握開發基於ARM的套用系統的各方面的知識。
本書既可作為學習ARM技術的培訓材料,也可作為嵌入式系統開發人員的參考手冊。
目錄介紹
第1章 ARM概述及其基本編程模型
1. 1 ARM技術的套用領域及其特點
1. 2 ARM體系結構的版本及命名方法
1. 2. 1 ARM體系結構的版本
1. 2. 2 ARM體系的變種
1. 2. 3 ARM/Thumb體系版本的命名格式
l. 3 ARM處理器系列
1. 3. 1 ARM7系列
1. 3. 2 ARM9系列
1. 3. 3 ARM9E系列
1. 3. 4 ARM1OE系列
1. 3. 5 SecurCore系列
l. 4 ARM處理器模式
1. 5 ARM暫存器介紹
1. 5. l 通用暫存器
1. 5. 3 程式狀態暫存器
1. 6 ARM體系的異常中斷
1. 6. 1 ARM中異常中斷種類
1. 6. 2 ARM處理器對異常中斷的回響過程
1. 6. 3 從異常中斷處理程式中返回
1. 7 ARM體系中存儲系統
1. 7. 1 ARM體系中的存儲空間
1. 7. 2 ARM存儲器格式
1. 7. 3 非對齊的存儲訪問操作
1. 7. 4 指令預取和自修改代碼
第2章 ARM指令分類及其定址方式
2. 1 ARM指令集概要介紹
2. 1. 1 ARM指令的分類
2. 1. 2 ARM指令的一般編碼格式
2. 1. 3 ARM指令的條件碼域
2. 2 ARM指令定址方式
2. 2. l 數據處理指令的運算元的定址方式
2. 2. 2 字及無符號位元組的Load/Store指令的定址方式
2. 2. 3 雜類Load/Store指令的定址方式
2. 2. 4 批量Load/Store指令的定址方式
2. 2. 5 協處理器Load/Store指令的定址方式
第3章 ARM指令集介紹
3. 1 ARM指令集
3. 1. l 跳轉指令
3. l. 2 數據處理指令
3. 1. 3 乘法指令
3. 1. 4 雜類的算術指令
3. 1. 5 狀態暫存器訪問指令
3. l. 6 Load/Store記憶體訪問指令
3. 1. 7 批量Load/Store記憶體訪問指令
3. 1. 8 信號量操作指令
3. 1. 9 異常中斷產生指令
3. 1. 10 ARM協處理器指令
3. 2 一些基本的ARM指令功能段
3. 2. l 算術邏輯運算指令的套用
3. 2. 2 跳轉指令的套用
3. 2. 3 Loacl/Store指令的套用
3. 2. 4 批量Load/Store指令的套用
3. 2. 5 信號量指令的套用
3. 2. 6 與系統相關的一些指令代碼段
3. 3 Thumb指令介紹
第4章 ARM彙編語言程式設計
4. 1 偽操作
4. 1. l 符號定義偽操作
4. 1. 2 數據定義偽操作
4. 1. 3 彙編控制偽操作
4. 1. 4 棧中數據幀描述偽操作
4. 1. 5 信息報告偽操作
4. 1. 6 其他的偽操作
4. 2 ARM彙編語言偽指令
4. 3 ARM彙編語言語句格式
4. 3. 1 ARM彙編語言中的符號
4. 3. 2 ARM彙編語言中的表達式
4. 4 ARM彙編語言程式格式.
4. 4. l 彙編語言程式格式
4. 4. 2 彙編語言子程式調用
4. 5 ARM彙編編譯器的使用
4. 6 彙編程式設計舉例
4. 6. 1 ARM中偽操作使用實例
4. 6. 2 ARM中彙編程式實例
第5章 ARM存儲系統
5. 1 ARM存儲系統概述
5. 2 ARM中用於存儲管理的系統控制協處理器CP15
5. 2. 1 訪問CP15暫存器的指令
5. 2. 2 CP15中的暫存器
5. 3 存儲器管理單元MMU
5. 3. l 存儲器管理單元MMU概述
5. 3. 2 禁止/使能MMU
5. 3. 3 MMU中地址變換過程
5. 3. 4 MMU中存儲訪問許可權控制
5. 3. 5 MMU中的域
5. 3. 6 關於快表的操作
5. 3. 7 ARM中的存儲訪問失效
5. 4 高速緩衝存儲器和寫緩衝區
5. 4. 1 基本概念
5. 4. 2 cache的工作原理和地址映像方法
5. 4. 3 cache的分類
5. 4. 4 cache的替換算法
5. 4. 5 緩衝技術的使用注意事項
5. 4. 6 存儲系統的一致性問題
5. 4. 7 cache內容鎖定
5. 4. 8 與cache和寫緩衝區相關的編程接口
5. 5 快速上下文切換技術
5. 5. l 快速上下文切換技術原理
5. 5. 2 快速上下文切換技術編程接口
5. 6 與存儲系統相關的程式設計指南
5. 6. l 地址空間
5. 6. 2 存儲器格式
5. 6. 3 非對齊的存儲訪問操作
5. 6. 4 指令預取和自修改代碼
5. 6. 5 imb
5. 6. 6 存儲器映射的I/O空間
5. 7 AIOA存儲系統的實例
5. 7. 1 L7205的存儲系統概述
5. 7. 2 L7205中的SDRAM
5. 7. 3 L7205中的 MMU
第6章 ATPCS介紹
6. 1 ATPCS概述
6. 2 基本ATPCS
6. 2. l 暫存器的使用規則
6. 2. 2 數據棧使用規則
6. 2. 3 參數傳遞規則
6. 3 幾種特定的ATPCS
6. 3. l 支持數據棧限制檢查的ATPCS
6. 3. 2 支持唯讀段位置無關(ROPI)的ATPCS
6. 3. 3 支持可讀寫段位置無關(RWPI)的ATPCS
6. 3. 4 支持ARM程式和Thumb程式混合使用的ATPCS
6. 3. 5 處理浮點運算的ATPCS
第7章 ARM程式和Thumb程式混合使用
7. 1 概述
7. 2 在彙編語言程式中通過用戶代碼支持interwork
7. 2. l 可以實現程式狀態切換的指令
7. 2. 2 與程式狀態切換相關的偽操作
7. 2. 3 進行狀態切換的彙編程式實例
7. 3 在C/C++程式中實現interwork
7. 4 在彙編語言程式中通過連線器支持interwork
7. 4. l 利用veneers實現彙編程式間的程式狀態切換
7. 4. 2 利用veneers實現彙編程式與C/C++程式間的程式狀態切換
第8章 C\C++以及彙編語言的混合編程
8. l 內嵌彙編器的使用
8. 1. l 內嵌的彙編指令用法
8. 1. 2 內嵌的彙編器和armasm的區別
8. l. 3 在C\C++程式中使用內嵌的彙編指令
8. 1. 4 內嵌彙編指令的套用舉例
8. 2 從彙編程式中訪問C程式變數
8. 3 彙編程式.C程式以及C++程式的相互調用
8. 3. l 在C++程式中使用C程式頭檔案
8. 3. 2 彙編程式.C程式以及C++程式的相互調用舉例
第9章 異常中斷處理
9. 1 ARM中異常中斷處理概述
9. 1. 1 ARM體系中異常中斷種類
9. 1. 2 異常中斷向量表及異常中斷優先權
9. 1. 3 異常中斷使用的暫存器
9. 2 進入和退出異常中斷的過程
9. 2. 1 ARM處理器對異常中斷的回響過程
9. 2. 2 從異常中斷處理程式中返回
9. 3 在應用程式中安裝異常中斷處理程式
9. 3. 1 在系統復位時安裝異常中斷處理程式
9. 3. 2 在C程式中安裝異常中斷處理程式
9. 4 SWI異常中斷處理程式
9. 4. 1 SWI異常中斷處理程式的實現
9. 4. 2 SWI異常中斷調用
9. 5 FIQ和IRQ異常中斷處理程式
9. 5. 1 IRQ/FIQ異常中斷處理程式
9. 5. 2 IRQ異常中斷處理程式舉例
9. 6 復位異常中斷處理程式
9. 7 未定義指令異常中斷
9. 8 指令預取中止異常中斷處理程式
9. 9 數據訪問中止異常中斷處理程式
第10章 ARM C/0++編譯器
10. 1 ARM C/C++編譯器概述
10. 1. 1 ARM C/C++編譯器及語言庫介紹
10. l. 2 ARM編譯器中與搜尋路徑相關的一些基本概念
10. 2 ARM編譯器命令行格式
10. 2. l 過程調用標準
10. 2. 2 設定源程式語言類型
10. 2. 3 指定搜尋路徑
10. 2. 4 設定預處理選項
10. 2. 5 設定輸出檔案類型
10. 2. 6 指定目標處理器和ARM體系版本
10. 2. 7 生成調試信息
10. 2. 8 代碼生成的控制
10. 2. 9 控制警告信息的產生
10. 2. 10 編譯時進行的一些額外的檢查
10. 2. 11 控制錯誤信息
10. 3 ARM編譯器中的pragmas
10. 4 ARM編譯器特定的關鍵字
10. 4. 1 用於聲明函式的關鍵字
10. 4. 2 用於聲明交量的關鍵字
10. 4. 3 用於限定數據類型的關鍵字
10. 5 ARM編譯器支持的基本數據類型
10. 6 ARM編譯器中預定義宏
10. 7 ARM中C/C++庫
10. 7. 1 ARM中C/C++運行時庫概述
10. 7. 2 建立一個包含C/C++運行時庫的C/C++應用程式
10. 7. 3 建立不包含C運行時庫的應用程式
10. 7. 4 裁減C/C++運行時庫以適應特定的目標運行環境
第11章 ARM連線器
11. 1 ARM映像檔案
11. 1. 1 ARM映像檔案的組成
11. 1. 2 ARM映像檔案的入口點
11. 1. 3 輸入段的排序規則
11. 2 ARM連線器介紹
11. 3 ARM連線器生成的符號
11. 3. 1 連線器生成的與域相關的符號
11. 3. 2 連線器生成的與輸出段相關的符號
11. 3. 3 連線器生成的與輸入段相關的符號
11. 4 連線器的最佳化功能
11. 5 運行時庫的使用
11. 5. 1 C/C++運行時庫與目標檔案
11. 5. 2 查找需要的C/C++運行時庫
11. 5. 3 選擇合適種類的C/C++運行時庫
11. 5. 4 掃描C/C++運行時庫
11. 6 從一個映像檔案中使用另一個映像檔案中的符號
11. 6. 1 symdefs檔案
11. 6. 2 建立symdefs檔案
11. 6. 3 symdefs檔案的使用
11. 7 隱藏或者重命名全局符號
11. 7. l steering檔案的格式
11. 7. 2 steering檔案中的命令
11. 8 ARM連線器命令行選項
11. 9 使用scatter檔案定義映像檔案的地址映射
11. 9. l scatter檔案概述
11. 9. 2 satter檔案中各部分介紹
11. 9. 3 scatter檔案使用舉例
第12章 嵌入式應用程式示例
12. l 嵌入式應用程式設計的基本知識
12. 1. 1 嵌入式套用系統中的存儲映射
12. 1. 2 系統初始化
12. 2 使用semihosting的 C語言程式示例
12. 2. 1 源程式分析
12. 2. 2 生成映像檔案
12. 3 一個嵌入式套用系統示例
12. 3. l 源程式分析
12. 3. 2 生成映像檔案
12. 3. 3 本例中地址映射模式
12. 4 進行ROM/RAM地址重映射的嵌入式套用系統
12. 4. l 地址映射模式
12. 4. 2 源程式分析
12. 4. 3 生成映像檔案
12. 5 一個嵌入式作業系統示例
第13章 使用CodeWarrior
13. 1 CodeWarrior for ADS概述
13. 2 簡單工程項目的使用
13. 2. 1 工程項目視窗
13. 2. 2 簡單工程項目的使用
13. 3 配置生成目標
13. 3. 1 Debug Settings對話框介紹
13. 3. 2 設定牛成目標的基本選項
13. 3. 3 彙編器選項設定
13. 3. 4 編譯器的選項設定
13. 3. 5 連線器的選項設定
13. 3. 6 fromELF工具的選項設定
13. 4 複雜工程項目的使用
13. 4. l 建立一個新的生成目標
13. 4. 2 將一個生成目標更名
13. 4. 3 建立生成目標之間的依賴關係
13. 4. 4 子工程項目的使用
13. 5 工程項目模板
13. 5. 1 ADS中工程項目模板的使用
13. 5. 2 建立用戶工程項目模板
13. 6 編譯和連線工程項目
13. 6. 1 編譯檔案
13. 6. 2 生成工程項目
第14章 ARM體系中的調試方法
14. 1 ARM體系中調試系統概述
14. 2 基於Angel的調試系統
14. 2. l 基於Angel的調試系統的概述
14. 2. 2 使用Angel開發應用程式
14. 2. 3 Angel執行的操作
14. 2. 4 將Angel移植到特定的目標系統
14. 3 基於JTAG的調試系統
14. 3. l 基於JTAG的調試系統的特點
14. 3. 2 基於JTAG的調試系統結構
14. 3. 3 目標系統中的調試功能擴展部件
14. 3. 4 基於JTAG的調試過程
14. 4 ADW使用介紹
14. 4. 1 ADW概述
14. 4. 2 ADW中的視窗
14. 4. 3 ADW使用介紹
盤點程式語言與程式設計書籍
程式語言(programming language),又稱程式設計語言(program design language,簡稱PDL),是一組用來定義電腦程式的語法規則。它是一種被標準化的交流技巧,用來向計算機發出指令。一種計算機語言讓程式設計師能夠準確地定義計算機所需要使用的數據,並精確地定義在不同情況下所應當採取的行動 |