Stlink: STM32F031K6 Nucleo: Regresión entre 1.5.0 y 1.6.0 con secuencia de comandos de enlace mínima

Creado en 4 nov. 2020  ·  5Comentarios  ·  Fuente: stlink-org/stlink

AVISO: Lea y siga las instrucciones en el n. ° 906 antes de enviar un ticket. Por lo tanto, asegúrese de completar todos los campos.

  • [x] Hice un gran esfuerzo para evitar crear un problema duplicado o casi similar

  • Programador / tipo de placa: incorporado

  • Sistema operativo y versión: macOS 15, openSUSE Tumbleweed
  • Versión de las herramientas de Stlink y / o hash de confirmación de git: v1.6.0
  • Nombre de la herramienta de línea de comandos Stlink: st-util
  • Chip de destino (y placa si corresponde): STM32F031K6, STM32F103C8T6 (píldora azul), STM32F3DISCOVERY

Esperado / descripción:

Mi problema surgió mientras seguía el tutorial para un script de enlace mínimo en: https://vivonomicon.com/2018/04/02/bare-metal-stm32-programming-part-1-hello-arm/
El código fuente para esto también se puede encontrar en https://github.com/WRansohoff/STM32F0_minimal

El código se compila, etc. sin problemas.
Luego ejecuto st-util y me conecto a la placa usando arm-none-eabi-gdb main.elf y target extended-remote :4242
Luego cargo el programa usando load main.elf .

Aquí es donde el comportamiento de v1.5.0 y v1.6.0 divergen.
En la versión 1.5.0, el programa se puede recorrer usando si , y puedo entrar en el ciclo y ver que r0 se incrementa.

En v.1.6.0, usar si hace que el contador del programa salte inmediatamente a 0xfffffffe , y el r0 no se incrementa.
Sin embargo, a veces r7 se establece correctamente en 0xdeadbeef .

También hice esto usando OpenOCD 0.10.0, y pude recorrerlo bien.
Debo señalar que construí v1.5.0 desde la fuente usando libusb 1.0.23 y aplicando el parche # 704.

Por favor avíseme si necesita más información.

buneeds-fix buregression componenst-util needinvestigation olinux omacOS programmestlinkv2 programmestlinkv2-1 targestm32f0 targestm32f1 targestm32f3

Todos 5 comentarios

¿De qué tipo de hardware es su programador? Descríbalo con más precisión para completar el conjunto de información básica.
¿Funcionan (de nuevo) las versiones posteriores del conjunto de herramientas?

Estoy usando los programadores incorporados para las placas Nucleo y Discovery, que creo que son ST-Link v2, y un programador USB ST-Link v2 para la pastilla azul.

No funciona en v1.6.1: esta es la versión que estaba usando en macOS, mientras que en openSUSE estaba en v1.6.0.

@gcohara ¿Podrías probar la rama develop ? Lo probé en stm32f07 y funciona.

¡Lo probé en la rama develop y puedo confirmar que está funcionando!
Lo siento, debería haberlo hecho de todos modos.

No cierre los tickets abiertos, ya que esto va en contra de las tareas de mantenimiento y seguimiento regulares. El sistema de seguimiento de incidencias cierra automáticamente los tickets resueltos.

¿Fue útil esta página
0 / 5 - 0 calificaciones