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). > > > Ah! Didn't notice that, you are correct. Reading ARM asm still makes my head hurt! TomW >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\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/>. >>> >>> >>>------------------------------------------------------------------------ >>> >>> >>> > > > > >>-- >>--- >>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 > > > > > > > > -- 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.