Stlink: STM32F103 não irá piscar

Criado em 25 jan. 2017  ·  11Comentários  ·  Fonte: stlink-org/stlink

Olá,

Estou tentando fazer o flash de uma placa STM32F103 via SWD com uma placa de descoberta STM32F407. Infelizmente não funciona apenas com a placa STM32F103.

  • [x] Tipo de programador/placa: Stlink/v2
  • [x] Sistema operacional: Mac OS X
  • [x] Versão de ferramentas Stlink stlink: estável 1.2.0 (engarrafado), HEAD, Derramado da garrafa em 2015-10-04
  • [x] Nome da ferramenta de linha de comando Stlink: st-flash
  • [x] Chip de destino (e placa opcional): por exemplo, STM32F103C

Saída:

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 você pode ver, dá 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

Alguém sabe como resolver.
Agradeço antecipadamente.

generadocumention omacOS programmestlinkv2 staturesolved targestm32f1

Comentários muito úteis

Oi, eu tive sucesso ao desbloquear bluepills stm32 usando os seguintes comandos na sessão do terminal openocd:

redefinir parada
bancos de flash
stm32f1x mass_erase 0
stm32f1x desbloquear 0

Depois disso, o dispositivo estava pronto para ser programado novamente.

Todos 11 comentários

Resolvido com o utilitário ST Link.

a placa estava _protegida contra gravação_

Obrigado pelo seu relatório, acho que vou adicionar isso aos documentos para que outras pessoas não falhem com isso.

Oi, você pode me ajudar nisso? Como posso desativar a proteção contra gravação? Estou usando Mac OSX. A ferramenta oficial do utilitário St-link é apenas para Windows, certo?

Você provavelmente poderia apagar em massa primeiro e eu pensei que a proteção contra gravação fosse limpa então. Ou com alguns comandos do openocd (tem mais recursos que o texane/stlink).

Obrigado pela sua resposta rápida. Eu tentei apagar o flash, funcionou. No entanto, a questão permanece. Vou tentar usar algum computador com windows para ver o que acontece. :\

Você já viu isso no README?
https://github.com/texane/stlink/commit/0f9e4990ba0cdc295875b219b354fdf42f30a9aa

Ao usar o OpenOCD, você provavelmente poderia invocar os comandos monitor stm32f1x unlock 0 (não testados). Consulte http://openocd.org/doc/html/Flash-Commands.html.

Executei o utilitário ST-LINK (no Windows) e fui em Target > Option Bytes... > Disable Read Out Protection (combo box). Pronto, problema resolvido.

Eu poderia encontrar pistas sobre como desativar a proteção de leitura usando o openOCD seguindo este link: http://www.openstm32.org/forumthread562. Estou usando a Blue Pill Stm32F103c8t6 uma placa chinesa. Basta adicionar a linha "monitor flash protect 0 0 11 off" ao script de inicialização do openOCD. [Não testado]

Oi, eu tive sucesso ao desbloquear bluepills stm32 usando os seguintes comandos na sessão do terminal openocd:

redefinir parada
bancos de flash
stm32f1x mass_erase 0
stm32f1x desbloquear 0

Depois disso, o dispositivo estava pronto para ser programado novamente.

@jeroavf Obrigado! Isso funcionou para mim e --probe agora retorna 65536 (parece que eu tenho um dos poucos modelos de 64kb), além de piscar corretamente.

Engraçado, ao fazer o passo mass_erase ele até pensa que é 128kb, mas deixa pra lá.

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

Obrigado, consegui desbloquear alguns STM32F437 com um apagamento completo do chip com o utilitário Windows ST-Link, agora isso está funcionando novamente no linux st-link :-)

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

lkord picture lkord  ·  14Comentários

lulle2007200 picture lulle2007200  ·  12Comentários

yosoufe picture yosoufe  ·  12Comentários

grzegorz-kraszewski picture grzegorz-kraszewski  ·  9Comentários

purjus74 picture purjus74  ·  12Comentários