
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