TOP
0
0
購書領優惠,滿額享折扣!
ARM體系結構與編程(簡體書)
滿額折

ARM體系結構與編程(簡體書)

商品資訊

人民幣定價:28 元
定價
:NT$ 168 元
優惠價
87146
絕版無法訂購
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱
相關商品

商品簡介

目前基於ARM架構的嵌入式CPU在手持移動設備和通信等嵌入式領域佔據絕對市場的狀況,應重視學習嵌入式體系架構,首選是ARM體系架構。編者唐振明認為:學習ARM體系架構不僅是概念的羅列、知識點的講解及理論的貫穿,更重要的是在理解ARM設計理念的同時,要有好的配套實驗或跟蹤的案例,即強調“理論+實踐”的學習方法。《ARM體系結構與編程》就是圍繞這一方法而編寫的,主要內容包括ARM處理器概述、ARM體系結構、ARM編程模型、ARM微處理器的指令系統、ARM匯編語言程序設計、Bootloader啟動代碼分析和ARM RealView MDK集成開發環境,並針對ARM硬件寄存器和RISC指令集做了大量的配套實驗及調試方法,最後在理解以上知識點的基礎上對Bootloader進行了詳細的分析。
《ARM體系結構與編程》適合作為計算機、軟件工程、電氣自動化及電子信息工程等大專生、本科生或研究生課程的教材。·

作者簡介

劉松,知名產品設計師。清華大學美術學院碩士。現任唐恩(北京)產品設計研發中心設計總監。曾任國內著名設計公司洛可可設計總監。獲得德國紅點設計大獎、美國星火設計獎、中國創新設計紅星獎在內的二十多項設計大獎。在產品設計、空間設計、創意設計、衛浴設計等多領域擁有卓越的成績。為眾多知名品牌提供設計,倡導產品原型創新理念。主持設計了北京奧運地鐵10號線、4號線的票務系統,被媒體譽為奧運地鐵設計師。王蕾,交互設計與工業設計師。北京航空航天大學碩士。近五年一直致力於實效性設計研究與交互設計。為多家國際頂尖企業產品設計項目提供專業設計研究報告,並推動設計研究成果的有效轉化。全科學視野設計研究及實效性研究倡導者。·

名人/編輯推薦

《ARM體系結構與編程》適合作為計算機、軟件工程、電氣自動化及電子信息工程等大專生、本科生或研究生課程的教材。

目次

第1章 ARM處理器概述
1.1 嵌入式處理器簡介
1.1.1 嵌入式處理器分類
1.1.2 嵌入式操作系統
1.1.3 嵌入式處理器評價指標
1.2 什麼是ARM
1.2.1 ARM的概念
1.2.2 ARM公司發跡史
1.3 ARM體系結構的命名規則
1.4 ARM系列處理器簡介
1.4.1 ARM7系列
1.4.2 ARM9系列
1.4.3 ARM9E系列
1.4.4 ARM10系列
1.4.5 ARM11系列
1.4.6 SecurCore系列
1.4.7 ARM Cortex-A8處理器
1.5 ARM處理器的技術優勢及其應用
1.6 本章小結
1.7 課後練習

第2章 ARM體系結構
2.1 ARM體系結構的特點
2.1.1 RISC設計思想的體現
2.2 ARM流水線
2.2.1 ARM流水線的概念與原理
2.2.2 流水線的分類
2.2.3 3級流水線ARM組織
2.2.4 5級流水線ARM組織
2.2.5 6級流水線ARM組織
2.2.6 影響流水線性能的因素
2.3 ARM存儲器
2.4 I/O管理
2.5 ARM開發調試方法
2.5.1 指令集模擬器
2.5.2 駐留監控軟件
2.5.3 JTAG仿真調試
2.5.4 基於ULINK在線仿真器
2.6 本章小結
2.7 課後練習

第3章 ARM編程模型
3.1 數據類型
3.1.1 ARM的基本數據類型
3.1.2 浮點數據類型
3.1.3 存儲器大/小端
3.2 處理器工作模式
3.3 ARM寄存器組織
3.3.1 通用寄存器
3.3.2 程序狀態寄存器
3.4 異常中斷處理
3.4.1 異常種類
3.4.2 異常優先級
3.4.3 處理器模式和異常
3.4.4 異常響應流程
3.4.5 從異常處理程序中返回
3.5 本章小結
3.6 課後練習

第4章 ARM微處理器的指令系統
4.1 ARM微處理器的指令集概述
4.1.1 ARM微處理器的指令的分類與格式
4.1.2 指令的條件域
4.2 ARM指令集
4.2.1 數據處理指令
4.2.2 移位指令
4.2.3 乘法指令與乘加指令
4.2.4 批量數據加載/存儲指令
4.2.5 跳轉指令
4.2.6 程序狀態寄存器訪問指令
4.2.7 加載/存儲指令
4.2.8 協處理器指令
4.2.9 異常產生指令
4.3 ARM指令的尋址方式
4.3.1 立即尋址
4.3.2 寄存器尋址
4.3.3 寄存器間接尋址
4.3.4 基址變址尋址
4.3.5 多寄存器尋址
4.3.6 相對尋址
4.3.7 堆棧尋址
4.4 Thumb指令及應用
4.5 本章小結
4.6 課後練習

第5章 ARM匯編語言程序設計
5.1 ARM彙編器所支持的偽操作
5.1.1 符號定義Symbol Definition偽操作
5.1.2 數據定義Data Definition偽操作
5.1.3 彙編控制Assembly Control偽操作
5.1.4 信息報告Reporting偽操作
5.1.5 指令集選擇Instruction Set Selection偽操作
5.1.6 其他偽操作
5.2 ARM彙編器所支持的偽指令
5.2.1 ADR偽指令
5.2.2 ADRL偽指令
5.2.3 MOV32偽指令
5.2.4 LDR偽指令
5.3 匯編語言文件格式
5.3.1 ARM匯編語言語句格式
5.3.2 ARM匯編語言中的符號
5.3.3 匯編語言程序中的表達式和運算符
5.3.4 匯編語言預定義寄存器和協處理器
5.3.5 匯編語言的程序結構
5.3.6 匯編語言子程序調用
5.4 ARM匯編語言與C語言混合編程
5.4.1 在C語言中內嵌匯編語言
5.4.2 在C語言中調用匯編語言的函數
5.4.3 在匯編語言中調用C語言的函數
5.5 本章小結
5.6 課後練習

第6章 Bootload啟動代碼分析
6.1 彙編基礎
6.2 啟動代碼功能模塊分解
6.2.1 程序的入口地址
6.2.2 看門狗及中斷的禁止
6.2.3 系統時鐘初始化
6.2.4 初始化內存控制器
6.2.5 系統堆棧的初始化
6.2.6 建立中斷向量表
6.2.7 跳轉到C語言入口
6.3 Bootload實驗部分
6.3.1 實驗環境
6.3.2 實驗步驟
6.3.3 實驗總結
6.4 Bootload擴展部分-U-Boot分析
6.4.1 Bootloader的引導方式
6.4.2 Bootloader的種類
6.4.3 U-Boot源碼結構
6.4.4 U-Boot的編譯
6.4.5 U-Boot的移植
6.4.6 添加U-Boot命令
6.4.7 U-Boot的調試
6.4.8 U-Boot與內核的關係
6.4.9 U-Boot的常用命令
6.4.1 0 U-Boot的環境變量
6.4.1 1 使用U-Boot
6.5 本章小結
6.6 課後練習

第7章 ARM RealView MDK集成開發環境
7.1 RealView MDK突出特性
7.2 MDK功能介紹
7.2.1 Vision4 IDE
7.2.2 Vision4 IDE主要特性
7.2.3 啟動代碼配置嚮導
7.2.4 Vision4設備模擬器
7.2.5 性能分析器
7.2.6 RealView編譯器
7.2.7 MicroLib
7.2.8 RealView Real-Time Library RealView RTL實時庫
7.2.9 ARM軟件開發工具解決方案
7.3 RealView MDK的使用
7.3.1 Vision4的安裝
7.3.2 創建Vision工程
7.4 Keil MDK編譯器與ULINK2使用
7.4.1 ULINK2概述
7.4.2 ULINK2與MDK的鏈接使用
7.5 Keil MDK編譯器與J-LINK使用
7.5.1 J-LINK概述
7.5.2 J-LINK與MDK的鏈接使用
7.6 Keil MDK編譯器與H-JTAG使用
7.6.1 H-JTAG概述
7.6.2 H-JTAG 調試結構
7.6.3 H-JTAG的安裝
7.6.4 H-JTAG配置
7.6.5 MDK的安裝與設置
7.6.6 調試
7.7 Keil開發工具鏈
7.7.1 用UltraEdit查看和編輯程序源文件
7.7.2 Keil MDK生成BIN過程
7.7.3 ARM工具鏈準備實驗
7.7.4 armasm彙編器的使用
7.7.5 armlink鏈接器的使用
7.7.6 armcc編譯器的使用
7.7.7 FromELF實用工具實驗
7.8 本章小結
7.9 課後練習
參考文獻·

書摘/試閱



6.4.1 Bootloader的引導方式
Linux系統是通過Bootloader引導啟動的。加電后,就要執行Bootloader來初始化系統。系統加電或復位后,所有CPU都會從某個地址開始執行,這是由處理器設計決定的。例如,X86的復位向量在高地址端,ARM處理器在復位時從地址0x00000000取第一條指令。嵌入式系統的開發板都要把板上ROM或Flash映射到這個地址。因此,必須把Bootloader程序存儲在相應的Flash位置。系統加電后,CHU將首先執行它。
主機和目標機之間一般有串口可以連接,Bootloader軟件通常會通過串口來輸入輸出。例如,輸出出錯或者執行結果信息到串口終端,從串口終端讀取用戶控制命令等。Bootloader啟動過程通常是多階段的,這樣既能提供復雜的功能,又有很好的可移植性。例如,從Flash啟動的Bootloader多數是兩階段的啟動過程。從后面U—Boot的內容可以詳細分析這個特性。大多數。Bootloader都包含2種不同的操作模式:本地加載模式和遠程下載模式。這兩種操作模式的區別僅對于開發人員才有意義,也就是不同啟動方式的使用。從最終用戶的角度看,Bootloader的作用就是用來加載操作系統,并不存在所謂的本地加載模式與遠程下載模式的區別。
因為Bootloader的主要功能是引導操作系統啟動,所以我們詳細討論一下各種啟動方式的特點。
(1)網絡啟動方式
這種方式開發板不需要配置較大的存儲介質,與無盤工作站有點類似。但是使用這種啟動方式之前,需要把Bootloader安裝到板上的EPROM或者Flash中。Bootloader通過以太網接口遠程下載Linux內核映像或者文件系統。
使用這種方式也有前提條件,就是目標板需有串口、以太網接口或者其他連接方式。串口一般可以作為控制臺,同時可以用來下載內核映像和RAMDISK文件系統。串口通信傳輸速率過低,不適合用來掛接NFS文件系統。所以以太網接口成為通用的互聯設備,一般的開發板都可以配置10M以太網接口。
對于PDA等手持設備來說,以太網的RJ一45接口顯得大了些,而USB接口,特別是USB的迷你接口,尺寸非常小。對于開發的嵌入式系統,可以把USB接口虛擬成以太網接口來通信。這種方式在開發主機和開發板兩端都需要驅動程序。
另外,還要在服務器上配置啟動相關網絡服務。Bootloader下載文件一般都使用TFTP網絡協議,還可以通過DHCP的方式動態配置IP地址。DHCP/BOOTP服務為Bootloader分配IP地址,配置網絡參數,然后才能夠支持網絡傳輸功能。如果Bootloader可以直接設置網絡參數,就可以不使用DHCP,,TFTP服務為Bootloader客戶端提供文件下載功能,把內核映像和其他文件放在/tftpboot目錄下。這樣Bootloader可以通過簡單的TFTP協議遠程下載內核映像到內存。大部分引導程序都能夠支持網絡啟動方式。例如,BIOS的.PXE(Preboot Execution.Environment)功能就是網絡啟動方式;U—Boot也支持網絡啟動功能。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 146
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區