an10711 USB Bootloader discovery

Started by eremitic193 October 1, 2008
While implementing an10711 usb bootloader the following discovery was
made that may be useful news to the group. Especially someone
attempting to use an10711 bootloader sample.

After leaving the bootloader the new application starts in User mode
not System or Supervisor mode!

When startup.s (of user application not bootloader) attempts to enter
each mode and setup the stack pointers it is in user mode which
causes the stack pointers to never be setup correctly.

A work around that was used was to make the bootloader run in System
Mode rather than User Mode by modifying the startup.s file.

Another solution may be to leave the bootloader in System or
Supervisor mode and leave it that way if you run the user application
and don't actually "use" the bootloader. Then when you want to go
into the bootloader you switch to user mode before entering the
execution code for the bootloader. Our solution was to just run in
System Mode.

-Zach

An Engineer's Guide to the LPC2100 Series