debug nic_drv

Keqin Sun keqin at ...189...
Fri Apr 19 03:46:23 CEST 2013


Hi,
    I want to debug nic_drv on a real machine using gdb_monitor. But gdb showed this:

(gdb) target remote /dev/ttyS0
Remote debugging using /dev/ttyS0
Ignoring packet error, continuing...
warning: unrecognized item "timeout" in "qSupported" response
Ignoring packet error, continuing...
Ignoring packet error, continuing...
Ignoring packet error, continuing...

and my run srcript is:
#
# Build
#

build { core init drivers/timer
        drivers/pci
	app/gdb_monitor
        drivers/uart
        drivers/nic }

create_boot_directory

#
# Generate config
#

install_config {
<config verbose="yes">
	<parent-provides>
		<service name="ROM"/>
		<service name="RAM"/>
		<service name="IRQ"/>
		<service name="IO_MEM"/>
		<service name="IO_PORT"/>
		<service name="CAP"/>
		<service name="PD"/>
		<service name="RM"/>
		<service name="CPU"/>
		<service name="LOG"/>
		<service name="SIGNAL"/>
	</parent-provides>
	<default-route>
		<any-service> <parent/> <any-child/> </any-service>
	</default-route>
	<start name="timer">
		<resource name="RAM" quantum="1M"/>
		<provides> <service name="Timer"/> </provides>
	</start>
	<start name="uart_drv">
		<resource name="RAM" quantum="2M"/>
		<provides> <service name="Terminal"/> </provides>
#is that service name "Terminal" should be "/dev/ttyS0" ?
		<config>
			<policy label="gdb_monitor" uart="1"/>
		</config>
	</start>
	<start name="pci_drv">
		<resource name="RAM" quantum="2M"/>
		<provides><service name="PCI"/></provides>
	</start>
	<start name="gdb_monitor">
		<resource name="RAM" quantum="5M"/>
		<provides><service name="Nic" /></provides>
		<config>
			<target name="nic_drv"/>
			<preserve name="RAM" quantum="2M"/>
		</config>
	</start>
</config>}

#
# Boot image
#

build_boot_image { core init timer
	ld.lib.so libc.lib.so libc_log.lib.so libc_lock_pipe.lib.so libc_terminal.lib.so
	uart_drv pci_drv
	gdb_monitor nic_drv }

set local_port 5555

#append qemu_args " -nographic "
append qemu_args " -m 128 -nographic "

# connect comport 0 to stdio
append qemu_args " -net nic,model=e1000 -net user "
append qemu_args " -serial mon:stdio "

# connect comport 1 with TCP port $local_port
append qemu_args " -serial chardev:uart "
append qemu_args " -chardev
socket,id=uart,port=$local_port,host=localhost,server,nowait "

#run_genode_until forever
run_genode_until {.*Remote debugging using /dev/ttyS0.*} 30
#run_genode_until {.*Remote debugging using /dev/terminal.*} 30

#exec [terminal] -e "[gdb] bin/nic_drv -ex \"target remote localhost:$local_port\" " &
#exec [terminal] -e "[gdb] bin/nic_drv -ex \"target remote localhost:$local_port\" " &
interact


Is that correct?

Maybe the serial was occupied by the system output?


keqin






More information about the users mailing list