BDI2000和GDB联合调试mips
BDI2000和GDB联合调试mips"M.C8O/k+H6u+H9h
程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛;y.j#};@+y6J'r O+u
调试程序是必不可少的,在嵌入式开发中,因为开发的程序在目标板而不在本地主机上运行,所以调试手段也有很大差异,主要用到的工具:BDI2000和GDB. BDI2000有A和C两个版本,在接口上稍有差异,在国内多用C版本。对于不同架构的处理器,BDI的固件是不一样的(所谓固件就是BDI的操作系统).针对adm5120板子的固件是:b20r4kgd.107。 tech.techweb.com.cn-n2e,J$H%q;n6f
%[0y9v(O)[6y)ytech.techweb.com.cn使用之前准备好需要的文件:
#K4D.A-a$R0T2e*t'|TechWeb-技术社区l *.cfg 目标板的配置文件,是关于目标板和主机的IP信息等配置,需要必要的改动;我们这款板子是adm5120.cfg;
2}0P)~/c1i2h3F*c4S&Zl *.def 不用改,是板子处理器的寄存器、内存信息;这里是reg4kc.def; 配置步骤如下:
8i(@5v&i2t2[&O9Vtech.techweb.com.cn#z1B*c,t/~/b!S9U,w1I
0v5L0B+@,k7E's(k程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛
s0r9z/}4n+Ctech.techweb.com.cn1、连线 z&N(`%T(J'S
第一次使用BDI2000要先用串口接到主机上,按照说明书接好Jtag线,BDI2000是通过这根线控制目标板的。用网线连接BDI,主机可以telnet上。要先开BDI再开目标板(配置时只接上电源和串口线即可); tech.techweb.com.cn1d.n*Q'y,{8p&d4s;I
2、配置BDI
/["F2g%b3n-w1m9q解压bdisetup。zip文件,直接make生成 bdisetup配置工具。
-q-g(l:y,^*N用bdisetup(相当于minicom)连接BDI,通过串口更改其IP和配置;TechWeb-技术社区.H.s {;[1v*g*x$R!^
./bdisetup -c -i192.168.81.45 -h192.168.81.137 -m255.255.255.0 -g192.168.81.1 -fadm5120.cfg tech.techweb.com.cn"W/q#o"k y/n"_
(注:adm5120.cfg和reg4kc.def应放在TFTP服务器的根目录下)*G:k;F!V%B/w;{ H
查看刚才的配置:5M!z%i9O3\9D
./bdisetup -v
:W$c$d%}0c!V+W$n程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛显示如下:
'|)c8A/B _3V+x%U8Q,utech.techweb.com.cnBDI Type : BDI2000 Rev.C (SN: 94356926)2b$m)o,y2e!{"L
Loader : V1.05
0m2e)M!Y1R)_tech.techweb.com.cnFirmware : V1.07 bdiGDB for MIPS32
&|*t5`%z9h9Z%HLogic : V1.00 MIPS32/MIPS64
'\0s3Z%w ~4aTechWeb-技术社区MAC : 00-0c-01-94-35-69TechWeb-技术社区;~2@4y2a;b @,r1] e"J
IP Addr : 192.168.81.45tech.techweb.com.cn.p!Y2c$\-@+R&n:C
Subnet : 255.255.255.0
$T/r8m:\;Y,k.z.j1KGateway : 192.168.81.1
)U%]!{/_-V(l4H4}3H#x*{Host IP : 192.168.81.137程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛!I#b-^!X&e&v1V0P5m
Config : adm5120.cfg
-I,~(S2T,\-n7`tech.techweb.com.cn当BDI2000在配置模式时MODE LED会不停地闪烁,且此时tenlet和调试连接会失败。因此,须用下方式退出配置模式。
5n/R;N,m6T3j+N-lTechWeb-技术社区a. ./bdisetup -v -s:@:C)p+j$^1{)h)P
b. 直接断电再过5s再上电。
&W/q8t4p;n'C.U4M
0S-D;M.e5a+}/r%_ Z7\%P3、把adm5120.cfg和reg4kc.def考到tftproot下,这样当telnet上BDI2000时,它会自动到这个目录下找这两个文件对BDI进行配置; TechWeb-技术社区8[4d,d4T,w4V*@%B,S
:h7n/v!o:I+c(`'N#Atech.techweb.com.cn4、telnet
(S&Y;j+P4W6P0W:Z1STechWeb-技术社区telnet BDI2000的IP 然后就可以对目标板操作了;一些命令如下:
0F ]0e3n*I-k-hBDI>go 执行程序;
-Y8X,S$t)f/D3y2A"D:R4d'WTechWeb-技术社区BDI>halt 停止;
"a${ N%_'M/L*aBDI>load 0xa0300000 zImage 下载内核镜像文件; 程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛5s i3I0p:I5e!J1f7Q
BDI>rd pc 看pc寄存器的值; &O8T7k.n1H2G
BDI>ti 单步执行;
1B&X0B;?!A(M r6j)]1nBDI>info 看信息;TechWeb-技术社区7v;m.o0Z T2?
7H,r.Y&C!M
6M3s+t,{.h&P%X
6i;c3r%Z8m
4M2n1N'g+e'W7h p(`(h5C2D$u(M3M
GDB安装使用 tech.techweb.com.cn,n;\7S2t(N$V0a2m X
,|+q*k7k1x7x(w1@源码是gdb-6.4.tar.gz tech.techweb.com.cn%w)]9o"@(W-c0F+P*t,t
1、安装 -v$~"c*W4G,r!J)x(~
./configure –target=mipsel-linux –prefix=/usr/local/bin 生成makefile文件; tech.techweb.com.cn0~ p3Q!D+n7\'Y"K5f3d5_'_)d
Make
7~0z!|6V){:w(},fTechWeb-技术社区 Make install
7m#X;N3m0T-|生成两个工具,mipsel-linux-gdb和mipsel-linux-run;
:\/Y6Z6K%D%y1S0J2^4Q9o;i,h2J6G0J#T!Z
2、调试 ;X1L.z#Z)o%Q2}
源码用-g标志生成带有调试信息的可执行程序。调试的时候是先把带有调试信息的可执行程序传到开发板上,用BDI2000起动起来,然后,在源码目录下用如下命令进入调试状态: TechWeb-技术社区:Q4X"^%`5o
Arm-limux-gdb test 调试test 0L+m8u!V&x a5v$v
然后设置目标:
$y/v4d s5s$f;[ (GDB)Target remote (bdi)ip:2001
%x#v p.Z'G程序开发,操作系统,服务器,源码下载,Linux,Unix,BSD,PHP,Apach,asp,下载,源码,黑客,安全,技术社区,技术论坛单单这样GDB是没有办法自己启动开发板上的程序的,必须用BDI2000启动,用ti命令单步执行一步即可,下面还有些常用命令:
4y:l&F8u:X0I,V3a (GDB)tb start_kernel 设置临时断点;
!V$i5B-t*x+C8}+WTechWeb-技术社区 (GDB)cont 继续执行到断点;
$G4E*I/M7|4K$^tech.techweb.com.cn (GDB)list 列出执行的语句上下文;
!P3d(b'}%E.X0~+E;yTechWeb-技术社区 (GDB)print 变量名 显示变量的值;
|