Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Problem with watchdog

2005-12-07 by Ake Hedman, eurosource

Ooops..! Thanks a lot. wishful thinking from my part I guess. ;-)

I'm back on square one then. hmmm...  I really need to solve this.

I have done a small program that initialize the watchdog as of my 
previous example and then just loop while "feeding the dog"  just after 
a debug output on the serial channel. But the result is the same. No 
output and I have to hold p0.14 low and re power the board to be able to 
bootload it.

/Ake


Bill Knight wrote:

> Actually it is writing 0xAA then 0x55.  The second line of the
> disassembly is mvn (move negative).  It loads the inverted value
> of 85=0x55 (0xFFFFFFAA) into r3.  The next line stores the low
> order byte WFEED (-536870904=0xE0000008).
>
> Regards
> -Bill Knight
> R O SoftWare &
> http://www.theARMPatch.com
>
>
> On Tue, 06 Dec 2005 21:22:21 +0100, 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?
>
> >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ä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 
> <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 
> <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 
> <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 
> <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]
>
>
>
>
> >
> >Yahoo! Groups Links
>
>
>
> >
>
>
>
>
>
>
> ------------------------------------------------------------------------
> 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]

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.