Índice:

Como atualizar o firmware em um clone USBasp barato: 9 etapas
Como atualizar o firmware em um clone USBasp barato: 9 etapas

Vídeo: Como atualizar o firmware em um clone USBasp barato: 9 etapas

Vídeo: Como atualizar o firmware em um clone USBasp barato: 9 etapas
Vídeo: How to Upgrade eBay Red Wrapped SimonK 30A ESC 2024, Novembro
Anonim
Como atualizar o firmware em um clone USBasp barato
Como atualizar o firmware em um clone USBasp barato

Este é um pequeno guia para atualizar o novo firmware em um clone USBasp como o meu. Este guia foi escrito especificamente para o clone USBasp visto nas fotos, no entanto, ele ainda deve funcionar com outros. A fiação é mostrada na etapa 5, há um TL; DR na etapa 9.

Aproveitar!

Etapa 1: o problema

O problema
O problema
O problema
O problema

Avrdude me disse que o programador que estou usando tem firmware desatualizado. O jumper normal para autoprogramação não existe na minha placa. Aqui está como consertar isso. Esquemas para o USBasp podem ser encontrados em fischl.de.

Etapa 2: Materiais necessários

Você vai precisar …

  • Um ferro de solda
  • Um Arduino (de preferência Nano)
  • Alguns fios de ligação
  • Um PC com o IDE Arduino e avrdude instalados

Etapa 3: a solução

A solução
A solução
A solução
A solução
A solução
A solução

Para que possamos atualizar o novo firmware no ATmega8, precisamos obter o controle de seu pino RESET. Normalmente, um jumper no USBasp pode ser fechado para permitir a autoprogramação, mas o fabricante da minha placa não incluiu um.

No ATmega8, o pino RESET é o pino 29, o quarto pino no topo da esquerda. Ele é conectado a um resistor pull-up de 10k a 5V. Temos que conectá-lo ao pino 5 do cabeçalho ICSP.

Poderíamos tentar soldar um fio diretamente no resistor ou no próprio pino, porém é tedioso e pode danificar sua placa. (Eu tentei e arranquei o resistor pull-up, não recomendo) Além disso, há uma maneira muito mais fácil!

Embora o fabricante não tenha incluído um jumper real para permitir a autoprogramação, ele colocou um cabeçalho embaixo do microcontrolador. Podemos simplesmente soldar um fio e …

Etapa 4: Voilà

Voilà!
Voilà!

Conectamos os dois pinos de reinicialização! Os dois orifícios na parte inferior conectam os pinos 29 e 14 do microcontrolador.

Etapa 5: Configurando o Arduino

Para atualizar o novo firmware para o programador, precisamos de outro programador, neste caso um Arduino com o esboço do ArduinoISP nele. Apenas para ter certeza de que sua configuração é a mesma, descomente a linha 81

// #define USE_OLD_STYLE_WIRING

Agora conecte o Arduino com o cabeçalho ICSP em seu programador.

Arduino USBasp

5V Pino 2 (VCC) GND Pino 4/6/8/10 (GND) Pino 10 Pino 5 (reiniciar) Pino 11 Pino 9 (MISO) Pino 12 Pino 1 (MOSI) Pino 13 Pino 7 (SCK)

O USBasp permanece desconectado do PC.

Abra um terminal e digite

avrdude -cavrisp -pm8 -b19200 -P [Seu número de porta vai aqui, deve ser o mesmo que no IDE do Arduino]

Se tudo correr bem, avrdude deverá imprimir algumas informações sobre o ATmega8 (fusíveis, assinatura, etc.)

Etapa 6: atualizando o ATmega8

Para fazer o flash do chip, ainda precisamos do firmware. Acesse fisch.de e baixe a versão mais recente. Extraia o arquivo e navegue até ele usando o shell.

Compilar o código não funcionou para mim, mas felizmente o arquivo contém todos os programas compilados em

bin / firmware

Aqui você deve ver três arquivos.hex. Escolha aquele com o mesmo nome do seu chip. Meu programador usa um ATmega8, então escolhi

usbasp.atmega8.yyyy-mm-dd.hex

Com uma conexão funcional para o ATmega8, piscar deve exigir apenas digitação

avrdude -cavrisp -pm8 -b19200 -P [PORTA] -U flash: w: [arquivo hex]

Se tudo foi feito corretamente, avrdude deve escrever e verificar o firmware selecionado.

Etapa 7: Certificar-se de que o programador funciona

Certificando-se de que o programador funciona
Certificando-se de que o programador funciona

Para usar o USBasp como um programador novamente, temos que remover a conexão entre os pinos 29 e 14. Cortar o jumper na parte inferior deve ser suficiente, mas removê-lo também não fará mal.

Você pode experimentar conectando-o de volta ao PC e digitando

avrdude -cusbasp -pm8

Mesmo que o avrdude não consiga atingir o alvo, ele deve pelo menos reconhecer o novo firmware do nosso programador.

Etapa 8: Solução de problemas

Solução de problemas
Solução de problemas

Caso avrdude mostre um erro como este, provavelmente tem algo a ver com o recurso de reinicialização automática do Arduino. Para contornar isso, adicione um capacitor entre RESET e GND do Arduino. Geralmente é recomendado usar um capacitor de 10µF, entretanto, no meu caso, um capacitor de 100µF funcionou bem.

Você deve obter um erro como

avrdude: erro: ativar o programa: o destino não atende. 1

ou uma assinatura inválida for retornada, verifique sua fiação. Tive um problema com meus cabos de alimentação enferrujando e não conduzindo mais eletricidade. Eu recomendo verificar todos os fios do jumper com antecedência.

Certifique-se também de alternar os pinos 11 e 12 no Arduino, se o problema persistir.

Certifique-se também de definir a taxa de transmissão correta para o Arduino como ISP, 19200. Ela pode ser definida com a opção

-b19200

Se você tiver alguma dúvida ou tiver detectado um erro, entre em contato comigo:)

Etapa 9: TL; DR

  1. Solde um fio entre os dois pinos na parte inferior da placa
  2. Configure um Arduino como ISP, certificando-se de habilitar o esquema de fiação antigo
  3. Conecte o Arduino ao programador através do cabeçalho ICSP
  4. Atualize o novo firmware para o programador
  5. Remova a conexão na parte inferior
  6. Não roube nenhum resistor SMD

Recomendado: