ARM體係結構與編程(第2版)

ARM體係結構與編程(第2版) 下載 mobi epub pdf 電子書 2024


簡體網頁||繁體網頁
杜春雷 著



點擊這裡下載
    

想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

發表於2024-11-09

類似圖書 點擊查看全場最低價


圖書介紹

齣版社: 清華大學齣版社
ISBN:9787302403425
版次:2
商品編碼:11742624
品牌:清華大學
包裝:平裝
開本:16開
齣版時間:2015-07-01
用紙:膠版紙
頁數:512
字數:797
正文語種:中文


相關圖書





圖書描述

內容簡介

  ARM處理器是一種16/32位的高性能、低成本、低功耗的嵌入式RISC微處理器,由ARM公司設計,然後授權給各半導體廠商生産,它目前已經成為應用最為廣泛的嵌入式處理器。《ARM體係結構與編程(第2版)》共為分14章,對ARM處理器的體係結構、指令係統和開發工具進行瞭比較全麵的介紹。其中包括ARM體係、ARM程序設計模型、ARM匯編語言程序設計、ARM C/C++語言程序設計、ARM連接器的使用、ARM集成開發環境CodeWarrior IDE的介紹及高性能的調試工具ADW的使用。並在此基礎上介紹一些典型的基於ARM體係的嵌入式應用係統設計的基本技術。通過閱讀本書,可以使讀者掌握開發基於ARM的應用係統的各方麵的知識。本書既可作為學習ARM技術的培訓材料,也可作為嵌入式係統開發人員的參考手冊。

目錄

第1章 ARM概述及其基本編程模型 1

1.1 ARM技術的應用領域及其特點 1

1.2 ARM體係結構的版本及命名方法 2

1.3 ARM處理器係列 7

1.4 ARM處理器的運行模式 11

1.5 ARM寄存器介紹 11

1.6 ARM體係的異常中斷 17

1.7 ARM體係中的存儲係統 19

第2章 ARM指令分類及其尋址方式 22

2.1 ARM指令集概要介紹 22

2.2 ARM指令的尋址方式 24

第3章 ARM指令集介紹 61

3.1 ARM指令集 61

3.2 一些基本的ARM指令功能段 110

3.3 Thumb指令介紹 120

第4章 ARM匯編語言程序設計 122

4.1 僞操作 122

4.2 ARM匯編語言僞指令 151

4.3 ARM匯編語言語句的格式 153

4.4 ARM匯編語言程序的格式 162

4.5 ARM匯編編譯器的使用 164

4.6 匯編程序設計舉例 166

第5章 ARM的存儲係統 175

5.1 ARM存儲係統概述 175

5.2 ARM中用於存儲管理的係統控製

協處理器CP15 176

5.3 存儲器管理單元MMU 186

5.4 高速緩衝存儲器和寫緩衝區 205

5.5 快速上下文切換技術 217

5.6 與存儲係統相關的程序設計指南 219

5.7 ARM存儲係統的實例 225

第6章 ATPCS介紹 242

6.1 ATPCS概述 242

6.2 基本ATPCS 242

6.3 幾種特定的ATPCS 246

第7章 ARM程序和Thumb程序混閤

使用 250

7.1 概述 250

7.2 在匯編語言程序中通過用戶代碼

支持interwork 251

7.3 在C/C++程序中實現interwork 256

7.4 在匯編語言程序中通過連接器

支持interwork 259

第8章 C/C++以及匯編語言的混閤

編程 263

8.1 內嵌匯編器的使用 263

8.2 從匯編程序中訪問C程序變量 270

8.3 匯編程序、C程序以及C++程序的

相互調用 271

第9章 異常中斷處理 276

9.1 ARM中的異常中斷處理概述 276

9.2 進入和退齣異常中斷的過程 279

9.3 在應用程序中安排異常中斷處理

程序 285

9.4 SWI異常中斷處理程序 288

9.5 FIQ和IRQ異常中斷處理程序 297

9.6 復位異常中斷處理程序 302

9.7 未定義指令異常中斷 302

9.8 指令預取中止異常中斷處理程序 303

9.9 數據訪問中止異常中斷處理程序 303

第10章 ARM C/C++編譯器 304

10.1 ARM C/C++編譯器概述 304

10.2 ARM編譯器命令行格式 306

10.3 ARM編譯器中的pragmas 319

10.4 ARM編譯器特定的關鍵詞 321

10.5 ARM編譯器支持的基本數據

類型 335

10.6 ARM編譯器中的預定義宏 337

10.7 ARM中的C/C++庫 339

第11章 ARM連接器 347

11.1 ARM映像文件 347

11.2 ARM連接器介紹 351

11.3 ARM連接器生成的符號 353

11.4 連接器的優化功能 354

11.5 運行時庫的使用 355

11.6 從一個映像文件中使用另一個映像

文件中的符號 359

11.7 隱藏或者重命名全局符號 362

11.8 ARM連接器的命令行選項 363

11.9 使用scatter文件定義映像文件的

地址映射 371

第12章 嵌入式應用程序示例 384

12.1 嵌入式應用程序設計的基本知識 384

12.2 使用semihosting的C語言程序

示例 388

12.3 一個嵌入式應用係統示例 392

12.4 進行ROM/RAM地址重映射的

嵌入式應用係統 401

12.5 一個嵌入式操作係統示例 405

第13章 使用CodeWarrior 412

13.1 CodeWarrior for ARM概述 412

13.2 簡單工程項目的使用 413

13.3 配置生成目標 424

13.4 復雜工程項目的使用 451

13.5 工程項目模闆 456

13.6 編譯和連接工程項目 461

第14章 ARM體係中的調試方法 465

14.1 ARM體係中的調試係統概述 465

14.2 基於Angel的調試係統 466

14.3 基於JTAG的調試係統 495

14.4 ADW使用介紹 498

參考文獻 513

精彩書摘

  其中的符號及參數說明如下。

  :是指令助記符,如ADD錶示算術加操作指令。

  {}:錶示指令執行的條件。

  {S}:決定指令的操作是否影響CPSR的值。

  :錶示目標寄存器。

  :錶示包含第1個操作數的寄存器。

  :錶示第2個操作數。

  通常有下麵3種格式。

  (1) 立即數方式。每個立即數由一個8位的常數循環右移偶數位得到。其中循環右移的位數由一個4位二進製的兩倍錶示。如果立即數記作,8位常數記作immed_8,4位的循環右移值記作rotate_imm,則有:

  = immed_8循環右移(2*rotate_imm)

  這樣並不是每一個32位的常數都是閤法的立即數,隻有能夠通過上麵構造方法得到的纔是閤法的立即數。下麵的常數是閤法的立即數:

  0Xff,0x104,0xff0,0xff00

  而下麵的數不能通過上述構造方法得到,則不是閤法的立即數:

  0x101,0x102,0xFF1

  同時按照上麵的構造方法,一個閤法的立即數可能有多種編碼方法。如0x3F0是一個閤法的立即數,它可以采用下麵兩種編碼方法:

  immed_8=0x3F,rotate_imm=0xE 或者

  immed_8=0xFC,rotate_imm=0Xf

  但是,由於這種立即數的構造方法中包含瞭循環移位操作,而循環移位操作會影響CPSR的條件標誌位C。因此,同一個閤法的立即數由於采用瞭不同的編碼方式,將使某些指令的執行産生不同的結果,這是不能允許的。ARM匯編編譯器按照下麵的規則來生成立即數的編碼。

  當立即數數值在0和0xFF範圍中時,令immed_8=,rotate_ imm=0。

  其他情況下,匯編編譯器選擇使rotate_imm數值最小的編碼方式。

  (2) 寄存器方式。在寄存器尋址方式下,操作數即為寄存器的數值。如下例所示:

  MOV R3,R2 ; 將R2的數值放到R3中

  ADD R0,R1,R2 ; R0的數值等於R1的數值加上R2的數值

  (3) 寄存器移位方式。寄存器移位方式的操作數為寄存器的數值做相應的移位(或者循環移位)而得到。具體的移位(或者循環移位)的方式有下麵幾種。

  ASR:算術右移。

  LSL:邏輯左移。

  LSR:邏輯右移。

  ROR:循環右移。

  RRX:擴展的循環右移。

  移位(或者循環移位)的位數可以用立即數方式或者寄存器方式錶示。

  下麵是一些寄存器移位方式的操作數示例:

  MOV R0,R1,LSL #3 ; R0=R1*(2**3)

  ADD R0,R1,R1,LSL #3 ; R0=R1+R1*(2**3)

  SUB R0,R1,R2,LSR #4 ; R0=R1-R2/(2**4)

  MOV R0,R1,ROR R2 ; R0=R1循環右移R2位

  數據處理指令操作數的具體尋址方式有下麵11種。

  #

  , LSL #

  , LSL

  , LSR #

  , LSR

  , ASR #

  , ASR

  , ROR #

  , ROR

  , RRX

  1. #

  指令編碼格式

  31 28 27 25 24 21 20 19 16 15 12 11 8 7 0

  cond 0 0 1 opcode S Rn Rd rotate_imm immed_8

  操作數生成方法

  指令的操作數即為立即數#。立即數#的生成方法見前麵章節的介紹。當rotate_imm=0時,循環器的進位值(即 Carry-out 位)為CPSR中的C條件標誌位;當rotate_imm!=0時,循環器的進位值(即 Carry-out 位)為操作數的最高位bit[31]。

  指令中操作數的語法格式

  #

  其中,= immed_8循環右移(2*rotate_imm)。

  指令中操作數尋址操作的僞代碼

  shifter_operand = immed_8 R ARM體係結構與編程(第2版) 下載 mobi epub pdf txt 電子書 格式


ARM體係結構與編程(第2版) mobi 下載 pdf 下載 pub 下載 txt 電子書 下載 2024

ARM體係結構與編程(第2版) 下載 mobi pdf epub txt 電子書 格式 2024

ARM體係結構與編程(第2版) 下載 mobi epub pdf 電子書
想要找書就要到 圖書大百科
立刻按 ctrl+D收藏本頁
你會得到大驚喜!!

用戶評價

評分

感覺像是一本教科書,可以看看

評分

書很不錯,學arm linux驅動必備書籍,第2版與第一版差彆不是很大。。

評分

很給力,好東西

評分

還沒看,不過友人推薦這本。

評分

送貨很快,快遞小哥很負責

評分

這本書不錯,比較全麵。寫的透徹,深入骨髓。適閤學習翻閱。

評分

書是正版,可裏麵的書給摺的不敢恭維,哈哈哈哈哈哈哈,新年大吉!

評分

書質量非常好 喜歡這種泛黃的紙張!

評分

一本很好的參考手冊,初學使用還是有點睏難

類似圖書 點擊查看全場最低價

ARM體係結構與編程(第2版) mobi epub pdf txt 電子書 格式下載 2024


分享鏈接




相關圖書


本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

友情鏈接

© 2024 book.teaonline.club All Rights Reserved. 圖書大百科 版權所有