Stlink: STM32F030R8T6: erro de execução do carregador de flash

Criado em 17 mai. 2020  ·  9Comentários  ·  Fonte: stlink-org/stlink

  • Programador / tipo de placa: ST-Link v2.1
  • Versão do firmware do programador: STSW-LINK007 2.37.26
  • Sistema operacional e versão: Linux, XUbuntu 18.04 LTS
  • Versão das ferramentas Stlink e / ou hash do git commit: 1.6.0-311-ga98b094
  • Nome da ferramenta de linha de comando Stlink: st-flash
  • Chip alvo (e placa, se aplicável): STM32F030R8T6, Nucleo-64

Saída de linha de comando:

> st-flash write dioda.bin 0x08000000
st-flash 1.6.0-311-ga98b094
2020-05-17T17:59:37 INFO common.c: F0xx: 8 KiB SRAM, 64 KiB flash in at least 1 KiB pages.
file dioda.bin md5 checksum: d3ad84699b33f431b86a77e53b16b11a, stlink checksum: 0x0000080b
2020-05-17T17:59:37 INFO common.c: Attempting to write 56 (0x38) bytes to stm32 address: 134217728 (0x8000000)
2020-05-17T17:59:37 INFO common.c: Flash page at addr: 0x08000000 erased
2020-05-17T17:59:37 INFO common.c: Finished erasing 1 pages of 1024 (0x400) bytes
2020-05-17T17:59:37 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
2020-05-17T17:59:37 INFO flash_loader.c: Successfully loaded flash loader in sram
2020-05-17T17:59:37 ERROR flash_loader.c: flash loader run error
2020-05-17T17:59:37 ERROR common.c: stlink_flash_loader_run(0x8000000) failed! == -1
stlink_fwrite_flash() == -1

Esperado / descrição:

Espere que seja exibido, é claro. Mais informações:

  • st-info reconhece o programador
  • adicionar --reset ao st-flash não ajuda
  • dar força ao tabuleiro não ajuda
  • apagar em massa o chip antes de piscar não ajuda
  • placa Nucleo semelhante com STM32F103RBT6 (a mesma versão de firmware ST-Link) pisca perfeitamente com o mesmo software e cabo USB
bufixed componenst-flash erroflash-loader olinux programmestlinkv2-1 staturesolved targestm32f0

Comentários muito úteis

Você pode experimentar meu ramo (com uma correção rápida e suja, apenas como uma prova do meu pensamento)?

Construí a partir do seu branch e posso confirmar, corrige o problema.

Todos 9 comentários

Talvez eu saiba qual é o problema aqui. Você pode experimentar meu ramo (com uma correção rápida e suja, apenas como uma prova do meu pensamento)?

https://github.com/chenguokai/stlink/tree/stlink-v3_pre

Se eu estiver certo, o problema está relacionado ao código não-PIC de novos flashloaders combinado com uma correção suja no flashloader.c.

Você pode experimentar meu ramo (com uma correção rápida e suja, apenas como uma prova do meu pensamento)?

Construí a partir do seu branch e posso confirmar, corrige o problema.

@chenguokai : O que temos aqui?

Como mencionei, os flashloaders licenciados pela GPL são PIC (código independente de posição), enquanto os novos não são. É também por isso que precisei escrever um script de vinculador, especificando o endereço base.

Ao desmontar os flashloaders compilados, reconheci que o modo de endereçamento era relativo ao PC (contador de programa). Eu pensei que eles eram tipos de PIC, então mantive o hack sujo como um marco no flashloader.c. A partir desse problema, posso confirmar que o código do flashloader definitivamente não é PIC, então os dois nops devem ser adicionados ao código do flashloader em vez de anexados antes de um binário.

Ok, então, você pode entregar um PR para o lançamento de junho, mas certifique-se de ramificar develop vez de stlink-v3_pre que eu apaguei após o último PR. Não sei se isso pode causar efeitos colaterais.

@ grzegorz-kraszewski Por favor, verifique se meu PR corrige este problema :-)

@ grzegorz-kraszewski Por favor, verifique se meu PR corrige este problema :-)

Não tenho certeza, pois aciona outro:

> st-flash write ~/dioda_f030.bin 0x08000000
st-flash 1.6.0-314-g273e798
2020-05-18T10:59:30 WARN common.c: unknown chip id! 0x374b
Failed to connect to target

@ grzegorz-kraszewski: Parece um tópico diferente. Por favor, abra um novo tíquete para isso.

Não tenho certeza, pois aciona outro:

Reiniciar ou desconectar e conectar ajuda?

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