一.下载gdb-6.4.tar.gz源代码
http://ftp.gnu.org/gnu/gdb/
二.编译 GDB
#tar zxvf gdb-6.4.tar.gz
2.1 编译GDB Server
#cd gdb-6.4
#./configure --target=arm-linux --prefix=/usr/local/arm-gdb
#make
注意: 这里如果你用的是gcc-4.3.2的话,编译可能会出错!你可以改成 gcc-4.1 就可以顺利编译通过
编译ARM用的GDB时出现error: no termcap library found错误的解决方法2009年03月28日 星期六 21:55在Ubuntu下编译gdb时出现如下错误:
........
checking for library containing gethostbyname... none required
checking for library containing socketpair... none required
checking for library containing waddstr... no
checking for library containing dlgetmodinfo... no
checking for library containing tgetent... no
configure: error: no termcap library found
make[1]: *** [configure-gdb] 错误 1
解决方法:sudo apt-get install libncurses5-dev
安装完后,在make就OK了!
#make install // 生成/usr/local/arm-gdb/bin
2.2 编译GDB Client
#cd ./gdb/gdbserver
#export PATH=$PATH:/usr/local/arm-gdb/bin
#./configure --target=arm-linux --host=arm-linux
#vi config.h
//#define HAVA_SYS_REG_H //注释此句
#make CC=arm-softfloat-linux-gnu-gcc //编译用于目标机的stub程序 生成gdbserver是GDB客户端程序,在板子上运行。
三.实战调试
1.编辑文件
# vi gdbtest.c
1 #include <stdio.h>
2
3 int
4 func(int n){
5 int sum=0, i;
6 for (i=0; i<n; i++){
7 sum += i;
8 }
9 return sum;
10 }
11
12 int
13 main(void)
14 {
15 int i;
16 long result = 0;
17 for (i=0; i<=100; i++){
18 result += i;
19 }
20
21 printf("result[1-100] = %d /n", result);
22 printf("resutl[1-225] = %d /n", func(255));
23
24 return 0;
25 }
# arm-linux-gcc -g gdbtest.c -o gdbtest // 交叉编译
2.下载文件到目标板: gdbtest和gdbserver
假设 host pc ip:192.168.1.45
board ip:192.168.1.180
将文件拷贝到目标板上:
先将gdbtest和gdbserver两个文件拷贝到主机的/tftpboot目录下
在目标板的Linux中运行:
#mount 192.168.1.108:/tftpboot /mnt/nfs
#cd /mnt/nfs
#ls
看是否有gdbtest和gdbserver两个文件。
3.运行调试
client board:
#./gdbserver 192.168.1.45:1234 gdbtest // 目标板上运行gdbtest 监听端口1234
host pc:
#cd /usr/local/arm-gdb/bin/
#copy gdbtest /usr/local/arm-gdb/bin/ // 将前面编译的文件gdbtest拷贝到此目录
#./arm-linux-gdb gdbtest
(gdb)target remote 192.168.1.180:1234 // 连接到开发板 成功后就可以进行调试
(gdb)list or l
(gdb)break func
(gdb)break 22
(gdb)info br
(gdb)continue or c // 这里不能用 run
(gdb)next or n
(gdb)print or p result
(gdb) finish // 跳出func函数
(gdb) next
(gdb) quit
建立连接后进行gdb远程调试和gdb本地调试方法相同
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mistyeyed/archive/2010/01/23/5248978.aspx
分享到:
相关推荐
作者:蒙洋,华清远见嵌入式学院讲师。 一、下载gdb-*.tar.gz源代码 http://ftp.gnu.org/gnu/gdb/ 二、编译 GDB #tar zxvf gdb-*.tar.gz 2.1、编译GDB Server #cd gdb-* #./configure --...
本文档介绍的是嵌入式gdb调试环境建立。
以ARM开发板为例详细介绍QT远程调试环境搭建过程。包括搭建网络,挂载NFS,建立OpenSSH, GDB编译以及QT远程调试设置。
第3章 创建嵌入式系统开发环境 3.1 嵌入式Linux的开发环境 3.2 Cygwin 3.3 虚拟机 3.4 交叉编译的预备知识 3.4.1 Make命令和Makefile文件 3.4.2 binutils工具包 3.4.3 gcc编译器 3.4.4 Glibc库 3.4.5 GDB ...
嵌入式Linux开发环境的建立;多线程应用程序设计;串行端口程序设计;A/D接口实验;D/A接口实验;简单的嵌入式WEB服务器实验;RS-485通讯实验;直流与步进电机实验;内核驱动设计入门――模块方式驱动实验;内核...
7.2.3 使用GDB 调试程序 177 7.3 建立uClinux 开发环境 180 7.3.1 建立交叉编译器 181 7.3.2 uClinux 针对硬件的改动 184 7.3.3 编译uClinux 内核 185 7.3.4 内核的加载运行 187 7.4 在uClinux 下开发应用程序 188 ...
第一章为嵌入式开发环境的建立,包括Fedora 13的安装、Quartus II 10.0 sp1 for linux的安装、Nios II EDS 10.0 sp1 for linux的安装、ModelSim-Altera 10.0 for linux的安装、USB Blaster驱动程序的安装以及kermit...
实验一 嵌入式Linux开发环境建立 - 3 - 实验二 gdb-server移植 - 7 - 实验三 移植U-Boot-1.3.1实验 - 10 - 实验四 Linux-2.6.22.6内核编译 - 31 - 实验五 Linux-2.6.22.6内核移植--网卡驱动的添加 - 36 - 实验六 ...
第7部分介绍了嵌入式linux开发中使用gdb进行调试的详细过程。 此文档目前完成了1、2、3部分,后面部分将陆续完成。希望能对各位在嵌入式开发方面献上棉力。 欢迎来信指出文中的不足与错误,欢迎来信探讨技术问题。
6.3 GDB 调试 6.4 添加用户外设 6.5 RTL 仿真 6.6 Flash 编程 6.7 用户指令和DMA 6.8 MP3 播放器 附录 1:Nios 嵌入式处理器 32 位指令集 附录 2:Nios 嵌入式处理器开发板-APEX 20K200E 附录 3:...
6.3 GDB 调试 6.4 添加用户外设 6.5 RTL 仿真 6.6 Flash 编程 6.7 用户指令和 DMA 6.8 MP3 播放器 附录 1:Nios 嵌入式处理器 32 位指令集 附录 2:Nios 嵌入式处理器开发板-APEX 20K200E 附录 3:...
采用SkyEye可以有效地提高工作效率,因为你可以直接在μCOS-II和μCLinux for SkyEye上进行开发和调试,而与具体硬件打交道的各种driver已经存在,且有源码级调试环境,只需关心高层的逻辑设计和实现就可以了。...
系统设计实例 6.1 建立硬件需求 6.2 创建一个基本的Nios设计 6.3 GDB调试 6.4 添加用户外设 6.5 RTL仿真 6.6 Flash编程 6.7 用户指令和DMA 6.8 MP3播放器 附录1:Nios嵌入式...
7.2.3 使用GDB调试程序 7.3 建立uClinux开发环境 7.3.1 建立交叉编译器 7.3.2 uClinux针对硬件的改动 7.3.3 编译uClinux内核 7.3.4 内核的加载运行 7.4 在uClinux下开发应用程序 7.4.1 串行通信 7.4.2 socket编程 ...
7.2.3 使用GDB 调试程序 177 7.3 建立uClinux 开发环境 180 7.3.1 建立交叉编译器 181 7.3.2 uClinux 针对硬件的改动 184 7.3.3 编译uClinux 内核 185 7.3.4 内核的加载运行 187 7.4 在uClinux 下开发应用程序 188 ...
7.2.3 使用GDB 调试程序 177 7.3 建立uClinux 开发环境 180 7.3.1 建立交叉编译器 181 7.3.2 uClinux 针对硬件的改动 184 7.3.3 编译uClinux 内核 185 7.3.4 内核的加载运行 187 7.4 在uClinux 下开发应用程序 188 ...
【实验环境】 1、Ubuntu 7.0.4发行版 2、u-boot-1.3.1 3、FS2410平台 4、交叉编译器 arm-softfloat-linux-gnu-gcc-3.4.5 【实验步骤】 一、建立自己的平台类型 (1)解压文件 #tar jxvf u-boot-1.3.1.tar.bz...
5.9.6. 建立表维护计划 5.9.7. 获取关于表的信息 5.10. MySQL本地化和国际应用 5.10.1. 数据和排序用字符集 5.10.2. 设置错误消息语言 5.10.3. 添加新的字符集 5.10.4. 字符定义数组 5.10.5. 字符串比较支持 5.10.6....