- 軟(ruǎn)件大(dà)小:36.47M
- 軟件語言:中文
- 軟件類型:國產軟件(jiàn)
- 軟件類別:免費軟件(jiàn) / 電子圖(tú)書
- 更新(xīn)時間:2017-07-31 15:11
- 運行環境:WinAll, WinXP, Win7, Win8
- 軟件等級:
- 軟件廠商:
- 官方網站:暫(zàn)無
![頂一個](/skins/gr/images/c_goodbg.png)
![踩一個](/skins/gr/images/c_badbg.png)
81.00M/中文/0.9
52.00M/中文/7.5
76.96M/中(zhōng)文/1.3
40.67M/中文/5.0
40.67M/中文(wén)/3.3
ARM嵌入式係統開發(fā)軟件設計與優化pdf版是眾多網(wǎng)友正在尋找的(de)pdf版本,該(gāi)書(shū)主(zhǔ)要講述了arm嵌入式係統的開發(fā)學習,提供軟件設計和優化兩個方麵,書本內容相對(duì)來說比較完整,歡迎(yíng)來綠色資源網下(xià)載!
《ARM嵌入式(shì)係統開發:軟件(jiàn)設計與優化》從軟件設(shè)計的角度,全麵、係統地介紹了ARM處理器的基本體係(xì)結構和軟件設計與優化方法。內容包括:ARM處理(lǐ)器基(jī)礎;ARM/Thumb指令集;C語言(yán)與匯編語言程序的(de)設計與優化;基(jī)本運算、操作的優化;基於ARM的DSP;異常與中斷處理;固件(jiàn)與嵌入式(shì)OS;cache與存儲器管理;ARMv6體係結構的特點(diǎn)等。全書內容完整,針對各種(zhǒng)不(bú)同的ARM內核(hé)係統結構都有詳盡論述,並有大量的例子和源代(dài)碼。附(fù)錄給(gěi)出了(le)完整(zhěng)的ARMv4/v5/Thumb指令的功能、編碼、周期定時以及匯編參考。
第1章 基於ARM的嵌入式係統
1.1 RISC設計思想
1.2 ARM設計(jì)思想
1.3 嵌入式係統的硬件
1.3.1 ARM總線技術
1.3.2 AMBA總線協議
1.3.3 存(cún)儲器
1.3.4 外設
1.4 嵌入式係統的軟(ruǎn)件
1.4.1 初始(shǐ)化(啟(qǐ)動)代碼
1.4.2 操作係統
1.4.3 應用(yòng)程序
1.5 總結
第2章 ARM處理器基礎
2.1 寄存器
2.2 當前程序狀(zhuàng)態寄存(cún)器
2.2.1 處(chù)理器模式
2.2.2 分組寄存器
2.2.3 狀態和指令集
2.2.4 中斷屏蔽
2.2.5 條件標誌
2.2.6 條件執行(háng)
2.3 流水線(xiàn)
2.4 異常、中(zhōng)斷及向量表
2.5 內(nèi)核(hé)擴展
2.5.1 cache和緊耦合存儲器
2.5.2 存儲管理
2.5.3 協處理器
2.6 體係(xì)結構的不同版本
2.6.1 命(mìng)名規則
2.6.2 體係結構的發展
2.7 ARM處理器係列
2.7.1 ARM7係列
2.7.2 ARM9係列
2.7.3 ARM10係列
2.7.4 ARM11係列
2.7.5 專用處(chù)理器
2.8 總結
第3章 ARM指令集
3.1 數據處理指令
3.1.1 MOVE指令
3.1.2 桶形移位(wèi)器
3.1.3 算術指令
3.1.4 算(suàn)術(shù)指令使用桶形移位器
3.1.5 邏輯指令
3.1.6 比較指令(lìng)
3.1.7 乘法指令
3.2 分支指令
3.3 load?store指令
3.3.1 單寄存器傳送指令
3.3.2 單寄存器load?store指令的尋址(zhǐ)方式
3.3.3 多寄存器傳送指令
3.3.4 交換指令
3.4 軟件中斷指令
3.5 程序(xù)狀態寄存器指令
3.5.1 協處理器指令(lìng)
3.5.2 協(xié)處(chù)理器15(CP15)指令語法
3.6 常量的裝載
3.7 ARMv5E擴展
3.7.1 零計數指令
3.7.2 飽和算術(shù)指令
3.7.3 ARMv5E乘法指令(lìng)
3.8 條件執行(háng)
3.9 總(zǒng)結
第4章 Thumb指令集
4.1 Thumb寄存器的使用(yòng)
4.2 ARM-Thumb交互
4.3 其它分支指令
4.4 數據處理指令
4.5 單寄存(cún)器load-store指令
4.6 多寄(jì)存器load-store指令
4.7 堆棧指令(lìng)
4.8 軟件中斷指令
4.9 總結(jié)
第5章 高效的C編程
5.1 C編譯(yì)器(qì)及其優化概述
5.2 基本的(de)C數據類型(xíng)
5.2.1 局部變量類型
5.2.2 函數參數類型
5.2.3 有(yǒu)符號數與無符(fú)號數
5.3 C循環結(jié)構
5.3.1 固(gù)定次數的循(xún)環
5.3.2 不定次數的循環
5.3.3 循環展開
5.4 寄存器分配
5.5 函數調用
5.6 指針別名(míng)
5.7 結構體安(ān)排(pái)
5.8 位(wèi)域
5.9 邊界不對齊(qí)數據和字節排列(liè)方式(大/小端)
5.10 除法
5.10.1 帶餘數的無符號重複除法
5.10.2 把除轉換(huàn)為乘
5.10.3 除數是常數的無符號除法
5.10.4 除數是常數的(de)有符號除法
5.11 浮點運算
5.12 內(nèi)聯函數和內嵌匯編(biān)
5.13 移植問題
5.14 總結
第6章 ARM匯編(biān)與優化
6.1 編寫匯編代(dài)碼
6.2 性能分析和周期計數
6.3 指令調整
6.4 寄存器分配(pèi)
6.4.1 分(fèn)配變量給寄存器
6.4.2 使用超過14個的局(jú)部變量
6.4.3 最大限度(dù)地使用(yòng)寄存器
6.5 條件執行
6.6 循環結構
6.6.1 減計數循環
6.6.2 展(zhǎn)開計數循環
6.6.3 多(duō)層嵌(qiàn)套循環
6.6.4 其它計數循環
6.7 位操作
6.7.1 固(gù)定寬度的位域打包(bāo)和(hé)解包
6.7.2 可(kě)變寬度編碼的位流打包
6.7.3 可變寬度編碼的位流解包
6.8 高效的switch
6.8.1 在範圍0≤x<N的switch
6.8.2 基(jī)於(yú)通用變量x的switch
6.9 邊界不對齊數據的處理
6.10 總結
第7章 基本運算優化
7.1 雙精度整(zhěng)數乘法
7.1.1 長整型乘法(fǎ)
7.1.2 128位結果(guǒ)的無符號64位乘法
7.1.3 128位(wèi)結(jié)果的有符(fú)號64位整數乘法
7.2 整數規格化和(hé)前導0計數
7.2.1 ARMv5及以(yǐ)上體係結構的整數規格化
7.2.2 在ARMv4體係結構(gòu)上的規格化
7.2.3 後綴0計數
7.3 除法
7.3.1 通過試探減法實現無符號數除法
7.3.2 無符號(hào)整數的(de)NewtonRaphson除法
7.3.3 無符號小數NewtonRaphson除法
7.3.4 有符號數除法
7.4 平方根
7.4.1 通過(guò)試(shì)探減法計算平方根
7.4.2 使(shǐ)用NewtonRaphson迭代計算平方根
7.5 超越函數:log,exp,sin,cos
7.5.1 以2為底的對數運算
7.5.2 2的乘冪
7.5.3 三角函(hán)數
7.6 字(zì)節順序反轉和位操(cāo)作
7.6.1 字(zì)節順序反轉
7.6.2 位(wèi)變換
7.6.3‘1’位計數
7.7 飽和及舍入運算
7.7.1 飽和32位數到16位
7.7.2 飽和左移
7.7.3 舍入(rù)右移
7.7.4 飽和的32位加減法(fǎ)
7.7.5 飽(bǎo)和絕(jué)對值(zhí)
7.8 隨機數產生
7.9 總結
第8章 數字信號處理
8.1 表示一個數(shù)字信號
8.1.1 選擇一種表示方法
8.1.2 操作以定點(diǎn)格式存儲的值(zhí)
8.1.3 定點信號的加法和減法
8.1.4 定點信號的乘法
8.1.5 定(dìng)點信號的除法
8.1.6 定點信號的平方根(gēn)
8.1.7 小結:數字(zì)信號的表示
8.2 基於ARM的DSP介紹
8.2.1 ARM7TDMI的DSP
8.2.2 ARM9TDMI的DSP
8.2.3 StrongARM的DSP
8.2.4 ARM9E的DSP
8.2.5 ARM10E的DSP
8.2.6 Intel Xscale的(de)DSP
8.3 FIR濾(lǜ)波器
8.4 IIR濾波(bō)
8.5 離散傅裏葉變換
8.6 總(zǒng)結
第9章 異常和中斷處理
9.1 異常(cháng)處理
9.1.1 ARM處理器(qì)模式及異常
9.1.2 向量(liàng)表(biǎo)
9.1.3 異常優先級
9.1.4 鏈(liàn)接寄存器偏移
9.2 中斷
9.2.1 分配中斷
9.2.2 中(zhōng)斷延遲
9.2.3 IRQ與FIQ異常
9.2.4 基本的中(zhōng)斷堆棧設計與實現
9.3 中斷處理方法
9.3.1 非嵌套中斷處理
9.3.2 嵌(qiàn)套中斷處理
9.3.3 可重入中斷處理
9.3.4 優先級簡單中斷處理
9.3.5 優先(xiān)級標準中(zhōng)斷處理(lǐ)
9.3.6 優先級直接中斷(duàn)處理(lǐ)
9.3.7 優先(xiān)級分組中斷處理
9.3.8 基於VIC PL190的中斷服務例程(chéng)
9.4 總結
第(dì)10章 固件
10.1 固件和引導裝載程序
10.1.1 ARM Firmware Suite
10.1.2 Red Hat Redboot
10.2 例(lì)子:Sandstone
10.2.1 Sandstone的目錄(lù)結構
10.2.2 Sandstone的代碼結構
10.3 總結
第(dì)11章 嵌入式操(cāo)作係統
11.1 基本模塊
11.2 實例:簡單小型操作係(xì)統SLOS
11.2.1 SLOS目錄結構
11.2.2 初始化
11.2.3 存儲模(mó)型
11.2.4 中(zhōng)斷和異常處理
11.2.5 調度程序
11.2.6 上下(xià)文切換
11.2.7 設(shè)備驅動程序框架
11.3 總結
第12章 高速緩衝(chōng)存儲器cache
12.1 存儲層次和cache
12.2 cache結(jié)構
12.2.1 cache存儲器的基本結構
12.2.2 cache控製器的基本操作
12.2.3 cache與主存的關係
12.2.4 組相聯
12.2.5 寫緩衝器
12.2.6 cache效率的衡(héng)量
12.3 cache策略
12.3.1 寫策略(luè)——直寫法或回寫法
12.3.2 cache行替換策(cè)略
12.3.3 cache失效時的分配策略(luè)
12.4 協處理器15與cache
12.5 清除和清理cache
12.5.1 清除cache
12.5.2 清理cache
12.5.3 清理(lǐ)D?cache
12.5.4 使用路(lù)和組索引尋址清理D-cache
12.5.5 使用test-clean命令清理(lǐ)D-cache
12.5.6 在Intel XScale SA110和Intel StrongARM內核中清理D-cache
12.5.7 清理和清除部分cache
12.6 cache鎖定
12.6.1 在cache中鎖定代碼和數據
12.6.2 通過增加路索引來鎖定(dìng)cache
12.6.3 使用鎖定位鎖定cache
12.6.4 在(zài)Intel XScale SA110中(zhōng)鎖定cache行(háng)
12.7 cache與軟件性能
12.8 總結
第(dì)13章 存儲器保護單元MPU
13.1 受保護的區域
13.1.1 重疊區域
13.1.2 背景區域
13.2 初始化MPU,cache和寫緩衝(chōng)器
13.2.1 定義區域的大小和位置
13.2.2 訪問權(quán)限
13.2.3 設置區域的cache和寫(xiě)緩衝器屬性
13.2.4 使能區域和MPU
13.3 MPU係統示例
13.3.1 係統需求
13.3.2 使用存儲器映射分配區域
13.3.3 初始化MPU
13.3.4 初(chū)始化和配(pèi)置區域
13.3.5 完成初始化MPU
13.3.6 受保護係(xì)統的上下文切換
13.3.7 mpuSLOS
13.4 總結
第14章 存儲管理單元
14.1 從(cóng)MPU到MMU
14.2 虛(xū)存如何工作
14.2.1 使用(yòng)頁定義區域
14.2.2 多任務和MMU
14.2.3 虛(xū)存係統的(de)存儲器組織
14.3 ARM MMU的詳情
14.4 頁表
14.4.1 一級頁(yè)表項
14.4.2 L1轉換表基地址
14.4.3 二級頁表項
14.4.4 為嵌入式係統(tǒng)選擇合(hé)適的頁大小
14.5 轉換旁路緩衝器
14.5.1 單步頁(yè)表搜索
14.5.2 2步頁表搜索
14.5.3 TLB操作
14.5.4 TLB鎖定
14.6 域和存儲器訪問權限
14.7 cache和寫緩衝器
14.8 協處(chù)理器CP15和MMU配置
14.9 快速上下文切換擴(kuò)展
14.9.1 FCSE如何使用頁(yè)表(biǎo)和域
14.9.2 使用(yòng)FCSE的提示
14.10 示(shì)例:一個簡單的虛擬存儲係統
14.10.1 第1步:定義(yì)固定的係統軟件區域
14.10.2 第2步:為每個任務定(dìng)義虛存映射
14.10.3 第3步:在物理存(cún)儲器中定位區域
14.10.4 第4步:定義和定位頁(yè)表
14.10.5 第5步:定義頁表和區域數據結構
14.10.6 第6步:初始化MMU、Cache和寫緩衝(chōng)器
14.10.7 第7步:建立上下文切換程序
14.11 MMUSLOS示例
14.12 總結
第15章 ARM體係結構的發展
15.1 ARMv6對高級DSP和SIMD的支持
15.1.1 SIMD算法操作(zuò)
15.1.2 打包指令
15.1.3 複數運算支持
15.1.4 飽和指令
15.1.5 絕對差值求和指令
15.1.6 雙16位乘法指(zhǐ)令
15.1.7 高位(wèi)字乘法
15.1.8 密碼算法乘法擴展
15.2 ARMv6增加的係統(tǒng)和多處理器支持
15.2.1 混合大小端支持
15.2.2 異常處理
15.2.3 多(duō)處理同步原語(yǔ)(Multipro?cessing Synchronization Primitives)
15.3 ARMv6的實現
15.4 ARMv6之後的未來(lái)技術(shù)
15.4.1 TrustZone
15.4.2 Thumb-2
15.5 總結
附錄A ARM和Thumb匯編指令
A.1 如何使(shǐ)用這篇(piān)附錄
A.2 語法
A.2.1 可選表達式
A.2.2 寄存器
A.2.3 立即數
A.2.4 條件和標誌
A.2.5 移位操作
A.3 按字母(mǔ)順序列出(chū)ARM和Thumb指令
A.4 ARM匯編速查
A.4.1 ARM匯編變量(liàng)
A.4.2 ARM匯編標注
A.4.3 ARM匯編表達式(shì)
A.4.4 ARM匯編保留(liú)字
A.5 GNU匯編快速查詢
附錄 BARM和Thumb指令編碼
B.1 ARM指令集編碼
B.2 Thumb指(zhǐ)令集編碼
B.3 程序狀態寄存器
附錄(lù)C 處理器與體係結構
C.1 ARM命名規則
C.2 內核與體係結構
附錄D 指令周期定時
D.1指(zhǐ)令周期定時表的使(shǐ)用
D.2 ARM7TDMI指(zhǐ)令周期定時(shí)
D.3 ARM9TDMI指令周期(qī)定時
D.4 StrongARM1 指令周(zhōu)期定時
D.5 ARM9E指令周期定時
D.6 ARM10E指(zhǐ)令周期定時(shí)
D.7 Intel XScale指(zhǐ)令周期定時
D.8 ARM11指令周期定時
附錄E 建(jiàn)議的參(cān)考讀物
E.1 ARM參考(kǎo)
E.2 算法(fǎ)參考
E.3 存儲器管理與cache體係結構(硬(yìng)件綜述與參(cān)考)
E.4 操作係統參考
請描述您所遇到的錯誤,我們將盡快予以(yǐ)修正,謝謝!
*必填項,請輸入內容