Stlink: STM32F103 no parpadea

Creado en 25 ene. 2017  ·  11Comentarios  ·  Fuente: stlink-org/stlink

Hola,

Estoy tratando de flashear una placa STM32F103 a través de SWD con una placa Discovery STM32F407. Desafortunadamente, no funciona solo con la placa STM32F103.

  • [x] Programador/tipo de placa: Stlink/v2
  • [x] Sistema operativo: Mac OS X
  • [x] Stlink tools versión stlink: estable 1.2.0 (embotellado), HEAD, vertido de la botella el 2015-10-04
  • [x] Nombre de la herramienta de línea de comandos de Stlink: st-flash
  • [x] Chip de destino (y placa opcional): por ejemplo, STM32F103C

Producción:

st-flash write prog.bin 0x8000000
2017-01-24T18:44:14 INFO src/stlink-common.c: Loading device parameters....
2017-01-24T18:44:14 INFO src/stlink-common.c: Device connected is: F1 High-density device, id 0x10036414
2017-01-24T18:44:14 INFO src/stlink-common.c: SRAM size: 0x10000 bytes (64 KiB), Flash: 0 bytes (0 KiB) in pages of 2048 bytes

Como puede ver, da algo inesperado como
Flash: 0 bytes (0 KiB) in pages of 2048 bytes

st-info --probe
Found 1 stlink programmers
 serial: 303030303030303030303031
openocd: "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x31"
  flash: 0 (pagesize: 2048)
   sram: 65536
 chipid: 0x0414
  descr: F1 High-density device

Alguien sabe como resolverlo.
Gracias de antemano.

generadocumention omacOS programmestlinkv2 staturesolved targestm32f1

Comentario más útil

Hola, tuve éxito al desbloquear stm32 bluepills usando los siguientes comandos en la sesión de terminal openocd:

restablecer detener
bancos flash
stm32f1x mass_erase 0
stm32f1x desbloquear 0

Después de eso, el dispositivo estaba listo para ser programado nuevamente.

Todos 11 comentarios

Resuelto con la utilidad ST Link.

la placa estaba _protegida contra escritura_

Gracias por su informe, creo que agregaré esto a los documentos para que otras personas no fallen con esto.

hola, me puedes ayudar con eso? ¿Cómo puedo desactivar la protección contra escritura? Estoy usando Mac OSX. La herramienta de utilidad oficial de St-link es solo para Windows, ¿verdad?

Probablemente podría borrar en masa primero y pensé que la protección contra escritura se borra entonces. O con algunos comandos de openocd (tiene más características que texane/stlink).

Gracias por tu rápida respuesta. He intentado borrar el flash, funcionó. Sin embargo, el problema permanece. Intentaré usar alguna computadora con Windows para ver qué sucede. :\

¿Has visto esto en el LÉAME?
https://github.com/texane/stlink/commit/0f9e4990ba0cdc295875b219b354fdf42f30a9aa

Al usar OpenOCD, probablemente podría invocar los comandos monitor stm32f1x unlock 0 (no probado). Consulte http://openocd.org/doc/html/Flash-Commands.html.

Ejecuté la utilidad ST-LINK (en Windows) y fui a Target > Option Bytes... > Disable Read Out Protection (cuadro combinado). Listo, problema resuelto.

Pude encontrar una pista sobre cómo deshabilitar la protección de lectura usando openOCD siguiendo este enlace: http://www.openstm32.org/forumthread562. Estoy usando Blue Pill Stm32F103c8t6, ​​una placa china. Solo es necesario agregar la línea "monitor flash protect 0 0 11 off" al script de inicio de openOCD. [No probado]

Hola, tuve éxito al desbloquear stm32 bluepills usando los siguientes comandos en la sesión de terminal openocd:

restablecer detener
bancos flash
stm32f1x mass_erase 0
stm32f1x desbloquear 0

Después de eso, el dispositivo estaba listo para ser programado nuevamente.

@jeroavf ¡Gracias! Esto funcionó para mí y --probe ahora devuelve 65536 (parece que obtuve uno de los pocos modelos de 64kb), además de parpadear correctamente.

Un poco divertido, al hacer el paso de mass_erase incluso piensa que es 128kb, pero no importa.

STM32 flash size failed, probe inaccurate - assuming 128k flash
flash size = 128kbytes

Gracias, pude desbloquear algunos STM32F437 con un borrado completo del chip con la utilidad ST-Link de Windows, ahora esto está funcionando nuevamente en Linux st-link :-)

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