Yahoo Groups archive

Lpc2000

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

Message

Re: Bootloader not always invoked after reset with P0.14 low

2006-02-25 by Jayasooriah

Hi Guile,

I am looking at what appears to be a different manifestation of the problem 
you encountered in that power cycling is required to recover form a lockup 
in order to transfer control to ISP by pulling P0.14 low.

Philips explains this happens can if "timeout value is too small".  The 
user manual seems to say writing anything less than 0xff will result in 
minimum timeout of PCLK x 256 x 4.

The test code below then should create the lockup scenario, but it does not 
on my 2292.  I cannot see where I got it wrong.

Can you try this on your board please?

Thanks.

Jaya

GNU Source:

>@ ======================================================================
>@ Interrupt Vectors
>
>         .code   32
>
>         @ entry points vector
>start:
>         ldr     pc, =error
>         ldr     pc, =error
>         ldr     pc, =error
>         ldr     pc, =error
>         ldr     pc, =error
>         ldr     pc, =error
>         ldr     pc, =error
>         ldr     pc, =error
>
>         .ltorg
>
>@ End of Interrupt Vectors
>@ ======================================================================
>
>
>@ ======================================================================
>@ Error Scenario
>
>         .code   32
>
>error:
>         @ force reset
>         ldr     r0, =WATCH_DOG
>         mov     r1, #3
>         str     r1, [r0, #0]
>         str     r1, [r0, #4]    @ WDTC = 3
>         mov     r1, #0xaa
>         str     r1, [r0, #8]    @ WDFEED = 0xaa
>         mov     r1, #0x55
>         str     r1, [r0, #8]    @ WDFEED = 0x55
>         b       .
>
>@ End Error Scenario
>@ ======================================================================

HEX Binary: (vectors not check-sum patched)

>:1000000018F09FE514F09FE510F09FE50CF09FE5D8
>:1000100008F09FE504F09FE500F09FE504F01FE580
>:10002000240000000E02A0E30310A0E3001080E50E
>:10003000041080E5AA10A0E3081080E55510A0E3A5
>:08004000081080E5FEFFFFEA55
>:00000001FF


>Message: 17
>    Date: Thu, 23 Feb 2006 12:30:37 -0000
>    From: "Guillermo Prandi" <yahoo.messenger@...>
>Subject: Re: Bootloader not always invoked after reset with P0.14 low
>
>Hi, Jayasooriah. Indeed the watchdog is the problem. At this stage of
>development I am only using the watchdog to provide a software reset
>function. Apparently this behavior is triggering only after using
>this function. And yes, you are right; the bit should be cleared by
>the external reset.
>
>It looks like this behavior is 'by design' so there is no other
>workaround than switching off the unit.
>
>Guille


>Message: 8
>    Date: Thu, 23 Feb 2006 23:28:38 -0000
>    From: "philips_apps" <philips_apps@...>
>Subject: Re: Bootloader not always invoked after reset with P0.14 low
>
>The bootloader does not look at the RISR register. It looks at the
>WDTOF flag in WDMOD register.
>Even clearing of watchdog flag in user application may not help (if
>timeout is too small) because the bootloader runs before application.



Send instant messages to your online friends http://au.messenger.yahoo.com

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.