Serial BootLoader without interrupts?

Started by Spencer Volmar July 11, 2005
Has anyone written a serial BootLoader that polls the serial port instead of
using interrupts? I am trying to find a BootLoader that can be launched by
the user app and then execute the new user app without a cold reset after it
is downloaded. The BootLoader can not use interrupts because the internal
RAM position can't be changed to overlay the vector table since the user app
had all ready written to the INITRM register. If someone has done something
like this or has another solution I would appreciate hearing from you.

Spencer V.


Has anyone written a serial BootLoader that polls the serial port instead of using interrupts? I am trying to find a BootLoader that can be launched by the user app and then execute the new user app without a cold reset after it is downloaded. The BootLoader can not use interrupts because the internal RAM position can't be changed to overlay the vector table since the user app had all ready written to the INITRM register. If someone has done something like this or has another solution I would appreciate hearing from you.

Spencer V.


"Spencer Volmar" <spencerv@spen...> wrote:

> Has anyone written a serial BootLoader that polls the serial port
> instead of using interrupts? I am trying to find a BootLoader that can

yes. Also with encryption and a compact file format, see the
archives.

Call the polling routine in the main loop and while waiting for Flash
programming.

> be launched by the user app and then execute the new user app without

Why should it be launched by the user app? IMO it's better to run it
out from reset so you can use it also if the "user app" is broken.

> a cold reset after it is downloaded. The BootLoader can not use

I wouldn't do so, because you might want to set some more protection
if the bootloader is not loaded. You can "return" from the loader
without user interaction using a COP reset. That's a clean restart.

This way (COP reset) you can also start the bootloader from the user
application.

Oliver
--
Oliver Betz, Muenchen