5 votos

STM32F3 Descubrimiento de + GNU BRAZO plugin + OpenOCD - no se puede cargar el binario en el tablero

Estoy usando GNU BRAZO plugin para Eclipse con Abrir el TOC como un depurador. Esto es en Windows 10 x64. El problema que estoy enfrentando es la siguiente error al intentar depurar o ejecutar el programa de ejemplo:

Error en la final de la secuencia de lanzamiento
No se pudo ejecutar MI comando: load C:\Development\stm32-test\Debug\stm32-test.elf
Mensaje de Error de depurador de la parte final:
Error de carga
No se pudo ejecutar MI comando: load C:\Development\stm32-test\Debug\stm32-test.elf
Mensaje de Error de depurador de la parte final:
Error de carga
Error de carga

Hay varios tipos de STM32 plantillas de proyecto que el BRAZO plugin ofrece. Más en particular, existe el "STM32Fxxx C/C++ project", y funciona fuera de la caja no hay problema. Pero es incluido con la versión antigua de STM32 de la biblioteca. Yo quería usar la última STM32F3Cube, así que usé el otro de la plantilla - "Hola Mundo ARM Cortex-M C/C++ project", según la recomendación de este artículo. Está diseñado para su uso con el STM32F3Cube, y es el que yo tengo no se puede cargar en la tarjeta.

Por favor, dime lo que se necesita más información para tratar con este problema, o cómo puedo recoger registros más detallados, etc.

P. S. he comparado la configuración de depuración configuración entre el trabajo y los proyectos, y no encontró ninguna diferencia. Mismo .archivo cfg, junto con todo lo demás. Es mi .elf ser rechazado porque hay algo mal con él?

6voto

Ashish Awaghad Puntos 116

Desde el mensaje de error parece que el depurador no puede ubicar el lugar donde el Flash empieza, por lo tanto no se puede cargar el archivo.

En la F4 HAL Eclipse de la plantilla de este Flash origen dirección está configurado correctamente para un STM32, sino porque usted está usando un general Cortex-M de proyecto, esta dirección no es la correcta para un STM.

Este paso se describe en el artículo que usted ha mencionado. Desde el artículo:

Necesitamos configurar la forma en que la aplicación se asigna en el MCU la memoria. Este trabajo es realizado por el vínculo-editor (ld), que utiliza el tres .ld archivos dentro de /ldscripts carpeta de Eclipse. El archivo que estamos interesados es en el mem.ld, y tenemos que cambiar el FLASH de origen dirección de 0x00000000 a 0x08000000, como se muestra a continuación:

...
  FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 512K
...

Este valor puede ser obtenido a partir de la hoja de datos. Aquí es la parte pertinente:

enter image description here

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X