En este momento estamos teniendo problemas para que nuestro dispositivo (STM32F405ZGT6) ingrese al modo DFU, o más bien, podemos ingresarlo, pero siempre tardan un poco más de 2 minutos en aparecer.
Tenemos un interruptor de botón en la placa para ingresar a DFU. Si suelta el interruptor en cualquier momento antes de los 2 minutos, se iniciará en la memoria de la aplicación.
Cuando finalmente ingresa al modo DFU, se comporta como se espera.
Curiosamente, esto solo funcionará en Mac.
Intentando lo mismo en Windows, manteniendo presionado el botón mientras reinicia la alimentación, Windows detectará de inmediato un 'dispositivo desconocido' incluso después de instalar los controladores incluidos en la carpeta de la aplicación de demostración Dfuse. Intentar instalar manualmente el controlador en este 'dispositivo desconocido' y luego devolverá 'el dispositivo no puede iniciarse'.
También hemos implementado una rutina de "saltar al cargador de arranque" dentro de nuestra aplicación principal, que apaga varias cosas antes de saltar al cargador de arranque interno. El uso de este método en Windows traerá el mensaje 'dispositivo desconocido conectado' en Windows. Usando este método en Mac, nunca se detecta nada.
¿Cómo puedo hacer que los controladores del dispositivo ingresen al modo DFU de manera oportuna en nuestro STM32F4?