A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Tutorial de Desenvolvimento uClinux Jarismar C. Silva PPGEE/PUCRS

Apresentações semelhantes


Apresentação em tema: "Tutorial de Desenvolvimento uClinux Jarismar C. Silva PPGEE/PUCRS"— Transcrição da apresentação:

1 Tutorial de Desenvolvimento uClinux Jarismar C. Silva PPGEE/PUCRS

2 Conteúdo Introdução; Ciclo de desenvolvimento; Configuração do HW Excalibur/Nios; Exemplo de desenvolvimento de SW; Conclusões;

3 Introdução O ambiente uClinux foi portado para a placa Excalibur/Apex pela empresa MICROTRONIX para atender a necessidade de rápido desenvolvimento de aplicações embarcados.MICROTRONIX Principais características: V2.4 do Kernel Linux; Bibliotecas para cross-compiling baseadas no nios-elf-gcc; Suporte a Ethernet; Suporte a NFS e Samba para pontos de montagem a partir do sistema na placa; Monousuário: apenas root.

4 Introdução Placa Excalibur

5 Introdução Acessórios para suporte ao uClinux 32 Mb IDE Flash Disk CS8900 – 10 Mbps Ethernet 8 Mb Flash 16 Mb RAM

6 Introdução CPU Nios Processador descrito em VHDL; 32 bits; 512 registradores (acessíveis em janelas de 16); Arquitetura RISC pipeline; A maioria das instruções requer apenas um ciclo de clock; DetalheBits Dados32 Endereços32 Registradores32 ULA32 Instruções16

7 Introdução Periféricos Suporte a ethernet (CS8900 – 10 Mbps); Sockets Telnet FTP Http 2 UARTs (RS 232, ttyS0 e ttyS1); Memória ROM (flash) e RAM (SRAM); Timer; O sistema original pode ser modificado através do SOPC Builder para suportar os demais componentes da placa.

8 Ciclo de desenvolvimento Visão geral de um projeto:

9 Ciclo de desenvolvimento Modelo do sistema e principais dispositivos:

10 Ciclo de desenvolvimento Etapas para alterar o sistema adicionando ou modificando o HW: Abrir o sistema no Quartus II; Iniciar o SOPC Builder; Alterar o mapa de memória, dispositivos, ou adicionar novos dispositivos; Compilar o sistema no SOPC Builder; Alterar a pinagem do BDF do sistema; Compilar o sistema no Quartus II; Programar o FPGA; Desenvolver o SW para o novo sistema;

11 Ciclo de desenvolvimento Etapas para desenvolver SW Desenvolver o programa na máquina host; Compilar e criar arquivo ELF (usar Makefile); Simular utilizando nios-elg-gdb (c/ restrições); Baixar para a placa através de ftp ou; Montar um diretório remoto no sistema rodando na placa; Logar na placa através de telnet ou nios-run –t; Executar programa; Verificar resultados; Corrigir eventuais erros.

12 Desenvolvimento de SW A seguir é apresentado um tutorial passo-a- passo demonstrando como compilar e baixar um programa para ser executado na placa Excalibur. O programa é um simples helloWord, cujo código é listado abaixo: int main(){ printf(Hello Word!\n); return 0; }

13 Desenvolvimento de SW Objetivos: Demonstrar o uso do Microtronix LDK; Demonstrar os passos necessários para tornar um aplicativo disponível; Introduzir as principais etapas do ciclo de desenvolvimento de SW.

14 Configuração passo-a-passo P1 : Abrir o LDK; Utilize o ícone do Desktop P2 : Alterne para o diretório de projetos; cd niosuserland Dica: O ldk funciona através de um emulador de linux (cygwin) o shell utilizado é o bash, então é possível utilizar o recurso de auto-completar através da tecla tab. Tente digitar apenas cd ni e pressionar tab, você verá que o shell completa o comando.

15 Configuração passo-a-passo P3: crie um diretório para a aplicação: mkdir aHello [Enter] Dica: um diretório chamado hello já existe. Alterne para o diretório cd aHello

16 Configuração passo-a-passo P3: Escreva o código do aplicativo: Utilize o vi, xemacs (normalmente presentes) ou Utilize um editor de texto do windows P4: Salve o arquivo: Para editores windows o arquivo deve ser salvo em: C:\cygwin\opt\uclinux\niosuserland\aHello\hello.c

17 Configuração passo-a-passo P5: Escreva o makefile para compilar o arquivo: Este ítem é necessário pois as bibliotecas estão em vários diretórios pelo disco; A seguir é apresentado o makefile para essa simples aplicação. Você pode ainda copiar o arquivo que está no hello original e alterar. cp../hello/Makefile.

18 Configuração passo-a-passo Código do Makefile STACKSIZE = 1024 include../Rules.mak FTARGET = hello all:hello.abself hello.relocbflt $(FTARGET) Makefile../Makefile SOURCES = hello.c include $(SOURCES:.c=.d) $(FTARGET): hello.relocbflt cp -a $< chmod 0755 clean: rm -f *.[iods] $(FTARGET)

19 Configuração passo-a-passo P6: Compile o projeto Basta digitar o comando make Arquivo final

20 Configuração passo-a-passo P7: Baixar o programa para a placa Visão da ligação em rede Host x Nios

21 Configuração passo-a-passo P7: Baixando SW para a placa Descubra o IP da placa: No shell do cygwin digite Nios-run –t [ENTER] [ENTER] A placa deve solicitar o login Logar como usuário root; Usar o comando /bin/ifconfig O endereço IP aparece no texto de saída do comando no item eth0 e inet addr. Alterne ainda as configurações de acesso ao diretório /var/tmp (onde o SW ficará) chmod 0777 /var/tmp

22 Configuração passo-a-passo

23 Após obter o endereço IP digite Ctrl+C para fechar o nios-run; Digite ftp Logue como usuário operator; Alterne o modo da conexao para binário; Baixe o programa para o diretório tmp; Feche a conexão;

24 Configuração passo-a-passo P8: Executar o SW Logue na placa, mas agora via telnet; Utilize o usuário root; Alterne para o diretório /var/tmp Mude os atributos do arquivo hello para poder executá-lo chmod 0777 hello Finalmente execute o Aplicativo hello.

25 Considerações finais O desenvolvimento de SW para o uClinux exige o domínio de várias tecnologias típicas dos sistemas UNIX; Atividades futuras incluem Desenvolvimento de device drivers para disposistivos a serem utilizados na placa; Desenvolvimento de uma distribuição do sistema operacional uClinux (abandonando a distribuição Microtronix de auto custo); Para saber mais


Carregar ppt "Tutorial de Desenvolvimento uClinux Jarismar C. Silva PPGEE/PUCRS"

Apresentações semelhantes


Anúncios Google