El gestor de arranque debe salir y ejecutar el programa de usuario después de 6 segundos si el USB no está conectado. Si eso es demasiado lento, puede recompilar con un retraso más corto, o configurar AUTO_EXIT_NO_USB_MS > 1.
Si el programa de usuario no parece estar ejecutándose después del período de espera, es probable que tenga algún otro problema. Tal vez su programa tenga un error que impide que funcione correctamente si el cargador de arranque no se comunica primero con el puerto USB (verifique si las variables no están inicializadas, los registros de hardware no están configurados en estados definidos, etc.).
También, si la placa está alimentada por el puerto USB cuando está enchufada, asegúrese de que su fuente de alimentación externa sea lo suficientemente buena como para funcionar de forma independiente.
(en bootloaderconfig.h)
/*
* Define bootloader timeout value.
*
* The bootloader will only time out if a user program was loaded.
*
* AUTO_EXIT_NO_USB_MS The bootloader will exit after this delay if no USB is connected.
* Set to 0 to disable
* Adds ~6 bytes.
* (This will wait for an USB SE0 reset from the host)
*
* AUTO_EXIT_MS The bootloader will exit after this delay if no USB communication
* from the host tool was received.
* Set to 0 to disable
*
* All values are approx. in milliseconds
*/
#define AUTO_EXIT_NO_USB_MS 0
#define AUTO_EXIT_MS 5000
/*