Intento implementar un VCP en un STM32F105RB con el STM32_USB-Host-Device_Lib_V2.2.0
Pude compilar el Código con éxito.
Mi configuración de Hardwar es la siguiente:
Mini USB directamente (sin resistencias en serie) a D + y D- del STM32. + 3.3V a PA9 (para BusSensing)
Después de iniciar la depuración en atollic, el host detecta un nuevo dispositivo pero no aparece en el administrador de dispositivos.
Después de unos segundos, obtengo un BusFault en el STM. El BFARVALID está configurado y el BFAR es 0x1FFF 7A10
Esto es interesante, ya que el espacio de direcciones entre 0x0804 0000 - 0x1FFF AFFF está reservado.
Si reinicio el firmware 2-3 veces (NO el proceso de depuración, solo hago un reinicio por software y no un reinicio por hardware) y hago clic en ejecutar nuevamente, luego se detecta el VCP correctamente después de algunos intentos. Muestra un COM9 que no funciona y un COM10 que funciona en el administrador de dispositivos. Y ya no termina en la falla del bus.
¿Puede alguien ayudarme a resolver este problema?
Gracias
Se adjuntan los registros en BusFault y el desmontaje.
Desmontaje de la dirección RAM
Desmontaje de la dirección del SP
Actualización:
Diseño: Diseño del Breakoutboard
Esquema: Esquema
Documentación: Enlace
Para VBUS-Sensing, he conectado PA9 con + 3.3V. Mi tarjeta se alimenta a través de USB. Entonces, tan pronto como conecto el cable USB, la placa obtiene su alimentación y tan pronto como 3.3V se activa, VBUS-Sense (PA9) también es alta.