Auto Update and Watchdog

Discussion to talk about software related topics only.
Post Reply
talexander
Posts: 21
Joined: Fri Apr 25, 2008 10:17 am

Auto Update and Watchdog

Post by talexander »

I was wondering if anyone has ever had a problem with the watchdog tickle during flash programming on the 5234? Every once in awhile my system will reset during programming due to a watchdog timeout. The watchdog is being serviced. Looking at bsp.c I tried to change the code so that the watchdog is serviced after every two bytes are written to flash, but this made the problem worse! So instead I changed it to tickle once every 2000 bytes of erase/write and the problem seemed to go away. I can't be sure it's gone though. It used to tickle on every 2 bytes during erase and every 100 bytes during write.

Also, tried to run a continuous tickle inside of a task and there's no problems. This only happens during flash erase/write.

while ( len >= 2 )
{
if((watchdog_service_function) && (((len % 2000) == 0) || (((len+1) % 2000) == 0)))
{
watchdog_service_function();
}

if ( ( *pDataTo & *pDataFrom ) == *pDataFrom )
{
*pFlashBase2 = 0x00AA; /* FlashCommand(Flash555,0x00AA); */
*pFlashBase1 = 0x0055; /* FlashCommand(Flash2aa,0x0055); */
*pFlashBase2 = 0x00A0; /* FlashCommand(Flash555,0x00A0); */
*pDataTo = *pDataFrom;
while ( *pDataTo != *pDataFrom );
}
pDataTo++;
pDataFrom++;
len -= 2;
}
Post Reply