[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