[U-Boot] coldfire, bad program counter on "rte"
angelo
angelo70 at gmail.com
Mon Jun 6 15:14:23 CEST 2011
Hi all,
i ported with small changes/additions u-boot to a custom board with MCF5307.
Relocation into ram is done correctly, and monitor works fine except for
the timer 2 interrupt:
Once inside the assembly "_int_handler" in start.S, the "rte" cause a
vector 3 exception (instruction fetch error).
So i traced the stack/registers from inside the timer interrupt, too see
if there is something strange:
U-Boot 1.1.6 (May 27 2011 - 00:09:24)
CPU: Freescale Coldfire MCF5307 at 90 MHz
Board: Sysam AMCORE Board
DRAM: 16 MB
Stack set to 00fa1f78
Start relocate of code from ffc00400 to 00ff2000
Now running in RAM - U-Boot at: 00ff2000
Vector Number: 31 Format: 04 Fault Status: 0
PC: ffffffff SR: 00002009 SP: 00fa1d9c
D0: 00000000 D1: 0000001d D2: 00000066 D3: 00fb1f90
D4: ffffbfff D5: dfffff7e D6: eff7ffef D7: 00fb1f90
A0: 00fb1f90 A1: 00ff24c0 A2: 00fa1e3e A3: 00ffd000
A4: 7ff5fbef A5: 00ffc000 A6: 00fa1de4
?
The strange thing is that the PC that should be the address where to
return (next instruction) is 0xffffffff, from this, probably, the
exception is generated just after the "rte".
I don't really undertsand for what reason the PC is set badly from the micro, hope some 68k expert here can help me.
Many thanks in advance,
angelo
More information about the U-Boot
mailing list