第1章 ARM為基礎的嵌入式系統1.1 RISC設計理念 1-11.2 ARM設計理念 1-31.3 嵌入式系統的硬體 1-41.4 嵌入式系統的軟體 1-101.5 總 結 1-13
第2章 ARM處理器基礎2.1 暫存器 2-32.2 目前程式狀態暫存器 2-42.3 管 線 2-112.4 異常、中斷及向量表 2-142.5 核心擴充 2-152.6 體系結構的不同版本 2-182.7 ARM處理器系列 2-212.8 總 結 2-25
第3章 ARM指令集3.1 資料處理指令 3-33.2 分支指令 3-123.3 Load-Store指令 3-143.4 軟體中斷指令 3-263.5 程式狀態暫存器指令 3-273.6 常數的載入 3-303.7 ARMv5E擴展 3-323.8 條件執行 3-353.9 總 結 3-36
第4章 Thumb指令集4.1 Thumb暫存器的使用 4-44.2 ARM-Thumb交互 4-44.3 其他分支指令 4-64.4 資料處理指令 4-74.5 單暫存器Load-Store指令 4-104.6 多暫存器Load-Store指令 4-114.7 堆疊指令 4-124.8 軟體中斷指令 4-134.9 總 結 4-14
第5章 高效率的C程式設計5.1 C編譯器及其最佳化概述 5-15.2基本的C資料類型 5-35.3 C迴圈結構 5-125.4 暫存器分配 5-195.5 函數呼叫 5-215.6 指標別名 5-265.7 結構體安排 5-295.8 位元區域 5-325.9 邊界不對齊資料和位元組排列方式(大/小結尾) 5-355.10 除法 5-405.11 浮點運算 5-495.12 內建函數和內嵌組合語言 5-495.13 移植問題 5-535.14 總 結 5-55
第6章 ARM組合語言與最佳化6.1 設計組合語言程式碼 6-26.2 性能分析和週期計數 6-76.3 指令調整 6-86.4 暫存器分配 6-156.5 條件執行 6-256.6 迴圈結構 6-286.7 位操作 6-366.8 高效率的switch 6-426.9 邊界不對齊資料的處理 6-466.10 總 結 6-50
第7章 基本運算最佳化7.1 雙精度整數乘法 7-27.2 整數正規化和前導0計數 7-67.3 除法 7-117.4 平方根 7-347.5 超越函數:LOG、EXP、SIN、COS 7-387.6 位元組順序反轉和位元操作 7-457.7 飽和及捨入運算 7-497.8 亂數產生 7-517.9 總 結 7-52
第8章 數位信號處理8.1 表示一個數位信號 8-28.2 基於ARM的DSP介紹 8-118.3 FIR濾波器 8-228.4 IIR濾波 8-378.5 離散傅立葉變換 8-468.6 總 結 8-58
第9章 異常和中斷處理9.1 異常處理 9-19.2 中 斷 9-89.3 中斷處理方法 9-159.4 總 結 9-46
第10章 韌 體10.1 韌體和開機下載程式 10-110.2 例子:SANDSTONE 10-610.3 總結 10-12
第11章 嵌入式作業系統11.1 基本模組 11-111.2 實例:簡單小型作業系統SLOS 11-311.3 總 結 11-20
第12章 高速緩衝記憶體Cache12.1 儲存層次和CACHE 12-212.2 CACHE結構 12-512.3 CACHE策略 12-1512.4 協同處理器15與cache 12-2112.5 清除和清理CACHE記憶體 12-2112.6CACHE鎖定(lockdown) 12-4112.7 CACHE與軟體性能 12-5512.8 總 結 12-56
第13章 記憶體保護單元MPU13.1 受保護的區域 13-213.2 初始化MPU、CACHE和寫緩衝器 13-513.3 MPU系統範例 13-1813.4 總 結 13-27
第14章 記憶體管理單元14.1 從MPU到MMU 14-214.2 虛擬記憶體如何工作 14-314.3 ARMMMU的詳情 14-1014.4 頁 表 14-1114.5 轉換旁路緩衝器(TLB) 14-1514.6 域和記憶體存取許可權 14-1914.7 cache和寫入緩衝器 14-2114.8 協同處理器CP15和MMU配置 14-2214.9 快速上下文切換擴展 14-2414.10 範例:一個簡單的虛擬儲存系統 14-2814.11 MMUSLOS範例 14-5314.12 小 結 14-53
第15章 ARM族系結構的發展15.1 ARMv6對高級DSP和SIMD的支援 15-115.2 ARMv6增加的系統和多處理器支援 15-1115.3 ARMv6的執行 15-1315.4 ARMv6之後的未來技術 15-1515.5 總 結 15-16附錄A ARM和THUMB組合語言指令A.1 使用這篇附錄 A-1A.2 語 法 A-2A.3 按字母順串列出ARM和Thumb指令 A-5A.4 ARM組合語言速查 A-52A.5 GNU組合語言快速查詢 A-62附錄B ARM和THUMB指令編碼B.1 ARM指令集編碼 B-1B.2 Thumb指令集編碼 B-7B.3 程式狀態暫存器 B-9附錄C 處理器與體系結構C.1 ARM命名規則 C-1C.2 核心與體系結構 C-2附錄D 指令週期定時D.1 指令週期定時表的使用 D-1D.2 ARM7TDMI指令週期定時 D-3D.3 ARM9TDMI指令週期定時 D-4D.4 StrongARM1指令週期定時 D-5D.5 ARM9E指令週期定時 D-6D.6 ARM10E指令週期定時 D-8D.7 INTELXSCALE指令週期定時 D-10D.8 ARM11指令週期定時 D-11附錄E 建議的參考讀物E.1 ARM參考 E-1E.2 演算法參考 E-1E.3 記憶體管理與Cache體系結構(硬體綜述與參考) E-2E.4 作業系統參考 E-2