AT91RM9200引导程序的建立(一)建立交叉编译工具链
[root@localhost]make
[root@localhost]make install
顺利的话,则在gdb6.6下生成新的目录,其中gdb工具就在bin目录下。
[root@localhost]ls –l /opt/crosstool/gcc-
/bin
总用量30476
-rwxr-xr-x1 rootroot14335251 12月29 15:53 arm-softfloat-linux-gnu-gdb
-rwxr-xr-x1 rootroot14335296 12月29 15:53 arm-softfloat-linux-gnu-gdbtui
-rwxr-xr-x1 rootroot2489663 12月29 15:52 arm-softfloat-linux-gnu-run
同样在环境变量中添加gdb的路径
[root@localhost]export PATH=$PATH :/opt/crosstool/gcc-
今后调试程序的时候,用arm-softfloat-linux-gnu-gdb来调试。
gdbserver的编译
[root@localhost]cd gdb-6.6
[root@localhost]cd gdb/gdbserver
[root@localhost]./configure --target=arm-softfloat-linux-gnu–-host=arm-softfloat-linux-gnu
[root@localhost]make CC=/opt/crosstool/gcc-
如果不出错的话,将在当前目录下生成两个可执行文件:gdbserver和gdbreplay。以后就可以用gdb+gdbserver调试我们开发板上的程序了。至此,我们的交叉编译工具链已经基本建立。可以用来作为我们bootloader的编译环境了。
GDB+GDBServer的使用
在目标系统上启动gdbserver,其实就是在超级终端下或者minicom下启动gdbserver。这里将gdbserver放在宿主机的NFS设置的共享目录下/home/zzl,该目录挂载在目标板/work下。宿主机的ip为192.168.1.1,目标板的ip为192.168.1.33
超级终端或者minicom下
[root@localhost]cd /work
[root@localhost]./gdbserver 192.168.1.1:1234 hello
出现提示:
Process /work/hello created: pid=69
Listening on port 1234
这时切换到宿主机的控制台,运行
[root@localhost] arm-softfloat-linux-gnu-gdb hello
(gdb)target remote 192.168.2.33:1234
出现提示:
Remote debugging using 192.168.1.33:1234
[New thread 80]
[Switching to thread 80]
0x40002a90 in ??()
同时在minicom下提示:
Remote debugging from host 192.168.2.100
(gdb)
连接成功,这时候就可以输入各种gdb命令如list、continue、next、step、break等进行程序调试了。
对于GDBServer出现的问题
1.GDBServer调试时出现packet error问题。
主要是虚拟机与目标机的网络连接要经过windows,数据包容易丢失。换到Linux系统下则恢复正常。
AT91RM9200引导程序交叉编译工具 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)