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

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

Tutorial de Desenvolvimento uClinux

Apresentações semelhantes


Apresentação em tema: "Tutorial de Desenvolvimento uClinux"— 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. 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
CS8900 – 10 Mbps Ethernet 32 Mb IDE Flash Disk 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; Detalhe Bits Dados 32 Endereços Registradores ULA Instruções 16

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 Configuração passo-a-passo
Após obter o endereço IP digite Ctrl+C para fechar o nios-run; Digite ftp <IP> 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"

Apresentações semelhantes


Anúncios Google