ILAD RESET

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

ILAD RESET

跳至解决方案
2,618 次查看
Cram
Contributor III

Dear all,

 

I have been using the search engine but I don't found a answer to my question.

 

I'm facin ga problem wuith the ILAP reset, the application is working fine and afetr 5/10 or 15 minuts the SRS register shows me a ILAP reset.

 

I'm using CW6.1 and QD4 and C code. I tried to trace the program but I don't know jhow to do it in CW6.1 and try to make a wacth point in order to know what is going on and fine the error but I fix the watchpoint but nothing happens when the rst is produced.

 

I assume that is a problem with the stack but I don't know what exactly happens.

 

Anyonw knows a tip or trick to debug the cause?

 

BR,

标签 (1)
1 解答
2,412 次查看
Cram
Contributor III

Dear all,

Thanks for your comments.

The problems finally was not the stack, some elecvtrical noise due to a couple of relays was making it malfunctioning. Removing the internal pull-up for the unsused pions and ad and external pull-down, seems to work so far.

在原帖中查看解决方案

4 回复数
2,413 次查看
Cram
Contributor III

Dear all,

Thanks for your comments.

The problems finally was not the stack, some elecvtrical noise due to a couple of relays was making it malfunctioning. Removing the internal pull-up for the unsused pions and ad and external pull-down, seems to work so far.

2,412 次查看
Monica
Senior Contributor III

Marc,

thanks a lot for sharing the resolution with community!

Best,

Monica.

0 项奖励
回复
2,412 次查看
bigmac
Specialist III

Hello Marc,

It is possible for stack problems to cause this type of error reset, where the stack contains return address information associated with functions and/or ISRs.  Should the stack overflow into the global variable region, writing a new value to a global variable may potentially cause the error.  Of course, the stack over-writing some global variables would cause other problems, as well.  Perhaps increase the stack size to ensure this is not the cause.

Another potential cause of stack overflow, even with a reasonable size stack, could be a run-away interrupt, perhaps in conjunction with an unintended nested interrupt source.  Check that each ISR clears its associated interrupt flag, and that interrupts are never re-enabled within any ISR function.

Regards,

Mac

0 项奖励
回复
2,412 次查看
ZhangJennie
NXP TechSupport
NXP TechSupport

ILAD reset happened because CPU detects the program try to access unimplemented areas. this will result in an illegal access reset (system reset). SRS register ILAD bit - Illegal Address Reset Flag - ILAD is set to 1.

when an illegal address reset occurs. please check the chip datasheet to see if your code access unimplement address in memory map.  CW doesn't have a tool to locate where is the problem in your code. this has to be checked by yourself. I suggest check:

1. prm file and map file if any code and data are in the unimplemented address.

2. check the source file code if any code/data try to access unimplemented address.

3. please test the project part by part to see which code causes the problem

0 项奖励
回复