Table of Contents

KontrollerLab para Linux

O seguinte guia descreve a instalação e uso do AVR toolkit para o sistema operativo Ubuntu.

Instalação do Software

Instale o seguinte software:

1. Pacotes de software de Linux

Para instalar os pacotes use a linha de comandos:

sudo apt-get install gcc-avr avrdude avr-libc

ou software de instalação gráfica (como sendo o Ubuntu software center ou Synaptic packet manager).

2. Biblioteca HomeLab

A biblioteca simplifica a escrita de código, dado que as funções de baixo nivel já se encontram fitas. Visite a página web do HomeLab e descarregue o ficheiro chamado Homelab library vX.X.run, onde XX representa o número da versão. Execute o seguinte comando para instalar a biblioteca:

sudo sh homelab_library_vX.X.run

Confirme que a instalação da biblioteca foi bem sucedida.

3. KontrollerLab

KontrollerLab é um IDE (integrated development environment) para escrita, compilação, carregamento e depuração de software AVR. Descarregue o software KontrollerLab e guarde-o numa directoria (por exemplo, ~/Documents/AVR/KontrollerLab). Execute o seguinte comando nessa directoria:

sudo dpkg -i kontrollerlab*.deb

Se tiver problemas com dependências de pacotes, execute o comando para instalar os pacotes em falta:

apt-get install –f

Ligação ao programador

Ligue o programador ao computador para verificar se o computador o reconhece. Escreva o comando “lsusb” no terminal de linha de comandos, este comando deverá mostrar a lista de dispositivos connectados por USB. O nome do programador é “Future Technology Devices International, Ltd FT 232 USB-Serial (UART) IC”.

Para obter a porta à qual o programador está conectado, verifique a directoria dev utilizando os comandos cd /dev (define /dev como a directoria actual) e dir (lista o conteudo da directoria). Como o programadore uma interface de série USB, o seu nome será algo do tipo “ttyUSBx” onde “x” é o indice do interface. Se não houver mais nenhum interface connectado este indice será 0.

Criar um novo projecto

Para escrever um progama AVR, um projecto tem de ser criado que contem todos os ficheiros necessários: código fonte, ficheiros de cabeçalhos, programas compilados, etc. Para separar mais claramente os projectos, é sugerido ser criada uma directoria para cada projecto (esta opção é sugerida no assistente de criação de projecto).

Para criar um projecto sigam os passos:

1. Abrir KontrollerLab (Applications → Programming → KontrollerLab) e iniciar um novo projecto no menu File → New → New project. Uma janela abre onde a localização do projecto necessita ser localizada. Neste exemplo seria ../Homelab/blinkingLED/.

2. O projecto tem de ter pelo menos um ficheiro C onde se escreve o código fonte. Ficheiros podem ser adicionados ao projecto através do menu File → New → New. Na janela que abre selecionar C source como tipo de ficheiro e especificar o nome.

3. Em seguida, o projeto deve ser configurado para o kit HomeLab. A partir do menu Project → Configure Project abra a janela de configurações e selecione Common. O tipo de CPU deverá ser ATmega128 e o relógio deverá ser 14745600,0 Hz. Também devem ser especificados os nomes dos ficheiros HEX e MAP. Pressionando o butão Set as default faz com que essas configurações sejam salvas como o valor por defeito para novos projetos. Isso é razoável quando se trabalha apenas com microcontrolador AVR do HomeLab. Como os arquivos HEX e mapa também são armazenados por defeito, recomenda-se usar algum nome geral para eles, por exemplo “out.hex”.

NB! Como a biblioteca HomeLab não pode ser adicioada no tab de configuração Linker, o comando “-lhomelab” tem de ser adicionado a seguir ao nome do ficheiro MAP.

Aplique as configurações no tab Compiler tal como indicado no seguinte screenshot. Antes de premir OK guarde também as configurações do compilador como os valores por defeito.

4. Configure o programador abrindo a janela de configurações através do menu Project → Configure Programmer. Selecione “AVRDUDE” como o programador. Na tab “AVRDUDE” defina o tipo de programador como sendo jtagmkI e a porta de ligação /dev/ttyUSBx (onde “x” é o indice da porta). Defina estas configurações também como os valores por defeito.

5. Por fim, coloque as janelas no KontrollerLab como achar mais conveniente e prepare-se para escrever o seu primeiro programa.

Escrever e testar um programa

Depois dos passos de configuração estarem concluídos, chega a altura de programar.

1. Ligue ao programado usando o módulo do controlado. Verifique que o programador está correctamente connectado com o socket JTAG. O cabo deverá estar orientado para sair da placa (veja na imagem). Ligue agora o power e verifique que o LED verde acende na placa controladora.

2. Escreva o seguinte programa no editor de ficheiros do Kontrollerlab e compile:

#include <avr/io.h>
#include <homelab/delay.h>
 
int main(void)
{
	// Set pin PB7 as an output
	DDRB = 0x80;
 
	// Lõputu tsükkel
	while (true)
	{
		// Inverting pin PB7
		PORTB ^= 0x80;
		hw_delay_ms(500);
	}
}
Toolbar

Verifique que a janela de output indica a mensagem “File compiled successfully”. Se a mensagem “Error(s) occurred: ” aparecer verifique o programa para remover os erros.

3. PAra descarregar o program para o controlador prima o butão Ignite. Após o carregamento sucedido, a mensagem “Project built and uploaded successfully” deverá aparecer.

Se tudo estiver bem o LED vermelho da placa controlador deverá pisca periodicamente, com um segundo de intervalo.

Utilizando números de vírgula fluctuante

às vezes é necessário utilizar números de írgula fluctuante num programa. Para os utilizar em cálculos ou usá-los em funções do tipoprintf são necessárias algumas modificações à configuração do projecto:

1. Abra a janela Project Configurations e o tab Linker. Verifique a primeira linha na lista de Linker flags (veja na imagem)).

2. Prima OK e feche a janela.