From mboxrd@z Thu Jan 1 00:00:00 1970 From: angelo Date: Mon, 06 Jun 2011 15:14:23 +0200 Subject: [U-Boot] coldfire, bad program counter on "rte" Message-ID: <4DECD2AF.1090409@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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