Instalando a Toolchain para AVR no Debian

1
744

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

toolchainDebian

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

nanoDebian

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

1 COMMENT

LEAVE A REPLY