Instalação do AVR-GCC 4.3.3 no Ubuntu 8.04

A versão do AVR-GCC instalada na minha máquina estava desatualizada e só percebi quanto quando precisei compilar um programa para um ATMEGA-328. O AVR-GCC desconhecia este microprocessador e em razão disso nem o avr-gcc conseguia compilar código C/C++ e nem o Arduino 0017 funcionava com o chip selecionado. Googleei em busca da solução para colocar a nova versão para funcionar, já que os repositórios do Ubuntu estavam com a versão desatualizada. Pesquisei e achei algo que pensei que estava correto. Não deu certo , desinstalei, fiz de outro jeito e depois de muita surra e gambiarras a coisa toda funcionou e sinceramente eu não sabia porque funcionou e nem como reproduzir se precisa-se novamente.

Isso me incomodou bastante e acabei achando no blog bitsnbikes do João Silva, uma dica de como resolver o problema. A dica referenciava um post no site do AVRFreaks.net , site obrigatório para os fãs do AVR . Neste post, o usuário Bingo600 disponibilizou uma série de scripts, que chamados em sequência, preparam todo o ambiente de maneira simples e direta. Para ver se funcionava, usei uma máquina rodando o ubuntu 8.04, sem o avr-gcc instalado e segui o roteiro. Demorou um tempo mas ao final dos procedimentos o ambiente estava instalado e funcionando sem problemas. Ao rever os scripts e o post, percebi que o problema principal para compilação e instalação do GCC era a ausência das bibliotecas GMP e MPFR que impediam a instalação do ambiente.

“Receita de bolo” :

  1. Registre-se no site Avrfreaks (http://www.avrfreaks.net ), se ainda não se registrou. O registro é grátis. Só os usuários registrados podem fazer download e upload de arquivos.
  2. Acesse o post http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=42631
  3. Baixe o arquivo build-avr-gcc-4.3.3-libc-1.6.7-insight6.8-arch25-fix.zip contendo os scripts
  4. Leia o arquivo Readme.txt
  5. Instale os pacotes listados no arquivo “pre-reqs.txt”. Sem esse passo não vai funcionar
  6. Autentique-se no sistema como root , ou use “sudo” antes dos comandos.
  7. Crie um diretório de trabalho onde serão descompactados os arquivos.
  8. Descompacte o arquivo build-avr-gcc-4.3.3-libc-1.6.7-insight6.8-arch25-fix.zip no diretório de trabalho
  9. Se desejar, edite o script buildavr-no-insight.sh, e mude o parâmetro “prefix” que contem o diretório onde será instalado o toolchain. O valor default é prefix=/usr/local/avr
  10. Assegure-se que o diretório passado para o parâmetro “prefix” esteja vazio ou não exista
  11. Execute o comando : chmod +x *.sh
  12. Execute o comando : ./getfiles.sh
  13. Execute o comando : ./get-patches.sh
  14. Execute o comando : ./buildinsight.sh
  15. Execute o comando: ./buildavr-no-insight.sh

Demora um pouco para finalizar os passos devido ao download de um montão de arquivos e também devido as compilações que são realizadas.

Para arrumar o ambiente, adicione o diretório com o AVR-GCC ao PATH

.
.
.

-------------------------------
# Configure no arquivos de inicialização do ambiente do usuário
PREFIX=/usr/local/avr
export PREFIX

PATH=$PATH:$HOME/bin:$PREFIX/bin
export PATH
-------------------------------
.
.
.

Por ultimo fica a sugestão : Sempre dê uma olhada no fórum do site AVRFreaks quando tiver alguma dúvida sobre AVR. Quase todos os problemas de básicos a cabeludos já foram reportados por lá, alem de contar com os mestres em AVR que estão sempre escutando as perguntas , prontos para ajudar, principalmente se voce souber perguntar…

Download:
build-avr-gcc-433-libc-167-insight68-arch25-fix

Links:
O post original no AvrFreaks.net
Post do blog bitsnbikes do Joao Silva que mostrou o caminho das pedras.
Site do Guido Socher sobre Gcc 4.3.2 para AVR Obs: Esta receita de bolo está incompleta mas vale a pena uma olhada. Tem muita coisa interessante sobre AVR no resto do site.

Posts Relacionados:
Nova versão do AVR Studio
ATMEGA328P – Quadruplicando a memoria do Arduino
AvrFreaks
WinAVR – 1.000.000 de downloads
AVR Technical Library DVD
Fedora 8 – Electronic Lab Spin

6 thoughts on “Instalação do AVR-GCC 4.3.3 no Ubuntu 8.04”

  1. Boa tarde Jê, gostaria de saber se você já usou a Ethernet Shield para Arduino, se sim a biblioteca é fácil de usar, ou tem que ter muito conhecimento técnico. É que encontrei uma shield (http://produto.mercadolivre.com.br/MLB-117643291-arduino-ethernet-shield-coloque-seu-projeto-on-line-_JM) a um preço bem acessível, e me interessei pelas possibilidades, gostaria de saber sua opinião sobre ela? Por acaso vc conhece esse modelo do anuncio?

    P.S.: desculpe pelo off-topic !!! 😉

    Abraços, Leandro Tavares!!!

  2. Leandro, Ja usei um modulo Ethernet da Wiznet que possui o mesmo chip, Wiznet W5100. usado na Ethernet Shield oficial do Arduino ( http://arduino.cc/en/Main/ArduinoEthernetShield) e que funciona sem problemas com a biblioteca original. O modulo que você indica no link do mercadolivre usa um outro chip bem conhecido , o ENC28J60, mas que é quase certo que não funcionará com a biblioteca original do Ethernet Shield. Voce precisará da biblioteca especifica para o shield que voce quer comprar. Sugiro esclarecer bem com o vendedor antes de comprar e ter todas as bibliotecas necessárias para não ficar com o produto micado na mão.
    Boa sorte !

  3. Valeu pelas dicas Jê, vou pesquisar mais sobre esse chip e sua compatibilidade com o arduino!!
    Muito obrigado, Leandro Tavares!!!

  4. Fala Jê, então retardei a compra daquela ethernetshield, usei o dinheiro em uma waveshield da Adafruit, bem legal, ta faltando um pouco de tempo pra mexer com ela agora!! Mas acho que dá pra fazer um projetinhos legais….em breve, espero!!! Abraços!!!!

  5. Fala Leandro, eu perguntei ao vendedor do produto se ele podia mandar um link sobre o projeto da placa e a biblioteca. Ele falou que só mandava depois de vender a placa mesmo sendo um projeto open-source. A waveshield é muito legal. Divirta-se !!!

Leave a Reply

Your email address will not be published. Required fields are marked *