ARM DS-5實(shí)戰(zhàn)開發(fā)從入門到精通

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