Archive for March 2014

IDE para AVRs

.

Considerando que a versão 4.19 do AVRStudio é a mais estável, menor e mais ágil de todas as existentes, e considerando que o AVRStudio é a ferramenta mais completa existente para programar AVRs em Assembly ou C, e também para simular (que permite ver o conteudo de registradores, status, cpu, contar instruções, medir tempo de execução, etc) e programar os chips, eu diria que não existe nada melhor para tal.

Porém, com o tempo eu fui descobrindo que, se não necessitar de simuladores ou debuggers sofisticados, certas associações de softwares independentes podem resultar numa solução rápida e que, não substitui o AVRStudio, porém dentro de certo ponto de vista é bem mais funcional. Eu tenho usado uma solução assim. Ao longo do tempo fui otimizando essa solução, e parece que, a que eu uso atualmente é a mais viável, ao menos para o meu uso, e da forma que eu desenvolvo meus softwares. Note também, que eu uso isso no Windows8 64 bits, portanto irá rodar em qualquer ambiente Windows, XP, 7, etc. Abaixo, os softwares necessários para montar essa IDE, faça download e instale os links em vermelho.

.

Programmers Notepad 2

O link direto do download do instalador da versão 2.2:
http://www.ustr.net/avrfiles/pn2342350.exe

link: http://www.pnotepad.org/

Esse é o editor de texto, que uso como editor dos arquivos assembly. Ele permite configurar macros que irão disparar o assemblador e o programador do AVR, num único shortcut do teclado. Ele também possui uma tela de mensagens embutida, onde o assemblador irá mostrar o resultado da compilação, possiveis erros de digitação ou código, e também o resultado da gravação do AVR via ISP na porta USB do PC. Mais abaixo eu mostro como configurar as macros dele.

.

AVR_ASM2

Link para download:
http://www.ustr.net/avrfiles/avrasm2.exe

Esse é o assemblador AVR para o arquivos escritos na linguagem assembly no Programmers Notepad 2. Ele é chamado por uma linha de comando, diretamente de uma macro dentro do editor. Ele pode também ser chamado por uma linha de comando na tela DOS de “command” do Windows. O AVRASM2.EXE é o mesmo assemblador usado internamente no AVRStudio 4.19, mas graças à Atmel te-lo feito avulso, você pode usa-lo independentemente.

Aqui o link da Atmel com instruções de uso, syntax e opções: Aqui o link de um arquivo PDF com mais instruções sobre o assemblador e uso.

.

AVRDUDE

Link para download
http://www.ustr.net/avrfiles/avrdude61.zip

Esse é o programa interface que lê, grava, muda fuses, etc, nos AVRs via porta USB no PC e a plaquinha USBASP, via comunicação ISP (6 pinos) nos AVRs.

.

USBASP

Essa plaquinha, abaixo, conhecida como USBASP, pode ser comprada no eBay, DX, AliExpress ou outro local, por valores abaixo de $4, e quase sempre com frete grátis para o Brasil ou outro local.

A pláquinha acima hoje é produzida aos borbulhões na China e vendida para todo lado, por preço que acaba sendo até mais barato que comprar só o AVR nela soldado, e ainda vem com cabo multivias de 10 fios e dois conectores. Uma ponta do cabo vai conectado na USBASP e a outra é conectado na PCI ou protoboard, de 10 pinos conectados aos 6 pinos do AVR a programar.

Faça download do driver para Windows aqui:
www.ustr.net/avrfiles/usbasp_windrvr.rar

Um AVR requer seis pinos para programa-lo via ISP. Existe um padrão de seis fios e dez fios, sendo que no de dez fios/pinos, quatro ficam inutilizados. Abaixo a imagem superior do conector na PCI, 10 e 6 pinos. O pino #2 de ambos, é +5V, que é a alimentação VCC da placa onde esse conector está soldado. Pode-se usar esses +5V para alimentar o circuito do outro lado do cabo, mas não é recomendado, pois cada circuito deve possuir alimentação própria. O conector de 10 pinos na trazeira do USBASP possui +5Vcc nesse pino, e é proveniente do conector USB do PC. Essa tensão ali existente não possui muita capacidade de corrente e deve-se alimentar com +5V independente o circuito do AVR a ser programado, para evitar sobrecarga de corrente no USB do PC. Claro que, sabendo-se que se o AVR sendo programado e seu circuito em volta não consumir mais de 50 ou 60mA, pode-se conectar à essa tensão sem problemas.

Algumas plaquinhas USBASP como a acima, possuem jumper para selecionar +5V ou +3.3V nesse pino #2, ambas as tensões são provenientes do USB do PC.

É muito fácil confundir o que é o pino #1 com o pino #2, pois esse conector por cima é invertido por baixo e o cabo inverte tudo ainda mais. Para tirar duvidas, sempre olhe a solda do conector e procure pelo pino do canto que está soldado ao plano de terra, esse será pino #10 ou #6. Alguns conectores tem soldados em curto para terra os pinos 4, 6, 8 e 10, para promover melhor redução de ruido no cabo.

Caso no seu circuito você queira usar ISP de 6 pinos (eu o faço) terá que sempre usar um pequeno adaptador de 10 para 6 pinos. Esse adaptador pode ser feito em casa, eu fiz alguns, mas também comprei alguns do eBay, pois custam menos de $3 e são mais práticos.

10 Pin to 6 Pin Adapter Board for AVRISP USBASP STK500 High Quality

O esquemático original da USBASP e software é do alemão Thomas Fischl, website original.

Para poder usar a plaquinha USBASP, encontrada à venda no eBay, DX e AliExpress por menos de $4 dólares, deve-se instalar o driver de software para o Windows, para que esse reconheça a tal placa conectada em porta USB. Notar que no Windows8 se tem que desabilitar o bloqueio de instalação de drivers sem assinatura válida, caso contrário a USBASP não é instalada na lista de dispositivos do Windows. Isso é feito com uma pre-seleção e reboot, link do procedimento.

 

.

KHAZAMA

Khazama é o sobrenome do Iraniano que escreveu essa aplicação para o Windows. Ela é pequena e funciona muito bem, permite lêr, gravar (flash e/ou eeprom e fuses) num AVR, usando um USBASP. A interface é gráfica, portanto não dá para automatiza-la dentro do Programmer’s Notepad 2, via macro. Mas ela serve muito bem para operações rapidinhas que não necessitem carregaro Programmers Notepad, etc. Com ela, dá para lêr e ver o conteudo da Flash e Eeprom, no buffer do Khazama, fácil e simples. Considero um programa gráfico dos melhores existentes, e o uso frequentemente.

Link:
http://www.ustr.net/avrfiles/KhazamaAVRProgrammer.rar

screenshot.70

… breve interrupção de digitação para trabalhar e correr atrás do din-din. … hoje à noite continuo.