====== Setup manual IDE Code::Blocks ======
O seguinte guia descreve o setup do ambiente de desenvolvimento AVR, não utilizando o pacote de instalação précompilado do HomeLab.
===== Instalação de software =====
É 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.
----
=== Instalação CodeBlocks ===
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.
{{ :et:examples:setup:codeblocks:1_cb_install.png?400 |}}
De seguida seleccionar a correcta localização do CodeBlocks. Todos os exemplos assumem a localização por defeito //C:\HomelabCB//
{{ :et:examples:setup:codeblocks:2_cb_dir.png?400 |}}
Com isto o CodeBlocks fica instalado no computador.
=== Adicionanto extras do HomeLabs ===
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.
{{ :et:examples:setup:codeblocks:3_homelab_dir.png?400 |}}
===== Configuração CodeBlocks =====
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.
{{ :et:examples:setup:codeblocks:4_cb_firstrun.png?400 |}}
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.
{{ :et:examples:setup:codeblocks:5_cb_compiler1.png?400 |}}
{{ :et:examples:setup:codeblocks:6_cb_compiler2.png?400 |}}
{{ :et:examples:setup:codeblocks:7_cb_compiler3.png?400 |}}
{{ :et:examples:setup:codeblocks:8_cb_compiler4.png?400 |}}
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 III
* C:\HomelabCB\Programmer\Program.bat
* "C:\HomelabCB\Programmer" "${TARGET_OUTPUT_BASENAME}.hex"
* ${TARGET_OUTPUT_DIR}
{{ :et:examples:setup:codeblocks:9_cb_tool.png?400 |}}
** HomeLab II (Atmega2561) **
* Homelab 2561
* C:\HomelabCB\Programmer\HL Flash\hlflash.exe
* ${TARGET_OUTPUT_BASENAME}.hex
* ${TARGET_OUTPUT_DIR}
{{ :et:examples:setup:codeblocks:9_cb_tool2.png?400 |}}
===== Configuração Linux/Ubuntu =====
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
{{ :et:examples:setup:codeblocks:codeblokcs_programmer_linux.png?400 |}}
Adicionar suporte da biblioteca
//Settings -> Compiler ...//
{{ :et:examples:setup:codeblocks:compiler_path.png?400 |}}
{{ :et:examples:setup:codeblocks:linker_path.png?400 |}}
===== Criar projecto CodeBlocks =====
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.**
{{ :et:examples:setup:codeblocks:10_project1.png?400 |}}
De seguida selecionar a directoria de compilação do projecto. É recomendado que não seja alterada.
{{ :et:examples:setup:codeblocks:11_project2.png?400 |}}
Depois selecione o microcontrolador e frequência de utilização.
{{ :et:examples:setup:codeblocks:12_cb_project3.png?400 |}}
Em último ligar, deverá configurar a directoria de instalação do //AVR Toolchain//.
{{ :et:examples:setup:codeblocks:13_cb_project4.png?400 |}}
===== Utilizando CodeBlocks =====
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.
{{ :et:examples:setup:codeblocks:14_cb_compile.png?400 |}}
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//.
{{ :et:examples:setup:codeblocks:15_cb_programming.png?400 |}}