Gravando seus AVR's

Você já viu por aqui muitas partes do meu mini-curso sobre AVR, pois bem, e como gravar a flash e a e²prom deles?

Existem muitos modos de se fazer isso, vou apresentar os que fiz por aqui, e já estão aprovados!

Vamos começar com os circuitos, o primeiro é o super fácil de fazer STK-200, montei ele dentro de uma capa de conector db25, numa plaquinha padrão, ficou porco mas funciona, e já faz 3 anos isso..



O esquema vai na figura ao lado, simples fácil e rápido de montar e não precisa de 13V como certos microcontroladores que conheço.

Outra alternativa caseira é o usbasp:

http://www.fischl.de/usbasp/

E o que é isso? Pasme, um programador para AVR usando USB e um ATMEGA8, que custa menos de 5 reais comprado por aí.

Uma coisa há de se notar, é que o ATMEGA8 não tem hardware USB, logo tudo é feito por software, e exige um bom processamento, há uma biblioteca feita só para isso, mas é assunto para outro post.

Outra alternativa, agora paga é por a mão no bolso e comprar um AVRISP ou um AVRDragon, tenho os dois aqui, a vantagem é a seguinte, a programação é feita pelo AVRStudio, e você não precisa de gastar nenhum tempo arrumando nada.

Eu por exemplo tenho um AVRISP xingling, da sure electronics, o único problema dele é que você não pode atualizar o firmware, já que a placa não tem os componentes para fazer isso, eu descobri isso da pior maneira e foi até um post do meu fotolog.

Esse é o AVRISP da Sure electronics, repare que nos meus produtos e projetos eu não uso o conector de 10 pinos ISP padrão, simplesmente porquê usando esse meu padrão fica mais fácil rotear as trilhas e o espaço ocupado com um conector que mal é utilizado é menor.

Agora na parte do software, quais softwares usar para programar:

O primeiro é o já falado no post do 8051, ISP Programmer, dê uma olhada no post, ele também suporta AVR e a interface paralela você pode mesmo fazer uma custom e as normais como essa do STK200 e as comuns em JTAG, como cabos paralelos da Altera e Xilinx estão predefinidas lá.

Outro programa que uso é o AVRDUDE, ele trabalha tanto com STK200, AVRISP e o USBASP, muito bom, utilizo ele em conjunto com shell scripts no Linux ou com arquivos .bat no Ruindows, lá vai o link:
http://savannah.nongnu.org/projects/avrdude

Exemplos de comandos, se por acaso sobrou alguma duvida após entrar com usbasp no prompt ou shell.
http://www.nongnu.org/avrdude/user-manual/avrdude_6.html#Example-Command-Line-Invocations

Há um detalhe, se você mandar os fuses que definem a fonte de clock da cpu para um clock gerado externamente e não houver clock no devido pino, obviamente você não conseguirá mais reprogramar o avr pelo método serial (ISP), daí há duas possíveis soluções:
1-Você gera o clock externamente
2-Você usa o método de programação HV (12V)

Para o 2 há vários programadores por aí, mas vou focar no 1, já que testei aqui, o programa é o AVReAl, também em linha de comando (sim eu gosto disso), o que testei aqui foi o mesmo cabo STK200, porém com uma linha a mais para o clock, deixando a placa ainda mais feia..
http://real.kiev.ua/avreal/langswitch_lang/en/

Enfim, esse foi um pequeno resumo dos programas e interface que eu conheço para gravar AVR's, há várias outras, é questão de vasculha o google e procurar!

Gostou? Comente! Não gostou? Vá pescar! :P

2 comentários:

Unknown disse...

Muito bom este curso !

http://www.orkut.com.br/Main#AlbumZoom?gwt=1&uid=11700791616144359429&aid=1284037494&pid=1287004714411

"as coisas simples funcionam muito bem !"

dfberquo disse...

O esquema do STK-200 não está aparecendo!

Postar um comentário