Como gravar o firmware com a ferramenta CH347
Como gravar uma imagem .bin numa placa 75T ou 100T com o CH347FpgaDownloadTool: estrutura da pasta, o modelo de FPGA certo, qual porta usar e como conferir a gravação depois.
Resposta curta
Coloque o .bin dentro da pasta CH347FPGATool. Rode o CH347FpgaDownloadTool.exe com o cabo na porta JTAG da placa. Selecione xc7a75t ou xc7a100t conforme a sua placa. Mude o formato de arquivo para BIN antes de gravar. Depois que a gravação der certo, desligue e ligue o PC de jogo, passe o cabo para a porta de dados e rode um teste de conexão.
Nesta página11
- O que a gravação realmente escreve
- Caminhos, ferramentas e nomes de arquivo
- Antes de abrir a ferramenta
- A gravação, na ordem
- Selecionar o modelo de FPGA errado
- Não interrompa uma gravação em andamento
- Como é uma gravação bem-sucedida
- Como conferir depois
- Quando a gravação falha
- Perguntas sobre gravação
- Fontes
O que a gravação realmente escreve
O CH347 da sua placa é uma ponte USB da WCH que expõe uma porta JTAG por USB. A ferramenta de gravação usa esse caminho JTAG para escrever a sua imagem de firmware no chip de memória flash SPI que fica ao lado do FPGA. Nada é escrito no próprio FPGA de um jeito que sobreviva à queda de energia: a cada vez que liga, o FPGA lê a flash e se configura com o que encontrar lá. O mecanismo é esse, e é por isso que uma imagem ruim significa uma placa que não aparece, e não uma placa destruída.
Caminhos, ferramentas e nomes de arquivo
Os nomes estão exatos, porque é aqui que um erro de digitação custa uma noite. Use as cópias entregues com o seu pedido ou as do recurso Downloads, não um espelho qualquer.
C:\CH347FPGATool\
C:\CH347FPGATool\CH347FpgaDownloadTool.exe
C:\CH347FPGATool\your-order-image.bin
FPGA part selector: xc7a75t (75T boards)
FPGA part selector: xc7a100t (100T boards)
File format selector: BIN (not BIT)Antes de abrir a ferramenta
Seis itens. Cada um deles é um chamado de suporte que não precisava ser aberto.
- Você sabe se a sua placa é 75T ou 100T — leia a marcação do FPGA, não confie no anúncio
- A imagem que você está prestes a gravar foi compilada para esta placa e para este DNA ID
- O driver CH347 ou WCH está instalado no segundo PC
- O cabo é um USB de dados de verdade, ligado na porta JTAG da placa e numa porta USB traseira
- A placa está energizada — na maioria das placas isso quer dizer encaixada no PC de jogo, com o PC de jogo ligado
- Nada mais no segundo PC está segurando o dispositivo USB: o leitor e o MemProcFS estão fechados
A gravação, na ordem
Não improvise a ordem. A seleção do modelo e a do formato precisam estar certas antes de você escolher o arquivo, porque algumas versões da ferramenta zeram o caminho do arquivo quando você mexe em qualquer uma das duas.
- Copie a pasta CH347FPGATool para um lugar de caminho curto e coloque a sua imagem .bin dentro dela
- Passe o cabo USB para a porta JTAG da placa, numa porta USB traseira do segundo PC
- Rode o CH347FpgaDownloadTool.exe — como administrador, se a ferramenta disser que não consegue abrir o dispositivo
- No campo FPGA, selecione o modelo que corresponde ao seu silício: xc7a75t ou xc7a100t
- Mude o seletor de formato de arquivo de BIT para BIN
- Clique no botão de arquivo e escolha a sua imagem .bin
- Inicie a gravação e não mexa na máquina — reserve alguns minutos
- Espere a própria ferramenta informar sucesso antes de tocar em qualquer coisa
Atenção
Selecionar o modelo de FPGA errado
O seletor de modelo diz à ferramenta qual dispositivo JTAG ela deve encontrar. Um 100T selecionado num silício 75T normalmente não abre a cadeia e se recusa a gravar, porque o IDCODE do JTAG não bate. Não trate isso como rede de segurança. Parta do princípio de que um modelo errado é um trabalho de recuperação, confirme a marcação do FPGA na placa antes de selecionar qualquer coisa e, se não conseguir ler a marcação, pergunte ao suporte em vez de chutar entre duas opções.
Atenção
Não interrompa uma gravação em andamento
Enquanto a ferramenta está escrevendo, o chip de flash não contém nem a imagem antiga nem a nova. Arrancar o cabo, deixar o segundo PC dormir ou cortar a energia do PC de jogo nesse momento é a única ação deste guia inteiro que produz, de forma confiável, uma placa que não enumera. Desative a suspensão do segundo PC antes, se ele for agressivo nisso.
Como é uma gravação bem-sucedida
Quem manda aqui é a ferramenta, não os LEDs da placa. LEDs numa placa DMA costumam ser indicadores de energia e de atividade, e vão acender mesmo com uma imagem corrompida na flash.
- Duração
- Alguns minutos para uma imagem completa. Uma gravação que termina em segundos não escreveu nada
- Saída da ferramenta
- Uma linha explícita de conclusão ou sucesso, sem linhas de erro acima dela
- Progresso
- Um indicador de progresso que chegou ao fim, em vez de travar no meio
- Não é prova
- Os LEDs da placa. Eles dizem energizada, não configurada
- Próxima ação
- Desligamento total do PC de jogo, não uma reinicialização. O slot precisa perder energia
Como conferir depois
Uma gravação só está conferida quando a placa volta como dispositivo PCIe e um leitor consegue falar com ela. Seis passos, nesta ordem.
- Desligue o PC de jogo por completo, espere dez segundos e ligue de novo
- Passe o cabo USB da porta JTAG para a porta de dados (DATA) da placa
- No segundo PC, confirme que o dispositivo de dados FTDI aparece no Gerenciador de Dispositivos sem triângulo de aviso
- Rode o teste de conexão entregue com o seu pedido e confirme que ele chega até a placa
- Leia o DNA ID e confira se ele bate com o ID para o qual a imagem foi compilada
- Só então abra qualquer coisa que realmente leia memória
Quando a gravação falha
Vá descendo a lista. A correção de cada linha custa menos que a da linha de baixo, então não comece assumindo que a placa morreu.
| Sintoma | Causa provável | Solução |
|---|---|---|
| A ferramenta não consegue abrir o dispositivo, ou não lista dispositivo nenhum | O cabo está na porta de dados, falta o driver CH347, ou outro processo está segurando o dispositivo | Passe o cabo para a porta JTAG, instale o driver CH347 ou WCH, feche o leitor e o MemProcFS e rode a ferramenta como administrador |
| A cadeia JTAG abre, mas o modelo não bate | xc7a100t selecionado numa placa 75T, ou o contrário | Leia a marcação do FPGA na placa e selecione o modelo correspondente. Não grave nada enquanto a cadeia não mostrar o dispositivo esperado |
| A gravação começa e dá erro no meio do caminho | Link USB no limite, um hub ou header do painel frontal no caminho, ou o segundo PC dormiu durante a escrita | Vá direto numa porta USB traseira com um cabo de dados curto, desative a suspensão e repita a gravação do começo |
| A gravação informa sucesso, mas a placa continua sem enumerar | A imagem foi compilada para outra placa ou outro DNA ID, ou o PC de jogo só foi reiniciado | Dê um boot a frio no PC de jogo, com desligamento total antes. Se ainda assim não aparecer, confira o nome do arquivo da imagem contra o seu pedido antes de gravar de novo |
| A placa enumera, mas o leitor não conecta | O cabo ainda está na porta JTAG, ou falta o driver de dados FTDI | Passe para a porta de dados e instale o driver FTDI D3XX no segundo PC. Isso é problema de driver, não de firmware |
| Nada de nada depois de uma escrita interrompida | A flash guarda uma imagem parcial, então a configuração do FPGA nunca termina | Grave a imagem correta de novo pela mesma porta JTAG. O JTAG não depende do conteúdo da flash, então isso normalmente tem recuperação |
Perguntas sobre gravação
Dá para gravar pelo PC de jogo em vez do segundo PC?
Não. A ferramenta fala com a placa por USB na porta JTAG, e esse cabo pertence ao segundo PC. O único papel do PC de jogo é energizar o slot.
O correto é BIT ou BIN?
BIN. A opção BIT configura o FPGA direto e se perde quando a energia cai. Imagens de firmware para placas DMA são escritas na flash SPI, que é o caminho do BIN.
Quanto tempo deve levar uma gravação?
Alguns minutos para uma imagem completa. Se a ferramenta disser que concluiu depois de dois segundos, quase certamente não escreveu nada, então confira o seletor de formato e o caminho do arquivo.
Preciso apagar a flash antes?
Não. A ferramenta cuida do apagamento como parte da gravação. Passos de apagamento manual tirados de tutoriais genéricos de FPGA não são necessários aqui e ainda abrem uma janela em que a placa fica sem imagem nenhuma.
Posso gravar a mesma imagem duas vezes?
Pode, e não faz mal. Regravar é um primeiro movimento razoável quando a placa se comporta de forma estranha depois de uma escrita interrompida, porque tira qualquer dúvida sobre o que está na flash.
Fontes
A estrutura da pasta, a ordem dos passos e a tabela de erros são nossas. Vêm de gravar essas placas e dos chamados de suporte.
- 01AMD/Xilinx UG910, Vivado Design Suite User Guide: Getting Started
o fluxo de programação do dispositivo, em que a configuração gravada direto no FPGA se perde ao desligar e a imagem na memória flash permanece
docs.amd.com
- 02AMD/Xilinx DS180, 7 Series FPGAs Data Sheet: Overview
que xc7a75t e xc7a100t são chips Artix-7 diferentes, então o seletor de modelo precisa bater com o silício da placa
docs.amd.com
Leia em seguida
Ainda travado? Abra um ticket no Discord
Todos os guias