====== 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 |}}