LPC1769 watchdog problem

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

LPC1769 watchdog problem

3,099 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Lukasz on Thu Jul 30 05:37:46 MST 2015
Hello,

I have a problem with watchdog on LPC1769. I use Keil and uLinkME debugger.
I noticed that my device resets unexpectly. When I debug my device I never disable watchdog, but I set WDTC to maximum value (0xFFFFFFFF). I did it this time too and I got unexpected reset after 30-60seconds. Source of the reset was watchdog (checked RSIR register). Resets are the more frequent the more uC is overloaded. Mailny through the UART. I think it is impossibe that WDTV counted to 0 after tents or hundrets of seconds. How can I check where is the problem?
标签 (1)
0 项奖励
回复
3 回复数

2,859 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Lukasz on Fri Jul 31 03:28:08 MST 2015
I set up the watchdog to interrupt as you wrote.
I put breakpoint in watchdog handler and I noticed something strange: WDTC is 0xEFFFFFFF (this value I set, so it is OK), and WDTV is 0xEFFFFFE8 (NOT zero).
So why Watchdog interrupt occur?

But now I can check what was last instruction before irq occured, so thank you for your advice.
0 项奖励
回复

2,859 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by Lukasz on Thu Jul 30 23:07:32 MST 2015
Yes, I am feeding the watchdog.
I think it is not window refresh issue, because I set WDTC (0xFFFFFFFF) only once in main function.
When reset happen, program counter goes to Reset_Handler and watchdog is set to default values (disabled) and flag WDTOF is set.
So the watchdog resets the uC, but I think It shouldn't do that becaufe of WDTC value (0xFFFFFFFF).
If I disable the watchdog everythink is OK. But I can't do it.
Maybe it is the access conflict to some resources, but program counter should go to for example BusFault_Handler, HardFault_Handler etc.
0 项奖励
回复

2,859 次查看
lpcware
NXP Employee
NXP Employee
Content originally posted in LPCWare by MikeSimmonds on Thu Jul 30 19:38:01 MST 2015
Not sure if the watchdog on the 1769 is the same as the 1778, but you could try setting up the watchdog to interrupt rather than reset
and put a breakpoint in the handler.

Also, make sure that you program the lower value as well so you aren't getting an invalid window refresh issue.
Also, you are actually feeding the watchdog aren't you?

Cheers, Mike.
0 项奖励
回复