mirror of https://github.com/ArduPilot/ardupilot
38 lines
1.4 KiB
Plaintext
38 lines
1.4 KiB
Plaintext
Modification of the stock Arduino STK500v2 bootloader specifically for APM2 boards
|
|
|
|
There are several modifications
|
|
|
|
1. Correct sketch start if the board was rebooted due to watchdog timer
|
|
|
|
2. Fast sketch start if the USB cable is not sensed as being connected to the APM2 board
|
|
|
|
3. Flash the correct (ie, visible) LEDs in a more informative pattern in the bootloader
|
|
|
|
4. Removal of the !!! CLI feature of the stk500v2 bootloader
|
|
|
|
LED patterns to look for:
|
|
|
|
USB Connected, no traffic:
|
|
six slow blue flashes (while waiting for a serial character that does not come)
|
|
then.. sketch starts
|
|
|
|
USB Connected, some traffic:
|
|
any slow blue flashing is ceased and a short timer starts waiting for valid boot loader protocol
|
|
then.. sketch starts
|
|
|
|
USB Connected, valid boot loader traffic:
|
|
STK500 protocol packets (eg flashing a new sketch) cause rapid flashing of the blue LED for each packet
|
|
|
|
USB Not Connected
|
|
quick double blue flash
|
|
then.. quick single yellow flash
|
|
|
|
The sketch will have its own LED flashing pattern.
|
|
|
|
BUGS
|
|
|
|
If a USB cable is connected to power up the board, the boot loader starts the sketch instantly.
|
|
This is because the USB cable detection takes a short time to stabilize, by then, the bootloader
|
|
has moved on. This is not much of an issue as USB connection for the purposes of flashing the
|
|
firmware causes another reset when the USB port is opened, thus, the bootloader starts again
|
|
anyway. |