MCF5307, strange vector 63 (reserved) interrupt

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

MCF5307, strange vector 63 (reserved) interrupt

跳至解决方案
1,426 次查看
angelo_d
Senior Contributor I

Hi all,

 

i am testing u-boot bootloader with this cpu, it works quite fine, but after some time (between half an hour and 2 hours) i get a misterious interrupt 63, followed then by a vector 4 exception:

 

[code]

amcore$
Bogus External Interrupt Vector 63


*** Unexpected exception ***
Vector Number: 4  Format: 04  Fault Status: 0

PC: 00ff26be    SR: 00002004    SP: 00ed8a60
D0: 0000000c    D1: 00000002    D2: 00000008    D3: 00000008
D4: 00ed8aec    D5: 00ed8ae8    D6: 00ff

*** Unexpected exception ***
Vector Number: 4  Format: 04  Fault Status: 0

PC: 00fe9d36    SR: 00002700    SP: 00ed8808


[/code]

 

I am wandering what interrupt 63 is, something undocumented since it is reserved and there is no lecterature that talk about it.

 

every help is appreciated,

 

thanks,

angelo

标签 (1)
0 项奖励
回复
1 解答
1,053 次查看
angelo_d
Senior Contributor I

hi,

 

seems i solved also this last "stability" issue.

 

The board is a prototype assembled here, refreshing some soldering on the data bus and cleaning wery well seems solved the issue.

Until now, after 36 hours, no exceptions detected.

 

thanks TomE,

 

regards

在原帖中查看解决方案

0 项奖励
回复
4 回复数
1,053 次查看
TomE
Specialist II

Check SECF180 in the latest errata. The symptoms there don't match what you're seeing, but make sure you're following the guidelines for changing the CPU interrupt level to "7" before making any changes to any of the IMR registers.

 

Make sure you're not doing this:

 

Reference manual:

9.2.1 Interrupt Control Registers (ICR0–ICR9)

NOTE:
Assigning the same interrupt level and priority to multiple
ICRs causes unpredictable system behavior.

 

EITHER set the "autovector" bit in the ICR registers for your interrupts or make sure you program correct interrupt vectors (for instance in the UIVR registers for the UART. You should probably use vectors for all internal devices and Autovector for any interrupt pins.

 

Simplify your testing. Turn things off until the problem goes away, then focus on the thing that seems to be related to the problem.

Good luck,

 

Tom (A Random Poster)

 

0 项奖励
回复
1,053 次查看
angelo_d
Senior Contributor I

hi TomE,

 

thanks again for your support.

 

I will certainly follow your suggestions, but before that, seems i have issues with the SDRAM initialization.

 

To be sure the issue is there, i am executing some code now ONLY from the nor flash, and wait some days, then i will confirm issue is about the SDRAM initialization / executing from SDRAM.

 

Probably these issues can change with bursts/cache enabled or disabled, but is possible there is something wrong in the SDRAM initialization sequence.

 

Also, since i copied this sequence from somewhere, from examples i am quite sure was working, and since my board is a prototype, is possible i have some soldering issues that can introduce this bad behavior sometime only.

 

I can also have some power supply spykes on 3.3V or other issues.

 

I will proceed step by step and let you know the progresses,

 

regards,

angelo

 

 

0 项奖励
回复
1,053 次查看
angelo_d
Senior Contributor I

Hi TomE,

 

i am proceeding slowly, since this project has a low priority, but these are the progresses:

 

1) excluded SDRAM, running u-boot bootloader from the parallel nor flash, exception 4 (illegal instruction) still happen.

2) excluded u-boot code and cache, running in a loop a basic 3 lines assembly code, executing from flash, exception still happen, inside 1 hour (debugging using parallel port / leds).

 

So seems the issue happen only sometime, inside one hour, and is not related to sdram. So i am suspecting now about a bad design, or some poor soldering in the address or data bus, something that make the cpu to read a bad opcode.  Also maybe a non perfect power supply, but this is really difficult, or some drift in the clock ...

 

still investigating

regards,

angelo

 

0 项奖励
回复
1,054 次查看
angelo_d
Senior Contributor I

hi,

 

seems i solved also this last "stability" issue.

 

The board is a prototype assembled here, refreshing some soldering on the data bus and cleaning wery well seems solved the issue.

Until now, after 36 hours, no exceptions detected.

 

thanks TomE,

 

regards

0 项奖励
回复