[U-Boot] m68k _int_handler help

Jin Zhengxiong-R64188 R64188 at freescale.com
Wed May 25 05:46:33 CEST 2011


> -----Original Message-----
> From: u-boot-bounces at lists.denx.de [mailto:u-boot-bounces at lists.denx.de] On
> Behalf Of angelo
> Sent: Tuesday, May 24, 2011 7:31 PM
> To: U-Boot at lists.denx.de
> Subject: [U-Boot] m68k _int_handler help
> 
> Hi all,
> 
> i successfully ported u-boot on a custom board, that use mcf5307, and i would
> like to share my job in the next days.
> 
> I still have a strange issue anyway, maybe some u-boot / m68k expert can help
> me:
> After relocation into SDRAM, timer_init (from board.c) is called, timer
> 2 is initialized, and just after the first interrupt (31) is triggered.
> Once the handler terminate, the assembly "rte" make the u-boot to crash, with
> exception (VEC 3, FMT 4, FAULT 4).

There should not have the address error if the exception frame on the system
stack Was not destroyed. As it's not format error, at least the format field
 of the exception frame was not destroyed.

> 
> I verified the following:
> 1) after relocation in SDRAM the stack is set up properly, in the area just
> below the monitor code.
> 2) after relocation, the stack seems to be working properly, since many
> functions are called from ram before the timer_init().
> 3) i disabled all inside _int_handler, leaving it as (start.S)
> 
> _int_handler:
>          rte
> 
> I can stop the program here before rte with a loop, so program until here works.
> But just after, rte generate the exception 3.
> 
> This is really a misterious issue. I don't see any reason why the stack frame
> should be wrong. Could it be compiler-related ?

What's the version of your compiler?
Could you try to check if all the exception frame fields were not changed before and
after the interrupt?   

Best Regards,
Jason Jin



More information about the U-Boot mailing list