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