注冊(cè) | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁(yè)出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)軟件工程及軟件方法學(xué)嵌入式軟件調(diào)試技術(shù)

嵌入式軟件調(diào)試技術(shù)

嵌入式軟件調(diào)試技術(shù)

定 價(jià):¥59.00

作 者: 羅克露 主編
出版社: 電子工業(yè)出版社
叢編項(xiàng): 嵌入式技術(shù)與應(yīng)用叢書
標(biāo) 簽: 軟件工程/開發(fā)項(xiàng)目管理

ISBN: 9787121077265 出版時(shí)間: 2009-01-01 包裝: 平裝
開本: 16開 頁(yè)數(shù): 482 字?jǐn)?shù):  

內(nèi)容簡(jiǎn)介

  本書兼顧理論與實(shí)踐。全書首先對(duì)調(diào)試技術(shù)及嵌入式調(diào)試手段進(jìn)行一個(gè)概覽,然后重點(diǎn)對(duì)linux環(huán)境下的嵌入式調(diào)試技術(shù)進(jìn)行詳細(xì)的講解,最后給出兩個(gè)綜合應(yīng)用實(shí)例:MPEG-4視頻播放器的設(shè)計(jì)和基于GPS的移動(dòng)定位終端。在編寫思路上,本書以理論為先、實(shí)踐為重;具體到調(diào)試技巧和手段上,則全部結(jié)合具體實(shí)例展開。書中各個(gè)實(shí)例之間采取從前至后逐步深入的方式,既銜接有序,又便于讀者學(xué)習(xí)。本書配套光盤包含書中相關(guān)的補(bǔ)充資料、與Sitsang評(píng)估板相關(guān)的工具鏈和源代碼、本書第3~9章的源代碼,以及書中使用到的工具和軟件等。本書既可作為L(zhǎng)inux環(huán)境下嵌入式軟件調(diào)試技術(shù)從入門到精通的學(xué)習(xí)用書,也可供從事Linux環(huán)境下的嵌入式軟件調(diào)試的工程人員參考使用。

作者簡(jiǎn)介

暫缺《嵌入式軟件調(diào)試技術(shù)》作者簡(jiǎn)介

圖書目錄

上篇 基礎(chǔ)篇
第1章 軟件調(diào)試概述 2
1.1 什么是軟件調(diào)試 2
1.2 軟件調(diào)試的分類 6
1.2.1 靜態(tài)調(diào)試和動(dòng)態(tài)調(diào)試 6
1.2.2 機(jī)器級(jí)調(diào)試與源碼級(jí)調(diào)試 7
1.2.3 任務(wù)級(jí)調(diào)試與系統(tǒng)級(jí)調(diào)試 7
1.2.4 本地調(diào)試與遠(yuǎn)程(交叉)調(diào)試 8
1.3 軟件調(diào)試的關(guān)鍵技術(shù)·斷點(diǎn) 8
1.3.1 軟件斷點(diǎn) 8
1.3.2 硬件斷點(diǎn) 8
1.4 調(diào)試器應(yīng)當(dāng)遵循的原則 9
1.4.1 調(diào)試器必須反映真實(shí)信息 9
1.4.2 提供盡可能多的程序上下文信息 9
1.4.3 Heisenberg原則·盡可能減少對(duì)被測(cè)系統(tǒng)的影響 10
1.5 嵌入式軟件調(diào)試手段 10
1.5.1 軟件仿真調(diào)試·模擬器 10
1.5.2 ICE·早期手段 11
1.5.3 BDM·M68K系列及PowerPC等采用的技術(shù) 12
1.5.4 JTAG·調(diào)試領(lǐng)域的后起之秀 13
1.5.5 調(diào)試代理·嵌入式調(diào)試的基石 15
1.6 本章小結(jié) 15
第2章 邊界掃描測(cè)試技術(shù)(JTAG) 16
2.1 JTAG的背景和原理 16
2.2 JTAG接口的結(jié)構(gòu) 19
2.3 測(cè)試訪問(wèn)端口(TAP) 20
2.3.1 測(cè)試時(shí)鐘輸入TCK 20
2.3.2 測(cè)試模式輸入TMS 20
2.3.3 測(cè)試數(shù)據(jù)輸入TDI 21
2.3.4 測(cè)試數(shù)據(jù)輸出TDO 21
2.3.5 測(cè)試復(fù)位輸入TRST* 21
2.3.6 TAP的互聯(lián)方式 21
2.4 測(cè)試訪問(wèn)端口控制器(TAP controller) 22
2.5 指令寄存器 27
2.6 JTAG指令 27
2.6.1 公共指令(public)與私有指令(private) 27
2.6.2 BYPASS指令 28
2.6.3 SAMPLE指令 29
2.6.4 PRELOAD指令 29
2.6.5 EXTEST指令 29
2.6.6 其他指令 29
2.7 數(shù)據(jù)寄存器組 30
2.7.1 BYPASS寄存器 31
2.7.2 邊界掃描寄存器 31
2.7.3 設(shè)備ID寄存器 32
2.7.4 其他數(shù)據(jù)寄存器 32
2.8 ARM7TDMI的JTAG調(diào)試 32
2.8.1 調(diào)試架構(gòu) 33
2.8.2 ARM7TDMI處理器結(jié)構(gòu) 33
2.8.3 進(jìn)入調(diào)試狀態(tài) 34
2.8.4 JTAG指令 35
2.8.5 EmbeddedICE-RT邏輯 36
2.8.6 訪問(wèn)寄存器和存儲(chǔ)器 38
2.9 本章小結(jié) 41
中篇 系統(tǒng)篇
第3章 學(xué)習(xí)使用GDB調(diào)試器 44
3.1 GDB簡(jiǎn)介 44
3.1 1 GDB的啟動(dòng)和退出 45
3.1.2 GDB的啟動(dòng)步驟 50
3.1.3 GDB的多語(yǔ)言支持 50
3.2 在編譯時(shí)加入調(diào)試信息 51
3.2.1 打開GCC的調(diào)試選項(xiàng)-g 51
3.2.2 代碼優(yōu)化對(duì)調(diào)試的影響 52
3.3 在GDB下運(yùn)行程序 53
3.3.1 指定要運(yùn)行的程序 53
3.3.2 設(shè)置程序的運(yùn)行環(huán)境 54
3.3.3 停止運(yùn)行 60
3.4 斷點(diǎn)、監(jiān)視點(diǎn)與捕捉點(diǎn) 60
3.4.1 斷點(diǎn)、監(jiān)視點(diǎn)與捕捉點(diǎn)的設(shè)置 61
3.4.2 斷點(diǎn)的刪除、禁用和使能 75
3.4.3 條件斷點(diǎn) 82
3.4.4 斷點(diǎn)命令列表 87
3.4.5 斷點(diǎn)菜單·對(duì)函數(shù)重載的支持 89
3.5 繼續(xù)(continuing)與單步(stepping) 90
3.5.1 繼續(xù)運(yùn)行 91
3.5.2 單步運(yùn)行 91
3.5.3 與單步有關(guān)的命令 94
3.5.4 指令級(jí)單步命令 97
3.6 查看數(shù)據(jù) 99
3.6.1 用print命令查看數(shù)據(jù) 99
3.6.2 查看數(shù)據(jù)類型 103
3.6.3 人為數(shù)組·查看內(nèi)存中的連續(xù)對(duì)象 105
3.6.4 查看存儲(chǔ)器和寄存器 108
3.6.5 自動(dòng)顯示列表 111
3.6.6 使用快捷變量(convenience variable) 114
3.6.7 處理C語(yǔ)言宏定義 115
3.6.8 產(chǎn)生轉(zhuǎn)儲(chǔ)文件 116
3.7 棧幀的回溯與選定 117
3.7.1 棧幀回溯(backtrace) 118
3.7.2 棧幀選定 120
3.7.3 棧幀狀態(tài) 121
3.8 改變程序的執(zhí)行流程 122
3.8.1 給變量賦值 122
3.8.2 使程序從另外的地址繼續(xù)執(zhí)行 124
3.8.3 向程序發(fā)送信號(hào) 125
3.8.4 調(diào)用函數(shù) 127
3.9 其他常用命令 128
3.9.1 源代碼查看命令 128
3.9.2 反匯編命令 129
3.10 實(shí)例:Framebuffer與libjpeg混合編程 131
3.10.1 Framebuffer簡(jiǎn)介 131
3.10.2 libjpeg簡(jiǎn)介 133
3.10.3 程序說(shuō)明 135
3.10.4 調(diào)試 143
3.11 GDB命令匯總 146
3.12 本章小結(jié) 148
第4章 GDB遠(yuǎn)程調(diào)試技術(shù) 149
4.1 目標(biāo)平臺(tái)簡(jiǎn)介 149
4.2 準(zhǔn)備工作 151
4.2.1 minicom終端仿真程序 151
4.2.2 NFS文件系統(tǒng) 154
4.2.3 聯(lián)合使用minicom和NFS 157
4.3 兩種遠(yuǎn)程調(diào)試方式 159
4.3.1 gdbserver 159
4.3.2 遠(yuǎn)程插樁(stub) 160
4.4 編譯arm-linux-gdb 160
4.5 編譯gdbserver 162
4.6 連接到遠(yuǎn)程目標(biāo) 163
4.6.1 啟動(dòng)gdbserver 163
4.6.2 串行連接方式 164
4.6.3 TCP連接方式 165
4.6.4 UDP連接方式 166
4.6.5 與遠(yuǎn)程目標(biāo)斷開連接 166
4.6.6 GDB的遠(yuǎn)程調(diào)試選項(xiàng) 166
4.7 實(shí)例:調(diào)試誤用內(nèi)存的程序 168
4.7.1 段錯(cuò)誤 168
4.7.2 野指針 171
4.7.3 內(nèi)存泄漏 174
4.7.4 處理內(nèi)存問(wèn)題的對(duì)策 176
4.8 實(shí)例:音頻采集與回放程序的調(diào)試 176
4.8.1 Linux下的音頻接口 176
4.8.2 OSS的編程接口 177
4.8.3 OSS的編程機(jī)制 178
4.8.4 OSS的一般框架 181
4.8.5 源程序SndKit.c說(shuō)明 181
4.8.6 SndKit調(diào)試過(guò)程 190
4.9 本章小結(jié) 193
第5章 網(wǎng)絡(luò)應(yīng)用程序調(diào)試 194
5.1 套接口編程簡(jiǎn)介 194
5.1.1 基本TCP套接口編程 198
5.1.2 基本UDP套接口編程 203
5.2 網(wǎng)絡(luò)調(diào)試和診斷工具 206
5.2.1 tcpdump 207
5.2.2 其他工具 210
5.3 實(shí)例:遠(yuǎn)程獲取加速度 212
5.3.1 加速度傳感器ADXL202JE簡(jiǎn)介 212
5.3.2 服務(wù)端程序 213
5.3.3 客戶端程序 218
5.3.4 小結(jié) 224
5.4 實(shí)例:通過(guò)CDMA發(fā)送短消息 224
5.4.1 Linux串口編程概覽 224
5.4.2 發(fā)送英文短消息 229
5.4.3 發(fā)送中文短消息 240
5.4.4 小結(jié) 247
5.5 本章小結(jié) 248
第6章 多進(jìn)程與多線程調(diào)試 249
6.1 Linux下的多進(jìn)程程序調(diào)試 249
6.1.1 進(jìn)程的創(chuàng)建 249
6.1.2 GDB對(duì)多進(jìn)程調(diào)試的支持 251
6.1.3 實(shí)例:調(diào)試simple_fork 253
6.2 Linux多線程程序調(diào)試 255
6.2.1 線程的創(chuàng)建、終止和取消 256
6.2.2 線程互斥鎖 261
6.2.3 條件變量(condition variable) 263
6.2.4 線程的cleanup handler 267
6.2.5 線程特定數(shù)據(jù) 268
6.2.6 線程引入的問(wèn)題 272
6.2.7 GDB對(duì)多線程調(diào)試的支持 272
6.2.8 實(shí)例:調(diào)試simple_thread 275
6.3 本章小結(jié) 279
第7章 靜態(tài)庫(kù)與動(dòng)態(tài)庫(kù)的調(diào)試 280
7.1 靜態(tài)鏈接庫(kù)的構(gòu)建和調(diào)試 280
7.2 動(dòng)態(tài)共享庫(kù)的優(yōu)點(diǎn)和代價(jià) 287
7.3 動(dòng)態(tài)共享庫(kù)的命名·soname 289
7.4 動(dòng)態(tài)共享庫(kù)的構(gòu)建和安裝 291
7.5 動(dòng)態(tài)共享庫(kù)的使用 292
7.6 動(dòng)態(tài)共享庫(kù)的調(diào)試方法 292
7.7 實(shí)例:解析AVI文件 298
7.7.1 AVI文件格式介紹 298
7.7.2 OpenDML所做之?dāng)U展 303
7.7.3 AVI解析之代碼實(shí)現(xiàn) 309
7.7.4 編譯共享庫(kù)并安裝到目標(biāo)板 330
7.7.5 遠(yuǎn)程調(diào)試共享庫(kù) 330
7.8 本章小結(jié) 334
下篇 應(yīng)用篇
第8章 MPEG-4視頻播放器的設(shè)計(jì)及調(diào)試 336
8.1 概述 336
8.2 XviD與SDL的構(gòu)建 337
8.3 XviD編程接口說(shuō)明 339
8.3.1 版本 339
8.3.2 錯(cuò)誤碼 340
8.3.3 色場(chǎng)空間 340
8.3.4 profile和level定義 341
8.3.5 像素幅型比(Pixel Aspect Ration) 341
8.3.6 幀類型 341
8.3.7 xvid_global()函數(shù) 342
8.3.8 xvid_decore()函數(shù) 344
8.3.9 小結(jié) 350
8.4 SDL編程接口說(shuō)明 350
8.4.1 SDL的初始化和退出 350
8.4.2 SDL視頻子系統(tǒng)函數(shù)接口 351
8.4.3 SDL事件處理子系統(tǒng)函數(shù)接口 355
8.5 整體結(jié)構(gòu) 359
8.6 輔助模塊:event和ping/pong雙緩沖區(qū) 361
8.7 解碼模塊設(shè)計(jì) 375
8.8 播放模塊設(shè)計(jì) 393
8.9 驅(qū)動(dòng)模塊設(shè)計(jì) 407
8.10 本章小結(jié) 410
第9章 基于GPS的移動(dòng)定位終端 411
9.1 功能概述 411
9.2 GPS介紹 412
9.2.1 GPS定位原理 412
9.2.2 GPS數(shù)據(jù)格式 414
9.3 MiniGUI介紹 417
9.3.1 MiniGUI體系結(jié)構(gòu)與模型 418
9.3.2 交叉編譯MiniGUI 419
9.3.3 為觸摸屏編寫IAL驅(qū)動(dòng)層 421
9.3.4 改寫MiniGUI服務(wù)器程序mginit 432
9.4 在單獨(dú)的線程中讀取和解析GPS數(shù)據(jù) 437
9.4.1 經(jīng)緯度坐標(biāo)到像素坐標(biāo)的映射 437
9.4.2 雙精度浮點(diǎn)數(shù)字節(jié)序的問(wèn)題 441
9.4.3 通過(guò)異步串口讀寫GPS數(shù)據(jù) 443
9.4.4 解析GPS數(shù)據(jù) 444
9.4.5 計(jì)算歸一化坐標(biāo) 447
9.4.6 GPS線程 448
9.4.7 與GUI前端交換數(shù)據(jù) 451
9.4.8 GPS接收機(jī)模擬程序 453
9.5 用到的MiniGUI元素 454
9.5.1 主窗口 455
9.5.2 控件 457
9.5.3 靜態(tài)框 460
9.5.4 按鈕 461
9.5.5 編輯框 465
9.5.6 GDI接口與位圖操作 468
9.5.7 定時(shí)器 473
9.5.8 消息處理過(guò)程 474
9.6 本章小結(jié) 479
參考文獻(xiàn) 480

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)