建構 Insight 6.1
V1.2
email: mesmerli@hotmail.com
什麼是 Insight?
本文主要介紹如何建構搭配 ARM 處理器的應用程式除錯工具。
Insight 是一個可以搭配 gdbserver 的圖形化除錯工具。
建構 Insight 6.1
解壓縮 insight 6.1 所有原始碼到一個檔案夾,
接下來,在該檔案夾下建立以下檔案夾
- insight-arm-linux-6.1
- gdbserver-arm-6.1.
完畢後,檔案夾結構應如下所示:
- ./gdbserver-arm-6.1 (empty)
- ./insight-6.1 (the source tree)
- ./insight-arm-linux-6.1 (empty)
# cd /usr/src/creator/nfs/Day1/insight-6.1/insight-arm-linux-6.1
# ../insight-6.1/configure --host=i686-pc-linux --target=arm-linux --prefix=/usr/local/insight-arm-6.1 --enable-sim
# make
# make install
接下來,進入 gdbserver-arm-6.1 檔案夾建構 gdbserver
ARM 版本須進行以下修改:
修改 linux-arm-low.c
1. vi ../insight-6.1/gdb/gdbserver/linux-arm-low.c
2. remark #include <sys/reg.h> in line 26
# ../insight-6.1/gdb/gdbserver/configure --target=arm-linux
Note:
修改 Make File
1. vi Makefile
2. change gcc to arm-linux-gcc in line 52
# make
使用Insight 與 gdbserver 除錯
- 在 gdbserver-arm-6.1 目錄夾找到 "gdbserver",並把它放到您的實驗板檔案系統中。
- 重新編譯您的應用程式,並且使用 -ggdb 選項重新編譯。
- 啟動您的實驗板,並使用以下的命令在實驗板執行應用程式
# gbdserver <your PC TCP/IP address>:<2345 or your port> <your program> <your arguments> - 在 Host 端執行 Insight。 /usr/local/insight-arm-6.1/bin/arm-linux-insight
- 在 Insight 圖形介面,依下面說明操作
在 "File" -> "Target settings" 選單設定以下選項
Connection:
Target: GDBserver/TCP
Hostname:
Port: 2345 (or any free port you want)
展開 "More options",
Run Options:
[x] Attach to Target
[ ] Download program
Run Method:
< > Run program
<x>Continue from last stop
在 global options 中,確認 "Set breakpoint at main" 被選取。
- 在 Insight選單中選擇"run"->"Run",並選擇 ARM program binary。
- gdbserver 此時應已與 Insight 連線,所以此時可使用 Insight 除錯實驗板上的應用程式。
後記
- gdbserver只適合除錯應用程式,無法除錯 Linux 核心或核心模組 (Kernel Module)。
- 如不想使用圖形化介面,亦可使用 GDB 文字模式除錯。
0 意見:
張貼留言