Why do controllers go into bootloader mode?
- Continuum controller are placed into bootloader mode if they repeatedly hit a firmware level exception.
- An exception is when the controller tries to do something that cannot be done.
- Some examples of an exception are...
- A controller tries to read from memory that it cannot read from.
- A controller attempts write to memory that cannot be written to.
- On startup, flash generation controllers load the application from flash RAM.When they hit an exception, older, non-flashable controllers would simply clear the application software from ram, power up and wait for the software to be loaded from the front end.
- If there is a bad application there needs to be a means by which a user can intervene before the application is loaded so that the controller firmware can be reloaded or upgraded.
- When a flashable controller hits more than three exceptions within a ten minute time period the controller is placed into bootloader mode intentionally.
- When a controller repeatedly goes into bootloader mode it is time to take a close look at environment which might be driving the controller to hit exceptions
- A controller usually goes into bootloader mode due to environmental issues such as
- Heavy ARP traffic
- Controller grounding
- Controller power issues
- Problems with the communication bus.
- A controller that repeatedly hits exceptions is placed in bootloader mode by design.
- Flashing a controllers firmware is the only way to get a controller out of bootloader mode.