STM32F103: ST-Link en realidad no actualiza el firmware al reprogramar a menos que reinicie ST-Link

Acabo de recibir una nueva placa STM32F103 en lugar del F3 Discovery, no puedo hacer funcionar OpenOCD, así que estoy atascado con ST-Link para volver a flashear. Y hoy pasé de 3 a 4 horas tratando de averiguar por qué mi firmware no funcionaba. Bueno, me acabo de enterar: todo funciona, pero ST-Link solo parpadeará una vez y luego no actualizará el firmware a menos que reinicie el programa, ¡aunque siempre se informa el éxito! Presionar "reset" en el tablero manualmente tampoco tiene efecto. Entonces:

  1. Abra ST-Link, programa - OK; edite el código y reconstruya hexadecimal, programa - no está bien. Juegue con todos los comandos ST-Link, incluido el borrado de chip, pero aún no está bien.
  2. Abra ST-Link, programa - OK; edite el código y reconstruya el hexadecimal, cierre ST-Link y vuelva a abrirlo , programe - ¡OK!

Hacer menú -> Destino -> Comparar la memoria del dispositivo con ***.hex también siempre no encuentra ninguna diferencia a menos que vuelva a ejecutar ST-Link. Es como si estuviera almacenando en caché el .hex en algún lugar de su memoria sin tener en cuenta sus cambios en el disco.

No es que no pueda molestarme en volver a ejecutar ST-Link cada vez, pero ¿qué está pasando? Mi proyecto favorito depende de STM32, estoy atrasado, otras personas me están esperando y cada vez que tengo que hacer cambios en la configuración, se rompe algo nuevo. Necesito mejorar mi comprensión del entorno STM32 lo antes posible para evitar más problemas.

¿Qué tal si reinstalas la aplicación ST-link? ¿Actualizar los controladores? Busque la solución en los foros de soporte de ST. Tienen soporte absoluto en todos los productos. ¿Quieres otra sugerencia? Intenta hacerlo en otra PC. Si el problema persiste, la placa puede estar defectuosa. ¡TAL VEZ!
@ammar.cma: se probaron 2 PC diferentes, ambas tenían ST-Link instalado hoy. Supongo que los foros de ST están bien, pero los tiempos de respuesta de más de 24 horas no me animarán en este caso particular:/ ¿Cómo es esto una falla de la placa? Definitivamente me parece un error de ST-link.
Si la placa se programa cada vez que se vuelve a abrir el software; No creo que haya problema con la placa. ¿El software de programación puede tener errores?. Si desea un desarrollo rápido en tableros ST; intenta usar CooCox. Más fácil y rápido de usar.

Respuestas (1)

Debe volver a abrir el archivo hexadecimal después de un 'archivo' de reconstrucción externa -> abrir. El archivo hexadecimal se carga en memore y no se volverá a abrir si se cambia en la memoria.

Sí, parece ser por diseño: una decisión bastante mala, en mi opinión.