Ake Hedman, eurosource wrote: >I have found part of this problem. The GNU compiler translates > >WDFEED = 0xAA; WDFEED = 0x55; > >to > >710 04c4 8E22A0E3 mov r2, #-536870904 >711 04c8 5530E0E3 mvn r3, #85 >712 04cc 0030C2E5 strb r3, [r2, #0] >713 04d0 8E22A0E3 mov r2, #-536870904 >714 04d4 5530A0E3 mov r3, #85 >715 04d8 0030C2E5 strb r3, [r2, #0] > > >i.e. just writing 0x55. This is done even if compiled with >optimization of. > >Anyone know how to work around this? > > > do you have WDFEED declared as "volatile"? This tells gcc not to optimize out accesses to that memory, that the memory location may change between readings (as in the case of an interrupt writing to that location). example: volatile char * WDFEED; >Watchdog registers are currently defined as > >// Watchdog >#define WDMOD (*((volatile unsigned char *) 0xE0000000)) >#define WDTC (*((volatile unsigned long *) 0xE0000004)) >#define WDFEED (*((volatile unsigned char *) 0xE0000008)) >#define WDTV (*((volatile unsigned long *) 0xE000000C)) > > > >/Ake > > >Ake Hedman, eurosource wrote: > > > >>Jim Parziale wrote: >> >> >> >>>Assuming you have the correct definitions for your symbols, the only >>>thing I >>>can think of is setting the timeout to the largest integer like that. >>>Maybe >>>you could try a different large integer? >>> >>>These are what you should be using: >>>WDEN = BIT(0) = 0x00000001 >>>WDRESET = BIT(1) = 0x00000002 >>>WDMOD = (uint8_t *)(0xE0000000) >>>WDTC = (uint32_t *)(0xE0000004) >>>WDFEED = (uint8_t *)(0xE0000008) >>> >>> >>Jim, >> >>yes my defines are the same and yes I have tested with other values for >>the watchdog period. According to the manual the watchdog timer should >>start when the 0xaa, 0x55 sequence is written but my problems are occurs >>as soon as I write to the WDMOD register. >> >>What situations can prevent the bootloader from working after a reset? >> >>/Ake >> >> >> >>>---------------------------------------------------------- >>>Jim Parziale >>>Email: nuncio.bitis@... >>>Malden, MA >>>---------------------------------------------------------- >>> >>>On 12/6/05, Ake Hedman, eurosource <akhe@...> wrote: >>> >>> >>>> Hi all. >>>> >>>>I am trying to enable the watchdog but the result is a total hang >>>> >>>> >>of the >> >> >>>>board. Not even the bootloader is possible to reach after the >>>> >>>> >>crash and >> >> >>>>I have to reapply power with P0.14 low to get access to the botloader >>>>again. Reset is not enough. >>>> >>>>The code to initialize the watchdog is >>>> >>>> // initialize the watchdog timer >>>> WDTC = 0xffffffff; // 15000000; // One >>>> >>>> >>second >> >> >>>>= 15000000 >>>> WDMOD = WDEN | WDRESET; // Activate watchdog >>>> WDFEED = 0xAA; WDFEED = 0x55; >>>> >>>>I must have misunderstood the WD functionality. What am I doing wrong? >>>>In the above code the watchdog should not trigger until 5 minutes >>>>elapsed so even if a vector should be wrong the code that follow >>>> >>>> >>should >> >> >>>>run for a while but as soon as I write to the WDMOD register I get a >>>> >>>> >>>hang. >>> >>> >>>>/Ake >>>> >>>>-- >>>>--- >>>>Ake Hedman (YAP - Yet Another Programmer) >>>>eurosource, Brattbergav\ufffdgen 17, 820 50 LOS, Sweden >>>>Phone: (46) 657 413430 Cellular: (46) 73 84 84 102 >>>>Company home: http://www.eurosource.se >>>>Kryddor/Te/Kaffe: http://www.brattberg.com >>>>Personal homepage: http://www.eurosource.se/akhe >>>>Automated home: http://www.vscp.org >>>> >>>> >>>> >>>> >>>[Non-text portions of this message have been removed] >>> >>> >>>------------------------------------------------------------------------ >>>YAHOO! GROUPS LINKS >>> >>> * Visit your group "lpc2000 >>> <http://groups.yahoo.com/group/lpc2000>" on the web. >>> >>> * To unsubscribe from this group, send an email to: >>> lpc2000-unsubscribe@yahoogroups.com >>> <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe> >>> >>> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of >>> Service <http://docs.yahoo.com/info/terms/>. >>> >>> >>>------------------------------------------------------------------------ >>> >>> >>> >>-- >>--- >>Ake Hedman (YAP - Yet Another Programmer) >>eurosource, Brattbergavägen 17, 820 50 LOS, Sweden >>Phone: (46) 657 413430 Cellular: (46) 73 84 84 102 >>Company home: http://www.eurosource.se >>Kryddor/Te/Kaffe: http://www.brattberg.com >>Personal homepage: http://www.eurosource.se/akhe >>Automated home: http://www.vscp.org >> >> >> >>[Non-text portions of this message have been removed] >> >> >> >>SPONSORED LINKS >>Microprocessor >><http://groups.yahoo.com/gads?t=ms&k=Microprocessor&w1=Microprocessor&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=tsVC-J9hJ5qyXg0WPR0l6g> >> Microcontrollers >><http://groups.yahoo.com/gads?t=ms&k=Microcontrollers&w1=Microprocessor&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=DvJVNqC_pqRTm8Xq01nxwg> >> Pic microcontrollers >><http://groups.yahoo.com/gads?t=ms&k=Pic+microcontrollers&w1=Microprocessor&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=TpkoX4KofDJ7c6LyBvUqVQ> >> >>8051 microprocessor >><http://groups.yahoo.com/gads?t=ms&k=8051+microprocessor&w1=Microprocessor&w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=1Ipf1Fjfbd_HVIlekkDP-A> >> >> >> >>------------------------------------------------------------------------ >>YAHOO! GROUPS LINKS >> >> * Visit your group "lpc2000 >> <http://groups.yahoo.com/group/lpc2000>" on the web. >> >> * To unsubscribe from this group, send an email to: >> lpc2000-unsubscribe@yahoogroups.com >> <mailto:lpc2000-unsubscribe@yahoogroups.com?subject=Unsubscribe> >> >> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of >> Service <http://docs.yahoo.com/info/terms/>. >> >> >>------------------------------------------------------------------------ >> >> >> > > > > -- Tom Walsh - WN3L - Embedded Systems Consultant http://openhardware.net, http://cyberiansoftware.com "Windows? No thanks, I have work to do..." ----------------------------------------------------
Message
Re: [lpc2000] Problem with watchdog
2005-12-06 by Tom Walsh
Attachments
- No local attachments were found for this message.