
Hi all,
I'm trying to debug i2c xilinx code to be abble to store environment in EEPROM.
My code is stoppped at address 0x3FC1078, the relocation address is 0x3FA9000. The TEXT_BASE address use to build u-boot is 0x2000000.
So if i'm not wrong I should use backtrace with the address : 0x2000000 + ( 0x3FC1078 - 0x3FA9000).
Is that right?
The example in http://www.denx.de/wiki/bin/view/DULG/DecodingUBootCrashDumps sounds strange, and in my case I will have a negative address. I think that there is an error in the example.
I'm coming to you beacause the backtrace (download from denx ftp) process start properly but then hang up and did not give any results. alayrac@debian-ca:~/u-boot$ ./backtrace System.map 0x2018078 Reading symbols from System.map Using Address Offset 0x2018078 Any track?
Chris

In message 1160663540.14274.9.camel@localhost.localdomain you wrote:
I'm trying to debug i2c xilinx code to be abble to store environment in EEPROM.
Make sure not to add any debug printf's or so in your code; this won't work as the console needs to access the environment (to read the "baudrate" variable) befor it starts working.
My code is stoppped at address 0x3FC1078, the relocation address is 0x3FA9000. The TEXT_BASE address use to build u-boot is 0x2000000.
So if i'm not wrong I should use backtrace with the address : 0x2000000 + ( 0x3FC1078 - 0x3FA9000).
Is that right?
No. If you are talking about my little perl script, then you should follow the instructions and run "backtrace System.map 0xfe057000" (as 0x2000000 - 0x3FA9000 = 0xFE057000). Then type 0x3FC1078 on stdin and press enter.
The example in http://www.denx.de/wiki/bin/view/DULG/DecodingUBootCrashDumps sounds strange, and in my case I will have a negative address. I think that there is an error in the example.
I think that's the way it works. At least it worked for me. Feel free to have a look at the script code.
I'm coming to you beacause the backtrace (download from denx ftp) process start properly but then hang up and did not give any results.
It does not hang, it reads data from stdin. Just type (or copy & paste) your addresses...
Any track?
RTFS ;-)
Best regards,
Wolfgang Denk

Thanks one more time for your help
<----> No. If you are talking about my little perl script, then you should <----> follow the instructions and run "backtrace System.map 0xfe057000" (as <----> 0x2000000 - 0x3FA9000 = 0xFE057000). Then type 0x3FC1078 on stdin and <----> press enter. <----> I've tried with the backtrace System.map 0xfe057000 and then type the 0x3FC1078 address from stdin but it comes out with inconsitent message. These address as been obtain after a stop via emulator whe the code hang up.
To understand what is done I've trie to enter address taken from System.map and offset to 0x3FA9000 range address. But bactrace did not give me back the name of the fucntion pointed in Systeme.map.
Regards

In message 000a01c6ee13$b7d0c6a0$c900a8c0@CRESITTLAB you wrote:
I've tried with the backtrace System.map 0xfe057000 and then type the 0x3FC1078 address from stdin but it comes out with inconsitent message.
And that message was what?
To understand what is done I've trie to enter address taken from System.map and offset to 0x3FA9000 range address. But bactrace did not give me back the name of the fucntion pointed in Systeme.map.
If you don't provide specific examples and exact listing of the commands you entered and the output you got I can't help you.
Best regards,
Wolfgang Denk
participants (3)
-
alayrac
-
alayrac christophe
-
Wolfgang Denk