2 Configuração do Ambiente de Desenvolvimento



Documentos relacionados
Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

2 Configuração do Ambiente de Desenvolvimento

Ambiente de Desenvolvimento

Ambiente de Desenvolvimento

Lazarus pelo SVN Linux/Windows

Tutorial: Programando no Linux

Prática DNS. Edgard Jamhour

Tutorial: Aprenda a criar seu próprio makefile. Darcamo (Forúns Ubuntu)

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores

Eclipse com c++11 e boost Etapa 1- Download da IDE Eclipse c++ e configuração do MinGW

PRÁTICA DE DNS - LINUX DIFERENÇAS NO ROTEIRO EM RELAÇÃO A IMAGEM DO DVD 1.A) INSTALAÇÃO DO SERVIDOR DNS INICIALIZAÇÃO DO AMBIENTE DO DVD

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Procedimentos para Reinstalação do Sisloc

MC-102 Aula 01. Instituto de Computação Unicamp

Paradigmas de Programação II Departamento de Informática Universidade do Minho LESI 1 o Ano MCC 2002/2003

Manual de instalação e configuração da Ferramenta Android SDK

Patch & Installer. Documento para a Criação de Instalador ou Patch para os Produtos OFCDesk V. 1.0

Manual de Utilização do ZABBIX

Intel Galileo: Instalação e IDE Arduino

Laboratório de Automação e Robótica (LAR)

Instalação da Ferramenta Eclipse no Windows Prof. Bruno Emerson Gurgel Gomes Instituto Federal de Educação, Ciência e Tecnologia do RN

DCC 003 Algoritmos e Estruturas de Dados I Tutorial de instalação do GCC e do TextPad

SCIM 1.0. Guia Rápido. Instalando, Parametrizando e Utilizando o Sistema de Controle Interno Municipal. Introdução

Manual comandos Básicos para instalar e desinstalar Firebird em Sistema operacional Linux

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

MANUAL DE UTILIZAÇÃO. Instalação do MV Portaria

Instalação de Servidor de Impressão com quotas Pykota. Rogério Vinhal Nunes 25 de janeiro de 2007

Programa de Instalação do Lince GPS

1 Code::Blocks Criação de projetos

Laboratório 3 Compilador e IDE. Departamento de Sistemas e Informática. Disciplina de Introdução à Programação Ano Lectivo 2006/2007

3 Revisão de Software

Lógica de Programação

Manual de Instalação

Prática NAT/Proxy. Edgard Jamhour. Esses exercícios devem ser executados através do servidor de máquinas virtuais: espec.ppgia.pucpr.

Instalando o compilador CCS

Guia de instalação para ambiente de Desenvolvimento LINUX

Manual de Instalação PIMSConnector em Windows

O sistema que completa sua empresa Roteiro de Instalação (rev ) Página 1

MANUAL DE UTILIZAÇÃO DO PLUGIN GERADOR DE PLUGINS DO TERRAVIEW

Programa de Atualização de Pontos do Lince GPS

Programação de Periféricos

Manual de Utilização de Webcams no. Desenvolvimento de Aplicativos Java

Desenvolvimento de Aplicativos com ASR para Android

Manual do Usuário Android Neocontrol

Manual de Instalação Flex

Programação 2009/2010 MEEC MEAer

Como Instalar Programas no GNU/Linux. Elexsandro Rangel dos Santos

Tutorial de Instalação do OpenCV 2.3

Gerenciamento de Pacotes

IFPE. Disciplina: Sistemas Operacionais. Prof. Anderson Luiz Moreira

Transferência de Dados entre Computadores

Linux Network Servers

Procedimentos para Instalação do Sisloc

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

- Computador Servidor: É o computador que armazenará o banco de dados do programa. Não necessariamente precisa rodar o Hábil Enterprise.

Instalando o plugin CDT 4.0

CURSO DE PROGRAMAÇÃO EM JAVA

Instalação do VOL Backup para Sistemas Unix-Like

Procedimentos para Instalação do SISLOC

1) Utilize o link abaixo para iniciar automaticamente o processo para baixar o arquivo de instalação do Code::Blocks:

Menu Utilitários. Atualização do Banco de Dados Atualização e organização dos arquivos existentes

Tutorial para hostear e/ou gerar missões para a GVV usando o BADC

Guia do Administrador de Licenças de Usuários Autorizados do IBM SPSS Modeler

HOW TO Procedimento para instalar Aker Firewall virtualizado no ESXi 5.0

Manual de Instalação

Manual de Instalação Corporate

IBM SPSS Modeler - Princípios Básicos do R: Instruções de Instalação

Secure Client. Manual do Usuário. IPNv2. Secure Client IPNv2

Toolkit para Linux Embarcado. Autor: Thiago Waltrik Orientador: Miguel Alexandre Wisintainer

- Wireless e NTP - 272

6 programas para criar pendrives bootáveis

ROTEIRO PARA INSTALAÇÃO DO BITVISE, CONFIGURAÇÃO DE CHAVES SSH, DEFINIÇÃO DAS PORTAS PARA OS TÚNEIS SSH E CONFIGURAÇÃO DO THUNDERBIRD

Lição 3. Como executar uma aplicação no Arduino?

Atualização e e Backup do Protheus 10. Anotações. Nomenclaturas do Protheus 10. Build

ESCOLA SUPERIOR DE TECNOLOGIA DE TOMAR DEPARTAMENTO DE ENGENHARIA INFORMÁTICA 2005/ Valores

Editor Eclipse para Programas F

Manual para Troca de Servidor do Themis

O Processo de Programação

Manual de Atualização Versão

Universidade Federal do Estado do Rio de Janeiro UNIRIO. Guia para criação do banco de dados de redes sociais

GUIA INTEGRA SERVICES E STATUS MONITOR

MANUAL DE INSTALAÇÃO LUZ DO SABER

Manual de Instalação do OASIS

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

Introdução ao Sistema. Características

BH PARK Software de Estacionamento

Web Design Aula 11: Site na Web

Manual de Integração Magento TrayCheckout Transparente

Atualização e e Backup do Protheus 10. Anotações. Nomenclaturas do Protheus 10. Build

Instalação do Simulador e execução da partida

Desenvolvimento de Software para UNIX

Básico: estrutura de programa, sintaxe Interface com linha de comando

Instalando e Executando o Siprev em Ambiente Linux Versão SIPREV

02 - Usando o SiteMaster - Informações importantes

LABORATÓRIO VI DNS E BIND. Baseado no laboratório oficial disponível em

Este tutorial está publicado originalmente em

Chien 2D Tutorial Básico

Transcrição:

Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia ENG10032 Microcontroladores 1 Objetivo Roteiro de Laboratório 2 Ambiente de Desenvolvimento Prof. Walter Fetter Lages 1 de agosto de 2015 O objetivo deste laboratório é familiarizar os alunos com a o ambiente de desenvolvimento da Galileo Gen2 em Linux. A princípio, seria possível instalar no cartão SD uma distribuição de Linux normal"e utilizar as ferramentas de desenvolvimento executando na própria Galileo. No entanto, como o processador da Galileo não é muito potente, a compilação certamente seria demorada. Outro ponto a considerar é que a memória flash da Galileo não é muito grande e para a versão final da aplicação seria interessante poder executá-la diretamente a partir da flash, sem a necessidade do cartão SD. Para isso, é necessário que o Linux executando na Galileo tenha um pequeno footprint e para isso é necessário utilizar versões especiais das bibliotecas que não suportam adequadamente ambientes de desenvolvimento mais sofisticados. A utilização de um ambiente de desenvolvimento independente da plataforma alvo, também torna o desenvolvimento mais independente da Galileo em si e mais similar aos ambientes de desenvolvimento de outras plataformas para sistemas embarcados. Ao final deste laboratório, espera-se que os alunos sejam capazes de compilar um programa em C para executar na Galileo utilizando Makefile e compilador cruzado e perceber as diferenças entre programas desenvolvidos para a plataforma host e para a plataforma alvo. 2 Configuração do Ambiente de Desenvolvimento O ambiente de desenvolvimento da Galileo é baseado no projeto Yocto, que utiliza a ferramenta BitBake para criar imagens de sistemas Linux para sistemas embar- 1

cados e o OpenEmbedded como sistema de build. Estes componentes formam um sistema build de referência chamado Poky. Utilizando o Poky se pode criar uma distribuição Linux específica para a Galileo com pequeno footprint e as bibliotecas e utilitários necessários para a aplicação em questão. Além da distribuição Linux, cria-se também um conjunto de ferramentas de desenvolvimento cruzado que utilizam as bibliotecas incluídas na distribuição. Mas adiante haverá um laboratório para onde será criada distribuição e as respectivas ferramentas de distribuição. No entanto, por hora, serão utilizada as ferramentas de desenvolvimento já incluídas no pacote do Arduino para a Galileo http://downloadmirror.intel.com/24783/eng/intelarduino-1..0-linux4.txz, para a versão de 4 bits ou http://downloadmirror. intel.com/24783/eng/intelarduino-1..0-linux32.txz, para a versão de 32 bits. Note que 4 ou 32 bits aqui se refere à plataforma onde o as ferramentas serão executadas, o código gerado para a Galileo tem que ser sempre de 32 bits. Para instalar as ferramentas faça o seguinte, no host, como superusuário 1 : 1. Baixe e descompacte o arquivo como o IDE do Arduino no diretório /opt: cd /opt tar -xjf IntelArduino-1..0-Linux4.txz rm IntelArduino-1..0-Linux4.txz 2. Ainda no diretório /opt, crie um link para a versão atual do IDE do Arduino: ln -s arduino-1..0+intel arduino 3. Crie um link para o diretório das ferramentas de desenvolvimento: ln -s arduino/hardware/tools/i58 clanton-tiny cd clanton-tiny ln -s. 1.4.2 Atenção: o nome do link tem que ser clanton-tiny, pois o as ferramentas cruzadas foram compiladas para serem instaladas no diretório /opt/clanton-tiny 2. Até é possível instalar em outro diretório, mas neste caso seria necessário passar sempre opções de compilação indicando 1 As instruções estão aqui para que sua máquina em casa possa ser configurada. No laboratório as máquinas já estão configuradas adequadamente. 2 Clanton é o nome de desenvolvimento do X1000. 2

a localização das bibliotecas padrão, dos arquivos de cabeçalho padrão, dos arquivos de start-up, etc. 3 Experimentos 1. Crie um diretório no host para colocar os códigos fontes dos programas. Habitue-se também a criar um diretório para cada programa onde existe o código fonte do programa em um Makefile. 2. A Listagem 1 mostra um programa "Hello, World!"em C. Listing 1: Programa "Hello, World!"em C. 1 #include <stdio.h> 2 3 int main(int argc,char *argv[]) 4 { 5 printf("hello, world!\n"); 7 return 0; 8 } Este programa pode ser compilado para execução no host com o Makefile mostrado na Listagem 2. Tente entender o funcionamento do Makefile 3. Compile e execute o programa host, para constatar o seu funcionamento. 4. Carregue a sua chave de SSH. 5. Transfira o programa recém compilado para a Galileo: scp hello [galileoname]: onde [galileoname] é o nome da Galileo.. Faça login na Galileo e verifique que o arquivo efetivamente encontra-se lá. 7. Tente executar o programa e verifique o que ocorre. 8. Crie outro diretório no host e copie o arquivo do programa da Listagem 1. 9. Compile o programa para execução na Galileo com o Makefile mostrado na Listagem 3. 3

Listing 2: Makefile para compilação para execução no host. 1 PREFIX=/usr/local 2 BINDIR=$(PREFIX)/bin 3 4 TARGET=hello 5 SRCS=$(TARGET).c 7 FLAGS=-O2 -Wall -g -MMD 8 INCLUDE=-I. -I$(HOME)/include 9 LIBDIR=-L$(HOME)/lib 10 LIBS= 11 12 CC=gcc 13 CFLAGS=$(FLAGS) $(INCLUDE) 14 LDFLAGS=$(LIBDIR) $(LIBS) 15 1 all: $(TARGET) 17 18 $(TARGET): $(SRCS:.c=.o) 19 $(CC) -o $@ $^ $(LDFLAGS) 20 21 %.o: %.c 22 $(CC) $(CFLAGS) -c -o $@ $< 23 24 -include $(SRCS:.c=.d) 25 2 clean: 27 rm -f *~ *.bak *.o *.d 28 29 distclean: clean 30 rm -f $(TARGET) 31 32 install: $(TARGET) 33 install -m 755 $(TARGET) $(BINDIR) 34 35 uninstall: 3 rm -f $(BINDIR)/$(TARGET) 4

Listing 3: Makefile para compilação para execução na Galileo. 1 DEVKIT_HOME=/opt/clanton-tiny 2 PATH+=:$(DEVKIT_HOME)/sysroots/pokysdk/usr/bin/i58-poky-linux-uclibc 3 4 PREFIX= 5 BINDIR=$(PREFIX) 7 USER=fetter 8 TARGETSYS=galileo9 9 10 TARGET=hello 11 SRCS=$(TARGET).c 12 13 FLAGS=-O2 -Wall -g -MMD 14 INCLUDE=-I. 15 LIBDIR= 1 LIBS= 17 18 CC=i58-poky-linux-uclibc-gcc 19 CFLAGS=$(FLAGS) $(INCLUDE) 20 LDFLAGS=$(LIBDIR) $(LIBS) 21 22 all: $(TARGET) 23 24 $(TARGET): $(SRCS:.c=.o) 25 $(CC) -o $@ $^ $(LDFLAGS) 2 27 %.o: %.c 28 $(CC) $(CFLAGS) -c -o $@ $< 29 30 -include $(SRCS:.c=.d) 31 32 clean: 33 rm -f *~ *.bak *.o *.d 34 35 distclean: clean 3 rm -f $(TARGET) 37 38 install: $(TARGET) 39 scp $(TARGET) $(USER)@$(TARGETSYS):$(BINDIR) 40 41 uninstall: 42 ssh $(USER)@$(TARGETSYS)galileo9 rm -f $(BINDIR)/$(TARGET) 5

10. Transfira o programa para a Galileo: make install 11. Tente executar o programa na Galileo e verifique o que acontece. 12. Utilize os comandos file e ldd para verificar a diferença entre os executáveis nos casos 7 e 11. 13. Aconteceria a mesma coisa se o Linux executando no host fosse também de 32 bits? 14. Faça um Hello, World!"em C++ e compile-o com um Makefile adequado para executar na Galileo.