Eclipse y OpenOCD solo funcionan si programo la MCU en la placa Discovery

Me gustaría programar y depurar una MCU STM32F030 con Eclipse, OpenOCD y ST-link. Tengo una placa Discovery STM32F4 que incluye un depurador ST-link.

La programación de la MCU STM32F4 en la placa de descubrimiento funciona muy bien. Yo uso Eclipse, OpenOCD y ST-link (ST-link en realidad está en la placa). Con esta configuración IDE, creo que debería poder programar otros microcontroladores STM que están en PCB diferentes (por supuesto, después de conectarlos entre sí y apagar los puentes para seleccionar el objetivo)

Mi problema es: me gustaría programar un MCU STM32F030. Cuando conecto esta MCU al ST-link, "STM32 ST-link Utility" dice que la conexión está bien, así que supongo que debería poder programarla. Pero cuando trato de programarlo, Eclipse siempre muestra el mismo mensaje de error: "Salir (señal esperada SIGINT cuando se reanuda el programa) - Condición de excepción detectada en fd 0 - error detectado en stdin"

Probablemente el problema esté en la configuración de mi IDE, pero no tengo idea de qué podría ser. ¿Cómo es posible que pueda programar la MCU de la placa de descubrimiento pero no pueda hacer lo mismo con otra MCU?

¿Tiene alguna idea?

¿Ha configurado la MCU de destino correcta en su proyecto Eclipse y la configuración de OpenOCD? Además, a veces es necesario seleccionar la rutina de flash adecuada para el objetivo (no estoy familiarizado con OpenOCD, es solo un problema común al cambiar entre objetivos)
Nota para otros que puedan tener el mismo problema: antes de conectar el ST-Link incorporado a otra placa, asegúrese de que los puentes correctos estén desconectados; consulte el manual del usuario de la placa nucleo/... para obtener más detalles.

Respuestas (1)

@Arsenal tiene razón. OpenOCD requiere un archivo de configuración específico de la placa que, en su caso, probablemente sea para un STM32F4. En Configuración de depuración, verifique la pestaña Depurador de su depurador OpenOCD y cambie el archivo de configuración en Otras opciones para que coincida con su tablero.

ingrese la descripción de la imagen aquí

Puede comprobar los archivos de configuración existentes/disponibles en los siguientes directorios:

\openocd-0.9.0\tcl\objetivo

\openocd-0.9.0\tcl\tablero

Para un STM32F030, board/stm32f0discovery.cfg debería funcionar (para un STM32F303RET6, board /stm32f3discovery.cfg funcionó bien para mí), pero también hay un archivo target/stm32f0x.cfg , si quiere probarlo.