Quando não há nenhum alvo conectado, o programador é encontrado, mas nenhum serial é exibido. Isso não é útil quando extraímos o número de série (e OpenOCD hla_serial
) quando o destino é ligado.
@grevaillot : Você acabou de ganhar este tíquete, porque descobri que seu commit 804c38ead8aef3e4a1640a82a9b9c01f4f60eed1 de alguma forma parece resolver o problema acima (por acidente?). Acho que meu programador STlink-v2 se comporta de maneira diferente desde (exatamente) este commit. Não sei realmente o que causa essa mudança.
Aqui está a saída de st-info --probe
se nenhum dispositivo estiver conectado ao programador:
Antes:
Found 1 stlink programmers
Após:
Found 1 stlink programmers
serial: 3f76050132124647524b4e00
hla-serial: "\x3f\x76\x05\x01\x32\x12\x46\x47\x52\x4b\x4e\x00"
flash: 0 (pagesize: 0)
sram: 0
chipid: 0x0000
descr: unknown device
Eu realmente não entendo por que esse é o caso.
No entanto, como você é o autor, faz sentido que você dê uma olhada nisso.
Eu não tinha conhecimento desse tíquete, mas sim, é intencional. Eu tenho algumas correções para o servidor st-flash e gdb para enviar para a sonda usb retornando algumas informações do st-link sem um alvo conectado, vou marcá-los com esse número de tíquete.
hmm, o commit que você referenciou não é o bom, ele foi corrigido no patchset de retrabalho do probe
@grevaillot Eu realmente não sei o que causa a mudança observada então. Talvez seja apenas uma correção parcial que leva à mudança com este dispositivo ou apenas alguns outros como visto do lado do código, mas não é uma correção completa que aborda todos os dispositivos até então - nenhuma pista disso ainda. Vou tentar meu segundo programador com este commit também (antes e depois). Ambos são dispositivos CKS32F103C8T6.
Aqui está a saída de st-info --probe
com commit 804c38ead8aef3e4a1640a82a9b9c01f4f60eed1 para o segundo programador, que parece ser o mesmo resultado:
Found 1 stlink programmers
serial: 3f70050132124647524b4e00
hla-serial: "\x3f\x70\x05\x01\x32\x12\x46\x47\x52\x4b\x4e\x00"
flash: 0 (pagesize: 0)
sram: 0
chipid: 0x0000
descr: unknown device
enquanto o commit anterior 46bf0abf77cca47133d3839460cc7679e0f78714 retorna:
Found 1 stlink programmers
Ainda me perguntando por que ...
desculpe, me perdi na minha árvore, vamos resumir:
um intermediário cometer o material de retrabalho da sonda poderia permitir obter algum stlink sem o destino conectado para mostrar como "encontrados 1 programadores stlink" sem serial. Isso era um problema, a sonda estava retornando o número de stlink encontrado em vez do número de stlink sondado.
de forma alguma 804c38ead8aef3e4a1640a82a9b9c01f4f60eed1 pode alterar o comportamento da sonda, eu suspeitaria que alguma reconstrução local não tão limpa e problema de teste :)
meu PR https://github.com/stlink-org/stlink/pull/933 deve encerrar esse problema.
A propósito, acho que --probe call talvez deva exibir cpuid. Este nunca deve ser nulo e ajudaria no relatório de bug / suporte a um novo chip. mas isso é outro problema.
@grevaillot : Você está certo, deve ter sido uma reconstrução local não tão limpa: Até agora eu descobri que minhas descobertas derivam das alterações introduzidas pelo manual mais antigo merge-commit aad5cf1901f467914a2efe855c0caff7fdf99048 e, portanto, nenhuma das suas. Consulte também # 863, que deriva do mesmo ramo. Portanto, devemos continuar com o que você mencionou antes. No entanto, isso explica o comportamento observado.