sábado, 25 de setembro de 2021

IDE PARA AVRs

 IDE para microcontroladores AVRs

Pensando que a versão antiga 4.19 do AVRStudio é bem 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 conteúdo 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.  As novas versões do AVRStudio, agora Microchip, são enormes, muito carregadas, e lentas tanto na instalação (que consomem muito espaço no HDD), bem como lentas na execução.  Para os chips tradicionais AVR, incluindo os ATMegas, a 4.19 atende muito bem.

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, possíveis 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.


AVRDUDESS

Atualmente também recomendo MUITO fazer download e usar o AVRDUDESS, que é a mesma coisa do AVRDUDE acima, porém com interface gráfica, muito mais fácil de usar.  Um dos sites da Internet de download do AVRDUDESS apresentou grande gritaria num anti-virus do meu computador, mas após o download e inúmeros testes anti-virus, nada foi encontrado.  Até postei esse problema no forum AVRFREAKS, mas não foi considerado hostil.

 Aqui vale uma observação:  Como vocês podem imaginar, os programas anti-virus não teriam capacidade nem velocidade para ficar comparando todos os arquivos sendo testados com todos os virus existentes na Internet, o que eles fazem é procurar pedacinhos de código que possivelmente identificariam virus, ou procedimentos que mais penetram no Windows, e que potencialmente poderiam ser identificados como virus.  Muitos software que acabam usando hardware e que não seguem o procedimento de segurança da Microsoft (com assinaturas, etc), e o AVRDUDESS usa as portas USB, acabam sendo confundidos com virus.  Mas é bom tomar cuidado.



Download garantido a partir do GitHub: https://github.com/zkemble/AVRDUDESS ,

ou o executável instalador: https://blog.zakkemble.net/download/AVRDUDESS-2.13-setup.exe


.

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 plaquinha 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 placa de circuito impresso ou protoboard, de 10 pinos conectados aos 6 pinos do AVR a programar. O conector USB é plugado no seu PC/Notebook, e usa o software USBASP para fazer download do código a programar no AVR.

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 em um 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 ruído 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.


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 ler, 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 carregar o Programmers Notepad, etc. Com ela consegue-se ler e ver o conteúdo da Flash e Eeprom no buffer do Khazama, fácil e simples. Considero esse program bom, e o uso de tempos em tempos.  Infelizmente por problemas que todos imaginamos existir no país do Khazama, ele não tem atualizado / mantido esse software, que falta certos chips AtMega, como o AtMega328P por exemplo, mas possui o AtMega328, apesar que é só problema de assinatura e nome, porque a programação funciona bem.

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





Nenhum comentário:

Postar um comentário