HOW to TRACE:  Illegal stack type -- PC = 0X41FC2708 ERROR

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

HOW to TRACE:  Illegal stack type -- PC = 0X41FC2708 ERROR

2,453件の閲覧回数
osanz
Contributor I
Hi;
 
I'm WORKING with CodeWarrior 6.4 and MFC52233DEMO BOARD. Sometimes i have via UART mesages like :
 
 Illegal stack type -- PC = 0X41FC2708     User Defined Vector #0
 
I need to know if there is any method to trace this kind of error in order to avoid it, because these problem seems to be totally RANDOM...
 
Thank's to all.
 
Oscar.
ラベル(1)
タグ(1)
0 件の賞賛
返信
2 返答(返信)

510件の閲覧回数
osanz
Contributor I
Hi;
 
I have found the problem source, in my case is the RTC interrupt ( Controller 0 interrupt 63 ).
I don't know why is this interrupt working but, the problem is here.
 
I have used a Simon Marsden Tip posted in this forum, about how to "decode" the PC data when the faliure happens. This is fully explained on the CHAPTER 11 of the " Programmers reference manual" pages 11-4 to 11-5 ( on Rev.3 ).
 
Anyway, does anyone have an idea about why this interrupt is working if i explicity have dissabled it???
 
Thanks.
Oscar.
0 件の賞賛
返信

510件の閲覧回数
mccPaul
Contributor I
It sounds like a default ISR is being called - many stacks set up the exception vectors to point to a catch all ISR. In this case it sounds like the ISR is returning with RTS not RTE which is why you end up with the stack error. This could be you haven't specified that the ISR is an exception handler or because your compiler doesn't understand the pragmas that are being used to specify an exception handler.
 
As to why the ISR is being called - perhaps something has re-enabled it, or you aren't disabling it properly?
 
Which stack or OS are you using?
 
Paul.
 
 
 
 
0 件の賞賛
返信