出版時(shí)間:2005-5 出版社:北京航大 作者:斯洛斯 頁數(shù):644
Tag標(biāo)簽:無
內(nèi)容概要
本書從軟件設(shè)計(jì)的角度,全面、系統(tǒng)地介紹了ARM處理器的基本體系結(jié)構(gòu)和軟件設(shè)計(jì)與優(yōu)化方法。內(nèi)容包括:ARM處理器基礎(chǔ);ARM/Thumb指令集;C語言與匯編語言程序的設(shè)計(jì)與優(yōu)化;基本運(yùn)算、操作的優(yōu)化;基于ARM的DSP;異常與中斷處理;固件與嵌入式OS;cache與存儲(chǔ)器管理;ARMv6體系結(jié)構(gòu)的特點(diǎn)等。全書內(nèi)容完整,針對各種不同的ARM內(nèi)核系統(tǒng)結(jié)構(gòu)都有詳盡論述,并有大量的例子和源代碼。附錄給出了完整的ARMv4/v5/Thumb指令的功能、編碼、周期定時(shí)以及匯編參考。 本書適于從事ARM嵌入式系統(tǒng)教學(xué)與研發(fā),或想把其它嵌入式平臺(tái)的軟件移植到ARM平臺(tái)上去的專業(yè)技術(shù)人員使用,要求對ARM處理器有一定的了解,并有C語言和匯編語言基礎(chǔ)。若在編譯原理、操作系統(tǒng)、數(shù)字信號(hào)處理、計(jì)算機(jī)體系結(jié)構(gòu)等方面有一定的基礎(chǔ),則效果會(huì)更好。本書也可作為嵌入式系統(tǒng)專業(yè)方向的本科生和研究生相關(guān)課程的教材或教學(xué)參考書。
作者簡介
Andrew N.Sloss于1992年獲得Herefordshire大學(xué)(英國)計(jì)算機(jī)科學(xué)學(xué)士學(xué)位,英國計(jì)算機(jī)協(xié)會(huì)認(rèn)證注冊工程師(C.Eng,MBCS)。他已在計(jì)算機(jī)行業(yè)工作了16年,從1987年開始參與有關(guān)ARM處理器的研發(fā),在ARM處理器上開發(fā)了眾多領(lǐng)域的應(yīng)用項(xiàng)目,積累了豐富的經(jīng)驗(yàn)。他為Emerald出版集團(tuán)(英國)設(shè)計(jì)了首個(gè)能夠在ARM2和ARM3處理器上運(yùn)行的針對中文和埃及象形文字的編輯系統(tǒng)。他在ARM公司工作了6個(gè)多,目前是ARM在美國加州Los Gatos的技術(shù)銷售工程師,負(fù)責(zé)為開發(fā)新產(chǎn)品的公司提供建議和支持。
書籍目錄
第1章 基于ARM的嵌入式系統(tǒng) 1.1 RISC設(shè)計(jì)思想 1.2 ARM設(shè)計(jì)思想 1.3 嵌入式系統(tǒng)的硬件 1.3.1 ARM總線技術(shù) 1.3.2 AMBA總線協(xié)議 1.3.3 存儲(chǔ)器 1.3.4 外設(shè) 1.4 嵌入式系統(tǒng)的軟件 1.4.1 初始化(啟動(dòng))代碼 1.4.2 操作系統(tǒng) 1.4.3 應(yīng)用程序 1.5 總結(jié)第2章 ARM處理器基礎(chǔ) 2.1 寄存器 2.2 當(dāng)前程序狀態(tài)寄存器 2.2.1 處理器模式 2.2.2 分組寄存器 2.2.3 狀態(tài)和指令集 2.2.4 中斷屏蔽 2.2.5 條件標(biāo)志 2.2.6 條件執(zhí)行 2.3 流水線 2.4 異常、中斷及向量表 2.5 內(nèi)核擴(kuò)展 2.5.1 cache和緊耦合存儲(chǔ)器 2.5.2 存儲(chǔ)管理 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擴(kuò)展 3.7.1 零計(jì)數(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 有符號(hào)數(shù)與無符號(hào)數(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ù)的無符號(hào)重復(fù)除法 5.10.2 把除轉(zhuǎn)換為乘 5.10.3 除數(shù)是常數(shù)的無符號(hào)除法 5.10.4 除數(shù)是常數(shù)的有符號(hào)除法 5.11 浮點(diǎn)運(yùn)算 5.12 內(nèi)聯(lián)函數(shù)和內(nèi)嵌匯編 5.13 移植問題 5.14 總結(jié)第6章 ARM匯編與優(yōu)化 6.1 編寫匯編代碼 6.2 性能分析和周期計(jì)數(shù) 6.3 指令調(diào)整 6.4 寄存器分配 6.4.1 分配變量給寄存器 6.4.2 使用超過14個(gè)的局部變量 6.4.3 最大限度地使用寄存器 6.5 條件執(zhí)行 6.6 循環(huán)結(jié)構(gòu) 6.6.1 減計(jì)數(shù)循環(huán) 6.6.2 展開計(jì)數(shù)循環(huán) 6.6.3 多層嵌套循環(huán) 6.6.4 其它計(jì)數(shù)循環(huán) 6.7 位操作 6.7.1 固定寬度的位域打包和解包 6.7.2 可變寬度編碼的位流打包 6.7.3 可變寬度編碼的位流解包 6.8 高效的switch 6.8.1 在范圍0≤x
媒體關(guān)注與評論
從事ARM嵌入式系統(tǒng)軟件開發(fā)的每一位工程師的桌上都應(yīng)擺著這本書。對于初學(xué)者來說,它是一本詳盡、透徹的使用指南;對于ARM專家來說,它則是一本有益的參考書。從審閱本書的第一稿以來,我就一直在使用這本書,我愿向任何希望從基于ARM的產(chǎn)品獲得最大收益的人推薦這本書。 在過去的10年間,ARM體系統(tǒng)結(jié)構(gòu)已經(jīng)成為世界上最流行的體系結(jié)構(gòu)之一,從蜂窩電話到汽車制動(dòng)系統(tǒng),在這些產(chǎn)品中使用了超過20億片基于ARM的處理器。許多半導(dǎo)體廠商和產(chǎn)品設(shè)計(jì)公司組成了全球范圍的ARM開發(fā)者團(tuán)體,包括軟件開發(fā)者、系統(tǒng)設(shè)計(jì)師和硬件設(shè)計(jì)師。就ARM系統(tǒng)和軟件開發(fā)來說,到目前為止,還沒有其它任何一本書籍能夠真正滿足其需求,本書將填補(bǔ)這一空白?! ”緯w了ARM和Thumb指令集、Intel的XScale處理器,概括了ARM體系結(jié)構(gòu)的不同版本之間的差異,示范了如何實(shí)現(xiàn)DSP算法,解釋了異常和中斷處理,描述了圍繞ARM內(nèi)核的cache技術(shù),以及最有效的存儲(chǔ)器管理技術(shù)。最后一章介紹了ARMv6體系結(jié)構(gòu)的特征和ARM未來的發(fā)展,以及對指令集所做的最新改進(jìn),這些改進(jìn)增強(qiáng)了ARM體系結(jié)構(gòu)的DSP和多媒體處理能務(wù)?! ”臼仗厣 け緯鴱南到y(tǒng)和軟件我角度來描述了ARM內(nèi)核,這是與其它書的顯著差別?! ぷ髡呓Y(jié)合了豐富的ARM軟件工程經(jīng)驗(yàn)和ARM開發(fā)者的需要的廣泛、透徹的知識(shí)?! 刑峁┝嗽S多實(shí)用的運(yùn)行代碼范例,并作了詳盡的解釋,可以從出版商的網(wǎng)站下載: ·包含了一個(gè)簡單的嵌入式操作系統(tǒng)。
編輯推薦
從事ARM嵌入式系統(tǒng)軟件開發(fā)的每一位工程師的桌上都應(yīng)擺著這本書。對于初學(xué)者來說,它是一本詳盡、透徹的使用指南;對于ARM專家來說,它則是一本有益的參考書。從審閱本書的第一稿以來,我就一直在使用這本書,我愿向任何希望從基于ARM的產(chǎn)品獲得最大收益的人推薦這本書。 在過去的10年間,ARM體系統(tǒng)結(jié)構(gòu)已經(jīng)成為世界上最流行的體系結(jié)構(gòu)之一,從蜂窩電話到汽車制動(dòng)系統(tǒng),在這些產(chǎn)品中使用了超過20億片基于ARM的處理器。許多半導(dǎo)體廠商和產(chǎn)品設(shè)計(jì)公司組成了全球范圍的ARM開發(fā)者團(tuán)體,包括軟件開發(fā)者、系統(tǒng)設(shè)計(jì)師和硬件設(shè)計(jì)師。就ARM系統(tǒng)和軟件開發(fā)來說,到目前為止,還沒有其它任何一本書籍能夠真正滿足其需求,本書將填補(bǔ)這一空白?! ”緯w了ARM和Thumb指令集、Intel的XScale處理器,概括了ARM體系結(jié)構(gòu)的不同版本之間的差異,示范了如何實(shí)現(xiàn)DSP算法,解釋了異常和中斷處理,描述了圍繞ARM內(nèi)核的cache技術(shù),以及最有效的存儲(chǔ)器管理技術(shù)。最后一章介紹了ARMv6體系結(jié)構(gòu)的特征和ARM未來的發(fā)展,以及對指令集所做的最新改進(jìn),這些改進(jìn)增強(qiáng)了ARM體系結(jié)構(gòu)的DSP和多媒體處理能務(wù)?! ”臼仗厣 ?本書從系統(tǒng)和軟件我角度來描述了ARM內(nèi)核,這是與其它書的顯著差別。 ?作者結(jié)合了豐富的ARM軟件工程經(jīng)驗(yàn)和ARM開發(fā)者的需要的廣泛、透徹的知識(shí)。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載