STM32F4 Discovery demonstation ya no funciona

2

Compré un STM32F4 Discovery bastante recientemente, y cuando desempaqué inicialmente el tablero, Lo conecté a mi Mac y el programa ya programado en la demostración funcionaba al 100%. Pude ver los LED parpadeantes y, al presionar el botón de usuario, el acelerómetro actuaría como un controlador de puntero del mouse, moviendo el puntero del mouse sobre la pantalla cuando incliné la placa.

Usé Texane ST-Link y el Sourcery Codebench Lite para compilar algunos otros ejemplos, nada serio, solo un parpadeo básico, y todo funcionaba bien cuando parpadeaba el tablero .

Me tomó un par de semanas para configurar Eclipse CDT con la cadena de herramientas, es un proceso bastante tedioso. Descargué las muestras de ST.com, compilo la Demostración original de la página de la placa de descubrimiento STM32F4. La compilación ahora funciona bien, puedo compilar sin errores, pero cuando destello el tablero con el binario compilado, todo parece funcionar bien.

El indicador LED parpadea bien, y cuando presiono el botón de usuario, una vez más, la placa entra en el modo de acelerómetro. Las luces parpadean cuando la placa está inclinada, pero esta vez la interacción del puntero del mouse se detuvo, el puntero del mouse no se mueve en absoluto.

Intenté verificar si mi cable USB estaba mal conectado, probé un cable diferente, y también probé con otra máquina, pero no importó lo que intenté, no pude hacer que la placa funcionara como un dispositivo USB utilizando la demostración original.

¿Hay alguna forma en que pueda obtener los archivos .hex originales para flashear el tablero, para ver al menos si funciona de la manera que sale de la caja? Estoy adivinando si puedo preguntar si puedo restablecer el tablero al estándar de fábrica, con la demostración original. De esta manera puedo eliminar la posibilidad de que las clavijas USB de la placa se hayan fundido o que algo esté mal con mi cadena de herramientas.

Nueva información

Reuní mis agallas para intentar ejecutar la aplicación en modo de depuración nuevamente, establecer un punto de interrupción donde se está enviando el informe HID. El código llama a USBD_HID_SendReport, pero, según la imagen a continuación, el bloque if (pdev- > dev.device_status == USB_OTG_CONFIGURED) nunca se ejecuta, la función simplemente devuelve USBD_OK

Mirandopdev->dev.device_statusunpocomásprofundo,revelalosiguiente:

El estado del dispositivo es 1, que coincide con USB_OTG_DEFAULT, que es un valor de cuatro, definidos juntos entre:

#define USB_OTG_DEFAULT    1
#define USB_OTG_ADDRESSED  2
#define USB_OTG_CONFIGURED 3
#define USB_OTG_SUSPENDED  4

¿Esto significa algo para alguien? No soy un gran gurú aquí.

    

2 respuestas

1

También tengo la placa Discovery, pero solo la utilicé con Windows y Raisonance toolchain (después de un breve revuelo con el IDE de Atollic y el ST-Link integrado). Sin embargo, no me parece que sea un problema de compilación / plataforma si todo lo demás en la demostración está funcionando bien. Sin embargo, puedes intentar volver a la configuración original para confirmar esto.
Una cosa que noté cuando lo usé fue que el conector USB es bastante delicado (he tenido que resolver un par de conectores mini / micro USB en mis prototipos un par de veces después de usarlos repetidamente)

Por lo que supongo, según su descripción, parece que posiblemente sea una junta de soldadura defectuosa en el conector (micro) USB. Pruebe a probar la continuidad en todos los pines. Será difícil conseguir una sonda allí, así que conecte un cable y la sonda en el lado del conector A (es posible que deba enrollar un poco de cable delgado alrededor de la punta de la sonda o romper el cable), con la otra sonda en una de las clavijas USB del STM32F4, o un punto de conexión a tierra (consulte el manual del usuario, tiene un esquema)
Si tiene un alcance, pruebe los pines USB para ver si hay alguna actividad allí (incluso si el ancho de banda del alcance no es capaz, debería poder ver alguna actividad)

    
respondido por el Oli Glaser
0

He tenido el mismo problema. Parece que las demostraciones fueron escritas para una rev antigua de la junta (lea eso en el foro de ST). El STM32Cube de ST viene con muchos ejemplos, incluido el proyecto Blinky / Accelerometer / HID (usando controladores HAL) y funciona bien.

    
respondido por el John Wick

Lea otras preguntas en las etiquetas