linux内核驱动程序调试环境搭建-kgdb
1. redhat6 _x64 内核2.6.32
编译2.6内核,步骤如下:
make menuconfig
make
make modules_install
make install
(附:编译2.4内核,步骤如下:
make menuconfig
make dep
make bzimage
make modules
make modules_install
make install)
make install后出现以下信息,忽略。
sh /usr/src/linux-2.6.32/arch/x86/boot/install.sh 2.6.32 arch/x86/boot/bzImage \
System.map "/boot"
ERROR: modinfo: could not find module xt_CHECKSUM
ERROR: modinfo: could not find module vmhgfs
ERROR: modinfo: could not find module nf_defrag_ipv6
ERROR: modinfo: could not find module vsock
ERROR: modinfo: could not find module vhost_net
ERROR: modinfo: could not find module macvtap
ERROR: modinfo: could not find module vmware_balloon
ERROR: modinfo: could not find module vmci
2.kgdb 需要两台计算机通过串口进行远程调试,两台计算机分别为:
Client(Development):开发机,也称客户机,将在该计算机上进行程序的开发,GDB将在本计算机上运行.用于输入命令控制Server(target)的运行.
Server(Target): 目标机,也称服务器,就是被调试的计算机,在Development机上开发好的内核模块程序将拷贝到Target上运行,其运行受到Development命令的控制.
Client端选择"this end is the client", "the other end is a virtual machine"
Server端选择"this end is the server", "the other end is a virtual machine"
备注: 两个pipe的名称要相同,并且选中下面的Connect at power on,及Advanced里面的Yield CPU on poll
Server(Target) 输入:cat /dev/ttyS0
系统输出的信息: hello
Client(Development) 输入:echo "hello" >/dev/ttuS0
串口添加完成后,使用如果命令测试:
在Server上cat /dev/ttyS0
然后到Client上echo "hello" > /dev/ttyS0
这时回到Server上,如果能看到输入的hello,说明串口通讯正常.
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。