Nessa parte vou discutir a questão do AVR no linux, que é muito bem suportado, tendo diversas ferramentas que comentei em outros posts sendo originalmente compiladas no linux e portadas para o windows, por exemplo.
Uma dessas ferramentas é o GCC, o compilador onde o linux todo ou quase todo é compilado, nessa coleção de compiladores há não só C e C++, como também Java e outras linguagens.
O AVR felizmente é suportado não só por esse compilador mas por outros 30 compiladores, e não só ele como diversas outras arquiteturas como 68HC11 e muitos ARM têm código gerado pelo GCC, veja todas em:
http://gcc.gnu.org/onlinedocs/gcc-4.5.0/gcc/Submodel-Options.html#Submodel-Options
E o mais interessante é que o GCC é usado como compilador padrão para C e C++ em diversas faculdades, já que segue as normas mais comuns que são ANSI e C99, além de outras, escolhidas nas opções.
Antes de começar a usar instale o cross-avr-gcc, nele estão além do cross compiler para avr as bibliotecas já usadas nos posts anteriores.
Para o Linux uso o OpenSuse, tudo isso já está no gerenciador de pacotes Yast, e não é preciso compilar nada.
Compilando para PC costumo usar o GCC na linha de comando, ele gera o binário com um único comando, mas no caso do AVR é necessário mais comandos, como por exemplo para se transformar o binário em formato intel-hex, daí é necessário digitar vários comandos, o que levaria a fazer um shell script pra isso, mas isso não é necessário.
Nessas situações se usa o arquivo MAKEFILE, que contêm as opções de como se fazer a compilação.
No caso do windows, o AVRStudio gera o MAKEFILE ,mas no caso de se ter apenas o compilador no linux sem IDE, é necessário fazê-lo usando editor de texto ou então digitar vários comandos, utilizo um MAKEFILE modificado de outro site, no final do post ele é mostrado, salve-o num arquivo com o nome MAKEFILE e faça para testar:
make allh
Para deletar os arquivos é o não menos diferente do usual make clean.
Nesse MAKEFILE fiz a modificação no make all para que fizezesse a geração do hex, outra modificação foi feita para se mostrar no console o list, usando o comando cat.
Mude o nome dos arquivos e nome de projeto afim de que o avr-gcc compile os arquivos certos, nesse caso está feito para a parte 4, que foi salva no parte4.c.
Além dessas opções, make install programa o AVR dessa placa que está sendo usada nos exemplos com o avrisp por intermédio do avrdude, essa foi uma modificação feita nesse MAKEFILE, que usava o hardware usbasp na programação, você poderá usar qualquer outro hardware suportado pelo avrdude, como por exemplo stk200.
O MAKEFILE vai a seguir, ele veio originalmente de http://www.psychogenic.com , leia atentamente os comentários, para fazer as modificações necessárias, observe que é extremamente simples e rápido mudar os parâmetros, é o melhor makefile para se usar em vários projetos!
http://www.4shared.com/file/w68OD4Yc/Makefile.html
Por outro lado se você é um begginer em linux ou quer ver algo gráfico na frente (eu não gosto), tem o Eclipse, que pelo menos em ARM é parada obrigatória, e nele há um plugin pro AVR, que deixa tudo gráfico..leia mais em:
http://avr-eclipse.sourceforge.net/wiki/index.php/The_AVR_Eclipse_Plugin
PS: Se você é daqueles que gosta de gastar dinheiro com compilador logo virá um post sobre o EW-AVR da IAR, uma IDE que também não tem funçõezinhas prontas como certas outras e deixam seu trabalho com cara de amador (diga-se mikro* e outros lixos).
É isso, comentem, não custa nada!! Não gostou? Comente também!
1 comentários:
Olá, gostaria de parabenizar pelo mini curso, gostaria de sua autorização para cópia de todo o mini-curso e geração de um PDF , para ser distribuído aos interessados do grupo PICLISTbr , claro, com os devidos e merecidos créditos de sua autoria. Sem mais, obrigado. lopeston2007@gmail.com
Postar um comentário