Ola pessoal!
Meu nome é Filipe e hoje irei mostrar como preparar um ambiente basico para programação de microcontroladores atmel AVR-8bits.
Os microcontroladores da atmel já são velhos conhecidos no mundo devido a sua qualidade e praticidade. O uso de ferramentas “free” ajudou a criar um carisma pelo fabricante sendo criado grandes comunidades de usuários em cima da arquitetura como o pessoal do AVRFREAKS e os mundialmente famosos ARDUINOS
Esse artigo nasceu da nescessidade e da curiosidade de entender como é o mundo fora das IDE’s, como usar uma toolchain e como me virar em um mundo onde possa não existir arduinos, eclipse e etc.
O sistema usado será o Debian 8 utilizando uma instalação basica usando apenas o primeiro disco de instalação fornecido no site e apenas com servidor ssh, ferramentas de sistema básicas e sem desktop.
Basicamente prescisaremos de dois componentes basicos:
1 – A toolchain
2 – Um editor de texto
Iremos usar o gerenciador de pacotes do Debian que facilita muito nossa vida.
Iremos instalar 4 pacotes:
1-gcc-avr: Compilador C para AVR
2-binutils-avr: Fornece aplicações de baixo nivel para manipulação dos arquivos objetos
3-gdb-avr: GNU De-Bugger bridge
4-avr-libc: Lib C para AVR, proporcionando a maioria das funções encontradas no C
Instalamos os pacotes usado o apt-get isntall ou apt install
Nota: O Debian como descrito não possue o pacote sudo entao terá que estar como superuser então de um su antes.
apt install gcc-avr binutils-avr gdb-avr avr-libc
Facil? com certeza!
E agora um editor de texto, mas ai pode ser da sua preferencia.
Para vias de teste irei usar o nano para criar um arquivo e escrever um bom e velho blink.c “helloWorld dos uControladores”.
nano blink.c
Codigo fonte exemplo:
Salve o no nano teclando ctrl+o
e saia com ctrl+x
Execute o avr-gcc na pasta do projeto com o seguinte comando.
avr-gcc -Os -mmcu-atmega328p blink.c blink.out
(obs: Em proximos artigos estudaremos mais profundamente o avr-gcc bem como o obj-copy.)
Se tudo ocorrer bem não sera retornado nada, mas se você quiser ver os passos da
compilação adicione a flag -v apos avr-gcc. A maioria dos erros está realacionado ao codigo fonte e a não utilização de otimizações na compilação, então por enquanto use os comandos como descritos.
avr-gcc -v -Os -mmcu=atmega328p blink.c -o blink.out
Veremos que a compilação correu bem e a partir dai iremos usar o obj-copy para
criar o aquivo hex.
avr-objcopy -j .text -j .data -O ihex blink.out blink.hex
E pronto o arquivo .hex esta no diretorio de trabalho pronto para gravarmos no nosso querido microcontrolador.
Resumindo:
apt install gcc-avr binutils-avr gdb-avr avr-libc
Para instalar.
avr-gcc -Os -mmcu-atmega328p blink.c blink.out
Para compilar o fonte.
avr-objcopy -j .text -j .data -O ihex blink.out blink.hex
Gera o .hex
No proximo artigo iremos usar o arvdude que sera o nosso intermediador com os avrs.
Fontes:
http://www.nongnu.org/avr-libc/user-manual/
http://www.avrfreaks.net/
http://www.atmel.com/tools/atmelavrtoolchainforlinux.aspx
[…] primeiro artigo da serie Instalando a Toolchain para AVR vimos o comando para gerar o arquivo .hex para podermos gravar no nosso […]