EmbeddedRelated.com
Forums
The 2025 Embedded Online Conference

Bootloader not always invoked after reset with P0.14 low

Started by Guillermo Prandi February 6, 2006
Hi Guile,

I may be misunderstanding the problem.

You made the comment:

>It looks like this behavior is 'by
design' so there is no other workaround 
>than switching off the unit.

Philips followed up:

>Even clearing of watchdog flag in user application
may not help (if 
>timeout is too small) because the bootloader runs before application.

For purposes of ruling out watchdog issues in problem I am looking into, I 
want to recreate the above watchdog problem.

My sample code sets up the watchdog to trigger in minimum time, and does 
nothing but wait for the watchdog to trigger.

In had no problems getting back to ISP with this code on my 2292.  I did 
not need to switch off.

I wanted to try this on your board.  If it works without need to switch 
off, then my understanding of the problem is incorrect.  If it does need 
you to switch off, then the problem may be specific to the part of version 
of boot loader.

I like to find out which of the above is the case.

Regards,

Jaya 

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

An Engineer's Guide to the LPC2100 Series

OK. I'll run your code. What is exactly what you want me to report 
about it? Whether it can call the bootloader without a power-on reset?

Guille

--- In lpc2000@lpc2..., Jayasooriah <jayasooriah@...> wrote:
>
> Hi Guile,
> 
> I may be misunderstanding the problem.
> 
> You made the comment:
> 
> >It looks like this behavior is 'by design' so there is no
other 
workaround 
> >than switching off the unit.
> 
> Philips followed up:
> 
> >Even clearing of watchdog flag in user application may not help 
(if 
> >timeout is too small) because the bootloader
runs before 
application.
> 
> For purposes of ruling out watchdog issues in problem I am looking 
into, I 
> want to recreate the above watchdog problem.
> 
> My sample code sets up the watchdog to trigger in minimum time, and 
does 
> nothing but wait for the watchdog to trigger.
> 
> In had no problems getting back to ISP with this code on my 2292.  
I did 
> not need to switch off.
> 
> I wanted to try this on your board.  If it works without need to 
switch 
> off, then my understanding of the problem is
incorrect.  If it does 
need 
> you to switch off, then the problem may be
specific to the part of 
version 
> of boot loader.
> 
> I like to find out which of the above is the case.
> 
> Regards,
> 
> Jaya 
> 
> Send instant messages to your online friends 
http://au.messenger.yahoo.com
>
	
--- In lpc2000@lpc2..., "Guillermo Prandi"
<yahoo.messenger@...> wrote:
>
> OK. I'll run your code. What is exactly what you want me to report 
> about it? Whether it can call the bootloader without a power-on reset?
> 

Yes, that will do.  Thanks.

Jaya
	
Jaya: with your code, bootloader is not invoked if the reset/P0.14 
signals don't run along with a power on. This was the expected 
behavior, isn't it?

Guille

--- In lpc2000@lpc2..., Jayasooriah <jayasooriah@...> wrote:
>
> 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
>
	

The 2025 Embedded Online Conference