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? 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@brattberg.com> 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ä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] > > > > > > ------------------------------------------------------------------------ > > 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/>. > > > ------------------------------------------------------------------------ > -- --- 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]
Message
Re: [lpc2000] Problem with watchdog
2005-12-06 by Ake Hedman, eurosource
Attachments
- No local attachments were found for this message.