嵌入式軟體調試技術

嵌入式軟體調試技術

《嵌入式軟體調試技術》兼顧理論與實踐。全書首先對調試技術及嵌入式調試手段進行一個概覽,然後重點對linux環境下的嵌入式調試技術進行詳細的講解,最後給出兩個綜合套用實例:MPEG-4視頻播放器的設計和基於GPS的移動定位終端。

基本介紹

  • 書名:嵌入式軟體調試技術
  • 作者:羅克露
  • 出版社電子工業出版社
  • 出版時間:59.00元
嵌入式軟體調試技術,內容簡介,讀者對象,目錄,第1章 軟體調試概述,第2章 邊界掃描測試技術(JTAG),第3章 學習使用GDB調試器,第4章 GDB遠程調試技術,第5章 網路應用程式調試,第6章 多進程與多執行緒調試,第7章 靜態庫與動態庫的調試,第8章 MPEG-4視頻播放器的設計及調試,第9章 基於GPS的移動定位終端,

嵌入式軟體調試技術

作者:陳雲川
編者:羅克露
定價:59.00元
頁碼:482 頁
出版日期:2009年
ISBN:9787121077265
版本:1版
裝幀:平裝
開本:16
叢書名:嵌入式技術與套用叢書
附帶品描述:附VCD光碟一張

內容簡介

在編寫思路上,《嵌入式軟體調試技術》以理論為先、實踐為重;具體到調試技巧和手段上,則全部結合具體實例展開。書中各個實例之間採取從前至後逐步深入的方式,既銜接有序,又便於讀者學習。《嵌入式軟體調試技術》配套光碟包含書中相關的補充資料、與Sitsang評估板相關的工具鏈和原始碼、《嵌入式軟體調試技術》第3~9章的原始碼,以及書中使用到的工具和軟體等。

讀者對象

《嵌入式軟體調試技術》既可作為Linux環境下嵌入式軟體調試技術從入門到精通的學習用書,也可供從事Linux環境下的嵌入式軟體調試的工程人員參考使用。

目錄

第1章 軟體調試概述

1.1 什麼是軟體調試
1.2 軟體調試的分類
1.2.1 靜態調試和動態調試
1.2.2 機器級調試與源碼級調試
1.2.3 任務級調試與系統級調試
1.2.4 本地調試與遠程(交叉)調試
1.3 軟體調試的關鍵技術·斷點
1.3.1 軟體斷點
1.3.2 硬體斷點
1.4 調試器應當遵循的原則
1.4.1 調試器必須反映真實信息
1.4.2 提供儘可能多的程式上下文信息
1.4.3 Heisenberg原則·儘可能減少對被測系統的影響
1.5 嵌入式軟體調試手段
1.5.1 軟體仿真調試·模擬器
1.5.2 ICE·早期手段
1.5.3 BDM·M68K系列及PowerPC等採用的技術
1.5.4 JTAG·調試領域的後起之秀
1.5.5 調試代理·嵌入式調試的基石
1.6 本章小結

第2章 邊界掃描測試技術(JTAG)

2.1 JTAG的背景和原理
2.2 JTAG接口的結構
2.3 測試訪問連線埠(TAP)
2.3.1 測試時鐘輸入TCK
2.3.2 測試模式輸入TMS
2.3.3 測試數據輸入TDI
2.3.4 測試數據輸出TDO
2.3.5 測試復位輸入TRST*
2.3.6 TAP的互聯方式
2.4 測試訪問連線埠控制器(TAP controller)
2.5 指令暫存器
2.6 JTAG指令
2.6.1 公共指令(public)與私有指令(private)
2.6.2 BYPASS指令
2.6.3 SAMPLE指令
2.6.4 PRELOAD指令
2.6.5 EXTEST指令
2.6.6 其他指令
2.7 數據暫存器組
2.7.1 BYPASS暫存器
2.7.2 邊界掃描暫存器
2.7.3 設備ID暫存器
2.7.4 其他數據暫存器
2.8 ARM7TDMI的JTAG調試
2.8.1 調試架構
2.8.2 ARM7TDMI處理器結構
2.8.3 進入調試狀態
2.8.4 JTAG指令
2.8.5 EmbeddedICE-RT邏輯
2.8.6 訪問暫存器和存儲器
2.9 本章小結

第3章 學習使用GDB調試器

3.1 GDB簡介
3.1 1 GDB的啟動和退出
3.1.2 GDB的啟動步驟
3.1.3 GDB的多語言支持
3.2 在編譯時加入調試信息
3.2.1 打開GCC的調試選項-g
3.2.2 代碼最佳化對調試的影響
3.3 在GDB下運行程式
3.3.1 指定要運行的程式
3.3.2 設定程式的運行環境
3.3.3 停止運行
3.4 斷點、監視點與捕捉點
3.4.1 斷點、監視點與捕捉點的設定
3.4.2 斷點的刪除、禁用和使能
3.4.3 條件斷點
3.4.4 斷點命令列表
3.4.5 斷點選單·對函式重載的支持
3.5 繼續(continuing)與單步(stepping)
3.5.1 繼續運行
3.5.2 單步運行
3.5.3 與單步有關的命令
3.5.4 指令級單步命令
3.6 查看數據
3.6.1 用print命令查看數據
3.6.2 查看數據類型
3.6.3 人為數組·查看記憶體中的連續對象
3.6.4 查看存儲器和暫存器
3.6.5 自動顯示列表
3.6.6 使用快捷變數
(convenience variable)
3.6.7 處理C語言宏定義
3.6.8 產生轉儲檔案
3.7 棧幀的回溯與選定
3.7.1 棧幀回溯(backtrace)
3.7.2 棧幀選定
3.7.3 棧幀狀態
3.8 改變程式的執行流程
3.8.1 給變數賦值
3.8.2 使程式從另外的地址繼續執行
3.8.3 向程式傳送信號
3.8.4 調用函式
3.9 其他常用命令
3.9.1 原始碼查看命令
3.9.2 反彙編命令
3.10 實例:Framebuffer與libjpeg混合編程
3.10.1 Framebuffer簡介
3.10.2 libjpeg簡介
3.10.3 程式說明
3.10.4 調試
3.11 GDB命令匯總
3.12 本章小結

第4章 GDB遠程調試技術

4.1 目標平台簡介
4.2 準備工作
4.2.1 minicom終端仿真程式
4.2.2 NFS檔案系統
4.2.3 聯合使用minicom和NFS
4.3 兩種遠程調試方式
4.3.1 gdbserver
4.3.2 遠程插樁(stub)
4.4 編譯arm-linux-gdb
4.5 編譯gdbserver
4.6 連線到遠程目標
4.6.1 啟動gdbserver
4.6.2 串列連線方式
4.6.3 TCP連線方式
4.6.4 UDP連線方式
4.6.5 與遠程目標下線
4.6.6 GDB的遠程調試選項
4.7 實例:調試誤用記憶體的程式
4.7.1 段錯誤
4.7.2 野指針
4.7.3 記憶體泄漏
4.7.4 處理記憶體問題的對策
4.8 實例:音頻採集與回放程式的調試
4.8.1 Linux下的音頻接口
4.8.2 OSS的編程接口
4.8.3 OSS的編程機制
4.8.4 OSS的一般框架
4.8.5 源程式SndKit.c說明
4.8.6 SndKit調試過程
4.9 本章小結

第5章 網路應用程式調試

5.1 套接口編程簡介
5.1.1 基本TCP套接口編程
5.1.2 基本UDP套接口編程
5.2 網路調試和診斷工具
5.2.1 tcpdump
5.2.2 其他工具
5.3 實例:遠程獲取加速度
5.3.1 加速度感測器ADXL202JE簡介
5.3.2 服務端程式
5.3.3 客戶端程式
5.3.4 小結
5.4 實例:通過CDMA傳送短訊息
5.4.1 Linux串口編程概覽
5.4.2 傳送英文短訊息
5.4.3 傳送中文短訊息
5.4.4 小結
5.5 本章小結

第6章 多進程與多執行緒調試

6.1 Linux下的多進程程式調試
6.1.1 進程的創建
6.1.2 GDB對多進程調試的支持
6.1.3 實例:調試simple_fork
6.2 Linux多執行緒程式調試
6.2.1 執行緒的創建、終止和取消
6.2.2 執行緒互斥鎖
6.2.3 條件變數(condition variable)
6.2.4 執行緒的cleanup handler
6.2.5 執行緒特定數據
6.2.6 執行緒引入的問題
6.2.7 GDB對多執行緒調試的支持
6.2.8 實例:調試simple_thread
6.3 本章小結

第7章 靜態庫與動態庫的調試

7.1 靜態程式庫的構建和調試
7.2 動態共享庫的優點和代價
7.3 動態共享庫的命名·soname
7.4 動態共享庫的構建和安裝
7.5 動態共享庫的使用
7.6 動態共享庫的調試方法
7.7 實例:解析AVI檔案
7.7.1 AVI檔案格式介紹
7.7.2 OpenDML所做之擴展
7.7.3 AVI解析之代碼實現
7.7.4 編譯共享庫並安裝到目標板
7.7.5 遠程調試共享庫
7.8 本章小結

第8章 MPEG-4視頻播放器的設計及調試

8.1 概述
8.2 XviD與SDL的構建
8.3 XviD編程接口說明
8.3.1 版本
8.3.2 錯誤碼
8.3.3 色場空間
8.3.4 profile和level定義
8.3.5 像素幅型比(Pixel Aspect Ration)
8.3.6 幀類型
8.3.7 xvid_global()函式
8.3.8 xvid_decore()函式
8.3.9 小結
8.4 SDL編程接口說明
8.4.1 SDL的初始化和退出
8.4.2 SDL視頻子系統函式接口
8.4.3 SDL事件處理子系統函式接口
8.5 整體結構
8.6 輔助模組:event和ping/pong雙緩衝區
8.7 解碼模組設計
8.8 播放模組設計
8.9 驅動模組設計
8.10 本章小結

第9章 基於GPS的移動定位終端

9.1 功能概述
9.2 GPS介紹
9.2.1 GPS定位原理
9.2.2 GPS數據格式
9.3 MiniGUI介紹
9.3.1 MiniGUI體系結構與模型
9.3.2 交叉編譯MiniGUI
9.3.3 為觸控螢幕編寫IAL驅動層
9.3.4 改寫MiniGUI伺服器程式mginit
9.4 在單獨的執行緒中讀取和解析GPS數據
9.4.1 經緯度坐標到像素坐標的映射
9.4.2 雙精度浮點數位元組序的問題
9.4.3 通過異步串口讀寫GPS數據
9.4.4 解析GPS數據
9.4.5 計算歸一化坐標
9.4.6 GPS執行緒
9.4.7 與GUI前端交換數據
9.4.8 GPS接收機模擬程式
9.5 用到的MiniGUI元素
9.5.1 主視窗
9.5.2 控制項
9.5.3 靜態框
9.5.4 按鈕
9.5.5 編輯框
9.5.6 GDI接口與點陣圖操作
9.5.7 定時器
9.5.8 訊息處理過程
9.6 本章小結
參考文獻

相關詞條

熱門詞條

聯絡我們