ARM DS-5實戰開發從入門到精通
-
【作 者】劉照華 Paul Black 蒙國造 編
【I S B N 】978-7-5170-3700-2
【責任編輯】張玉玲
【適用讀者群】科技
【出版時間】2015-10-25
【開 本】16開
【裝幀信息】平裝(光膜)
【版 次】第1版第1次印刷
【頁 數】196
【千字數】254
【印 張】12.25
【定 價】¥38
【叢 書】ARM官方開發工具叢書
【備注信息】
簡介
本書特色
前言
章節列表
精彩閱讀
下載資源
相關圖書
ARM DS-5是ARM官方推出的軟件調試集成開發環境。本書詳細介紹了DS-5的使用和結合硬件DSTREAM完成嵌入式系統的調試,從最基本的安裝、使用到調試和跟蹤功能,再到更高級的CoreSight系統設計和芯片啟動,由淺入深、理論結合ARM開發板實例,很好地闡述了DS-5的功能和使用。
本書主要由ARM內部員工編寫,融入了客戶現場支持時的常見問題和解決方案,并提供了基于ARM開發板的實戰案例,一步步地引導開發者,幫助開發者發現和解決問題。
本書適用于所有ARM開發者,即使是以前從未接觸過DS-5的開發者也能很快掌握它的使用,而已經有DS-5使用經驗的開發者則可在本書中獲取到更多更高級的使用技巧,提高實際操作和解決問題的能力。
真正來自ARM公司一線資深嵌入式及測試專家的技術分享
從實驗環境的安裝調試,到軟件基本功能介紹,再到ARM開發板實戰演練,內容由淺入深
從U-boot、Linux內核和設備驅動,到Linux應用程序的調試,再到對整個系統的性能剖析,講解深入淺出
特別適合于從事底層驅動、Linux和Android嵌入式開發工作的人員
ARM DS-5推向市場已經有些年頭了,這是一款功能強大、基于ARM處理器的嵌入式開發工具,可以幫助開發人員完成從代碼管理和編譯、底層的bootloader和驅動代碼的調試到Linux/Android上層應用程序的調試和整個系統性能優化等一系列工作。
將DS-5的使用編寫成書,既屬偶然,又有其必然。因為在我對客戶進行現場技術支持時,發現還有不少朋友對DS-5的使用和其功能特色比較陌生,這促使我去將DS-5的使用整理成文檔,加上市場上介紹DS-5的書籍非常少,并且ARM內部還沒有出過類似的書籍,于是我開始按照寫書的要求編寫相關的材料。
本書的內容材料大部分來源于ARM官方發布的英文文檔,同時加入了現場支持時的經驗總結、碰到的問題及其解決方案,真正做到理論和實踐相配合。
本書全面介紹了DS-5的功能和使用,特別適合從事底層驅動、Linux和Android嵌入式開發的人員。全書共11章,分為以下4個部分:
(1)第1~4章是DS-5的使用入門篇,系統介紹了DS-5的基本功能和硬件JTAG調試器DSTREAM的安裝和使用,介紹了在Windows和Linux環境下許可證的申請和管理,最后給出一個DS-5的快速使用實例。
(2)第5~7章是DS-5的使用進階篇,進一步闡述了DS-5使用方法,分別介紹如何完成對裸機系統、Linux內核和驅動程序、Linux/Android應用程序的調試和跟蹤,重點介紹如何控制程序的運行和調試嵌入式系統,基本覆蓋開發過程中常見的調試問題和技術手段,因此希望開發者能理解和掌握這部分內容,在使用DS-5調試的過程中隨時查閱。
(3)第8章和第9章是DS-5的高級篇,詳細介紹了ARM CoreSight調試系統,包括CoreSight系統中各個組件的功能和典型的CoreSight系統設計,介紹了DS-5自帶的PCE工具(平臺配置編輯器)和探測CoreSight系統,并生成適合DS-5調試使用的數據庫,對數據庫中的主要文件進行了詳細闡述。
(4)第10章和第11章是實戰篇,將前面各章介紹的技術在實際的ARM開發板上進行實戰演練,內容包括U-Boot、Linux內核和設備驅動、Linux應用程序的調試、Streamline的使用方法、對整個系統的性能剖析和DS-5使用過程中常見的問題及解決辦法。
在本書編寫過程中,單位的領導和同事們給予我恒久的關心、鼓勵和支持;Paul Black給予我深層次的培訓;深圳米爾科技有限公司鼎力相助,完成第10章和第11章的寫作;我的妻子和女兒給予我鼓勵和支持,在此一并表示感謝。
由于編寫時間緊迫,加之作者水平有限,書中難免有疏漏和錯誤之處,敬請廣大讀者評批指正。
劉照華于ARM上海
2015年9月
前言
第1章 DS-5概述 1
1.1 DS-5介紹 1
1.2 DS-5 debugger調試器 2
1.3 DS-5虛擬平臺FVP 3
1.4 DS-5的編譯器 3
1.4.1 ARM編譯器5.0 3
1.4.2 ARM編譯器6.0 4
1.4.3 GNU編譯器 4
1.5 DS-5 Streamline 5
1.6 DS-5硬件調試器DSTREAM 6
1.7 DS-5的版本管理 7
第2章 DS-5的安裝和啟動 8
2.1 主機系統需求 8
2.2 DS-5調試系統需求 9
2.3 DS-5的安裝 9
2.3.1 DS-5的Linux安裝 9
2.3.2 DS-5的Windows安裝 10
2.4 DS-5的啟動 10
2.5 DS-5工作臺窗口簡介 11
第3章 DS-5許可證管理和使用 13
3.1 DS-5許可證的申請 14
3.2 單機鎖定版許可證的安裝 16
3.2.1 在Windows下手動添加許可證 17
3.2.2 在Linux/UNIX下手動添加許可證 17
3.3 網絡版許可證的安裝 18
3.4 網絡版許可證服務器端的設置 19
3.4.1 FlexNet服務器軟件的安裝 19
3.4.2 使用圖形化界面啟動Windows
下的服務器 20
3.4.3 使用命令行啟動Windows下的
服務器 21
3.4.4 使用命令行啟動Linux下的服務器 21
3.4.5 停止FlexNet服務器 21
第4章 DS-5快速使用實例 23
4.1 導入項目 23
4.2 運行FVP實例 25
第5章 DS-5調試器的使用 27
5.1 調試器的概念 27
5.2 DSTREAM固件維護 28
5.2.1 DSTREAM固件升級 29
5.2.2 DSTREAM 的配置 31
5.3 配置和連接調試目標 32
5.3.1 用gdbserver對Linux目標建立
連接 32
5.3.2 配置FVP的連接以調試Linux
應用 35
5.3.3 配置連接調試Linux內核和驅動 36
5.3.4 配置連接到裸板調試 38
5.3.5 配置連接到裸板上的代碼跟蹤器 39
5.3.6 配置Rewind連接調試Linux應用 40
5.3.7 使用gdbserver調試Android應用
和庫 44
5.4 使用FVP調試和跟蹤實例 46
5.5 導出已有的配置 50
5.6 導入已有的啟動配置 51
5.7 斷開目標對象連接 53
第6章 控制程序的運行 54
6.1 加載鏡像文件到調試目標 54
6.2 加載調試信息到調試器 55
6.3 關于傳遞參數到main() 56
6.4 運行鏡像文件 57
6.5 斷點和監視點 57
6.5.1 設置或刪除執行斷點 58
6.5.2 設置或刪除數據監視點 59
6.5.3 查看數據監視點的屬性 60
6.5.4 從文件中導入斷點設置 60
6.5.5 導出斷點設置到文件 61
6.6 條件斷點的使用 61
6.6.1 設置條件斷點時的考慮因素 61
6.6.2 給已有斷點設置條件 62
6.7 關于掛起斷點和監視點 63
6.8 設置跟蹤點 63
6.9 設置Streamline的開始和停止點 64
6.10 單步調試 64
6.11 處理UNIX信號 65
6.12 處理器異常處理 66
6.13 配置調試器路徑替代規則 67
6.14 程序調用stack 69
6.15 代碼跟蹤 70
第7章 調試嵌入式系統 72
7.1 調試訪問AHB、APB和AXI總線 72
7.2 關于虛擬和物理地址 73
7.3 調試管理程序 73
7.4 調試big.LITTLE大小核系統 74
7.5 調試裸機對稱多處理系統 75
7.6 調試多線程應用程序 76
7.7 調試共享庫 77
7.8 調試Linux內核 78
7.9 調試Linux內核模塊 79
7.9.1 調試內嵌模塊 79
7.9.2 調試可加載模塊 79
7.10 調試TrustZone 79
7.11 調試UEFI 80
7.12 關于Rewind應用 81
7.13 調試內存管理單元MMU 81
7.14 調試緩存Cache 82
第8章 使用DS-5啟動和配置芯片平臺 84
8.1 CoreSight 系統介紹 84
8.1.1 調試訪問接口DAP 84
8.1.2 跟蹤源Trace Source 85
8.1.3 跟蹤鏈接Trace Link 86
8.1.4 跟蹤輸出Trace Sink 86
8.1.5 典型的CoreSight系統設計 87
8.2 PCE工具的使用 89
8.3 導入數據庫到DS-5 92
8.4 sdf文件分析 93
8.5 xml文件分析(refer to Paul
Snowball.docx training doc) 94
8.5.1 xml文件頭 94
8.5.2 項目調試類型 94
8.5.3 調試實體 95
8.6 DTSL介紹 95
8.6.1 創建Jython對象 95
8.6.2 DTSL選項對話框 98
第9章 Snapshot設計和使用 100
9.1 Snapshot初始化文件 100
9.2 CoreSight訪問庫 101
9.3 CoreSight訪問庫的移植 102
9.4 使用實例 102
第10章 DS-5與Z-Turn板開發實例 105
10.1 Z-Turn Board硬件平臺介紹 105
10.1.1 平臺概述 105
10.1.2 JTAG調試接口 107
10.1.3 啟動方式 108
10.1.4 硬件連接 108
10.2 簡單裸機工程創建及調試 109
10.2.1 創建工程 109
10.2.2 配置工程并編譯 113
10.2.3 串口設置 116
10.2.4 配置和調試 118
10.2.5 調試界面說明 121
10.3 調試U-Boot 125
10.3.1 準備源代碼 125
10.3.2 配置 125
10.3.3 調試 130
10.4 調試Linux內核 134
10.4.1 配置編譯環境 134
10.4.2 編譯Linux內核 134
10.4.3 準備源代碼 135
10.4.4 內核調試 137
10.5 調試Linux驅動模塊 143
10.5.1 編譯驅動模塊 143
10.5.2 配置調試選項 144
10.5.3 調試 146
10.6 調試Linux應用程序 148
10.6.1 編譯應用程序 148
10.6.2 配置RSE 149
10.6.3 調試 153
10.7 使用Streamline性能分析 159
10.7.1 配置編譯環境 159
10.7.2 編譯Linux內核 159
10.7.3 編譯gator.ko驅動模塊 160
10.7.4 編譯gatord守護線程 161
10.7.5 啟動守護線程 161
10.7.6 采集 162
10.7.7 分析 165
第11章 DS-5常見問題解答 170
11.1 License問題 170
11.2 使用問題 181
- C程序設計實踐教程 [劉衛國]
- C程序設計(慕課版) [劉衛國]
- 程序設計基礎實踐教程(C/C++語言版) [張桂芬 葛麗娜]
- C++案例項目精講 [主編 楊國興]
- SwiftUI完全開發 [李智威 著]
- MySQL數據庫項目式教程 [陳亞峰]
- C語言程序設計習題與實驗指導(第二版) [主編 甄增榮 張賓]
- C語言程序設計(第二版) [主編 甄增榮 田云霞]
- Unity3D虛擬現實應用開發實踐 [主 編 劉龍]
- Python程序設計 [主編 姜春磊 陳虹潔]
- C語言程序設計實踐教程(活頁式) [主編 鄭茵 陳巍 滕泓虬]
- 面向對象程序設計 [主編 張勇 張平華 趙小龍]
- Python程序設計基礎及實戰 [主編 劉健]
- C語言程序設計 [姜雪]
- Python程序設計實踐教程 [王鶴琴 蔡正保]
- C++程序設計實踐教程(第三版) [主編 劉衛國 曹岳輝]
- C++程序設計(第三版) [主編 曹岳輝 劉衛國]
- C語言程序設計項目化教程(活頁式) [主編 張利華 潘曉利]
- 機器人流程自動化(RPA)實戰——基于UiPath [主編 金鑫]
- Python 語言程序設計實踐指導 [主編 張雙獅]
- Python程序設計案例教程 [主編 毛錦庚 鐘肖英 周賢來 ]
- 基于.NET Core框架的分布式系統架構設計 [湯佳 著]
- Python語言程序設計教程 [郭其標 房宜汕]
- Python程序設計 [李國燕 王新強 劉佳 等編著]
- Python程序設計項目化教程(活頁式) [主編 盧鳳偉]
- Java編程基礎案例式教程 [主編 陳艷華 唐春蘭]
- Python語言同步案例習題精解 [主編 肖朝暉]
- Unity應用開發與實戰(微課版) [主 編 程永恒]
- PHP程序設計項目化教程 [主 編 杜海穎]
- 簡單易懂的Python入門教程 [[日]大澤文孝 著]