O seguinte guia descreve o setup do ambiente de desenvolvimento AVR, não utilizando o pacote de instalação précompilado do HomeLab.
É necessário instalar o seguinte conjunto de software:
1. CodeBlocks
CodeBlocks IDE (Integrated Development Environment), para escrever e carregar software para o microcontrolador.
2. Cadeia de desenvolvimento ATMEL AVR
Cadeia de desenvolvimento AVR (ATEML AVR Toolchain) consiste num compilador GNU-GCC para microcontroladores AVR. É um freeware que pode ser descarregado a partir do website da Atmel.
3. Biblioteca HomeLab
Biblioteca HomeLab consiste em várias funções para tornar a programação do AVR e do HomeLab kit mais simples. A última versão desta biblioteca pode ser descarregada a partir da página web do HomeLab.
4. DFU-Programmer
DFU-Programmer serve para programar controladores da série HomeLab III utilizando o bootloader.
O seguinte guia descreve o setup de ambiente de desenvolvimento do HomeLab III (Controller v1 - ATxmega128A1U) e o seu uso no sistema operativo Windows.
Primeiro instalar o software CodeBlocks. Não é necessário instalar plugins.
De seguida seleccionar a correcta localização do CodeBlocks. Todos os exemplos assumem a localização por defeito C:\HomelabCB Com isto o CodeBlocks fica instalado no computador.
Depois do CodeBlocks se encontrar instalado, adicionar: AVR Toolchain, biblioteca HomeLab, DFU-Programmer
Antes de mais deve seleccionar a directoria onde foi instalado o CodeBlocks, todos os extras deverão ser instalados na mesma directoria.
A primeira vez que iniciar o programa aparecerá um menu para selecionar a localização do compilador. Poderá escolher a opção “No Compiler”, dado que a escolha do compilador será configurada manualmente mais à frente, e está dependente do template do projecto.
De seguida, o compilador deverá ser definido. Introduzir no menu Settings→Compiler…. Na janela aberta deverão ser introduzidas as seguintes linhas: Observar que deverá ser seleccionado GNU GCC Compiler for AVR e indicar onde instalar o software. Se a localização de instalação do software não for C:\HomelabCB deverão ser efectuadas as respectivas alterações.
Depois configure o programador de modo a conseguir descarregar o código directamente do ambiente de desenvolvimento CodeBlocks. Para encontrar o menu Tools→Configure tools… e selecione Add. Nas janelas abertas escreva as seguintes linhas dependendo da geração do HomeLabs:
HomeLab III
HomeLab II (Atmega2561)
Instalar extras CodeBlocks:
sudo apt-get install codeblocks-contrib
Para executar dfu-programmer com privilégios de utilizador normal, é necessário criar ficheiro de regras dentro da directoria udev. Criar ficheiro ruled.d com o seguinte texto:
SUBSYSTEM=="usb",ACTION=="add",ATTRS{idVendor}=="03eb",ATTRS{idProduct}=="*",GROUP="plugdev"
Também é necessário instalar a biblioteca. Tipicamente as bibliotecas AVR estão localizadas na directoria /usr/lib/avr É necessário privilégios de adeministrador para adicionar uma directoria para a nova biblioteca.
Se os repositórios da cadeia de desenvolvimento AVR (AVR Toolchain) não se encontrarem actualizados, poderá receber uma mensagem de erro da função ADC. Para corrigir esse erro é necessário substituir manualmente na directoria avr o ficheiro iox128a1u.h (incluido na biblioteca).
Para simplificar a programação convém criar o seguinte script:
sudo nano /usr/bin/homelab-programmer
com o seguinte conteudo:
#!/bin/bash dfu-programmer atxmega128a1u erase dfu-programmer atxmega128a1u flash $1 dfu-programmer atxmega128a1u start
dando-lhe privilégios de execução:
sudo chmod 775 /usr/bin/homelab-programmer
Codeblocks Tools→Configure tools … Configurar o programador
Ir ao menu File→New→Project. Deverá estar seleccionado o projecto de acordo com a geração do HomeLab, configurar como pretendido.
Primeiro, escolher um nome e localização do projecto Evitar o uso de acentos. De seguida selecionar a directoria de compilação do projecto. É recomendado que não seja alterada. Depois selecione o microcontrolador e frequência de utilização. Em último ligar, deverá configurar a directoria de instalação do AVR Toolchain.
Uma vez criado o projecto, o novo projecto aparece na àrvore esquerda com código exemplo. Para compilar premir o butão de engrenagem na barra de atalhos. Se a compilação ocorrer deverá aparecer informação na janela de fundo Build Log, contendo uma contagem da memória de programa ou mensagens de erro em caso de falha.
Quando carregando o programa para o microcontrolador, no caso do HomeLab III, primeiro deverá ser introduzido para o bootloader prmindo o butão S0 no módulo do controlador e ao mesmo tempo premir o butão de reset para reiniciar. Em versões anteriores do HomeLabs o modo de bootloader não se encontra disponivel. Se todos os drivers se encontrarem instalados (os drivers estão na directoria CodeBlocks / Programmer), então podem ser descarregado o ficheiro hexadeceimal compilado. Para começar o programar, ir ao menu Tools.