Mips Kernel Debugger

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

Reply to
prakash B
Loading thread data ...

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
Reply to
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

Reply to
prakash B

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
Reply to
Robert Kaiser

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.