Mips Kernel Debugger

Apr 06, 2005 3 Replies

Hello, I am using Mips Processor for my linux embeeded application, How I should build Linux Kernel Debugger Image for the Mips architecture. Please give me information regarding this, if somebody who have alreardy built this. Thanks in Advance Prakash Bankolli


That's very little information you give here. First there is dmesg, /var/log/messages but for embedded applications, do you have a JTAG-device? Do you have an UART present? Are you able to use it through a serial connection? Etc, etc. Just stating "I want to debug my embedded kernel" doesn't work. Maybe there is a MIPS-emulator for your host platform?

Regards, Fester

Hello Fester, I am using serial port(null modem) connection to my target from host machine. The software which embeeded in my target downloads the Image from my host machine using ethernet connection. My target has got previlage for only one serial port. Actually I have gone through the link below mentioned, "

formatting link
" I followed the steps it has mentioned, but I am getting more undefined references as follows.

arch/mips/kernel/kernel.o: In function `getpacket': arch/mips/kernel/kernel.o(.text+0x85ac): undefined reference to `getDebugChar'

The site says that, I need to provide board specific UART routines. Here I am using Atheros board, where I could find the definitions for these routines. Please correct me, If my understanding is wrong.

with regards Prakash Bankolli

Just look at the source :-) (# find -type f | xargs grep getDebugChar)

You'll probably find that getDebugChar() is expected to have this prototype:

char getDebugChar(void)

You'll also probably find that another function called putDebugChar() is required:

void putDebugChar(char)

What these functions are supposed to do is not really hard to guess:

getDebugChar should wait until a character is available from the UART and, as soon as there is, it should return it.

putDebugChar should transmit a character through the UART (possibly waiting until the UART's transmit hold is ready to accept another character).

So, what you need to provide is essentially a very simple, polled (i.e.

*not* interrupt-driven) driver for the UART on your board. Your hardware manual should give hints as to how to do that. Also use google: you may be lucky find some sample code for your UART that you can cannibalize...

Rob

Robert Kaiser email: rkaiser AT sysgo DOT com SYSGO AG http://www.elinos.com Klein-Winternheim / Germany http://www.sysgo.com

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required