Laboratório 3 Sistemas embarcados Período 2010.2 1 Saulo O. D. Luiz Roteiro • Confecção dos cabos serial e de rede • Configurações adicionais da estação de trabalho • Boot na plataforma OMAP 2 Saulo O. D. Luiz Cabo serial 3 Saulo O. D. Luiz Cabo de rede • Corte o cabo • Separe os fios por cores 4 Saulo O. D. Luiz Cabo de rede 5 Saulo O. D. Luiz Cabo de rede • Conector RJ-45 – Certo: – Errado: 6 Saulo O. D. Luiz Uso do OMAP1611 Cabo de energia 7 Saulo O. D. Luiz Uso do OMAP1611 Cabo serial – Permite que o PC acesse o console da placa. 8 Saulo O. D. Luiz Uso do OMAP1611 Cabo de rede 9 Saulo O. D. Luiz Configurações adicionais da estação de trabalho 10 Saulo O. D. Luiz Estação de Trabalho • Configurar os programas/serviços – Minicom: • Programa de comunicação serial – TFTP • Transferência de dados entre a plataforma e a estação de trabalho. – NFS • Protocolo que permite o aceso ao sistema de arquivos através da rede, tão facilmente como se estivesse armazenado localmente – DHCP (caso não exista na rede) • Prover endereços IP para a plataforma 11 Saulo O. D. Luiz Configurações • Minicom – Se não estiver instalado Taxa de transmissão: 115200bps • apt-get install minicom – Configuração • • • • • • • • 12 8 bits N1 Porta serial: sudo minicom -w CTRL A Z O (configure minicom) serial port setup save setup as dfl Exit CTRL A Z X, yes Saulo O. D. Luiz /dev/ttyS0 Configurações • TFTP – Se não estiver instalado • sudo apt-get install tftpd netkit-inetd – Criar a pasta de compartilhamento – mkdir -p /embedded/targets/ – Editar o arquivo • sudo vi /etc/inetd.conf tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /embedded/targets Linha a ser adicionada no início do arquivo – Iniciar o inetd • sudo /etc/init.d/inetd start 13 Saulo O. D. Luiz • Coloque a imagem do kernel na pasta /embedded/targets 14 Saulo O. D. Luiz Configurações • NFS – Se não estiver instalado • sudo apt-get install nfs-kernel-server – Diretório da distribuição • /embedded/targets/tux – Exportar o diretório • Editar o arquivo /etc/exports /embedded/targets/tux *(rw,no_root_squash,no_all_squash,async) Linha a ser adicionada – Iniciar o serviço • sudo /etc/init.d/nfs-kernel-server start 15 Saulo O. D. Luiz Boot na plataforma OMAP: U-Boot • printenv: imprime as variáveis de ambiente • saveenv: salva as variáveis de ambiente • setenv: configura as variáveis de ambiente • bootp: obtém um IP do servidor de IP • tftpboot: faz boot da imagem do kernel via internet usando o protocolo TFTP. tftpboot [loadAddress] [bootfilename] • bootm: inicializa o kernel. bootm [AddressBootFilename] • help 16 Saulo O. D. Luiz Configurar o UBoot Imprime as variáveis atuais: • print Seta algumas variáveis: • set eth0 • set bootargs mem=32M console=ttyS0,115200n8 noinitrd root=/embedded/targets/tux rw nfsroot=XXX.XXX.XXX.XXX:/embedded/targets/tux,nolock ip=dhcp (coloque seu IP no lugar de XXX.XXX.XXX.XXX) • set serverip XXX.XXX.XXX.XXX • set bootcmd 'bootp;tftp;bootm' • save (coloque seu IP no lugar de XXX.XXX.XXX.XXX) Faz download da imagem do kernel: • tftpboot 0x10000000 uImage Dá boot no kernel: • 17 bootm Saulo O. D. Luiz • Fora do scratchbox – Mover o rootfs • sudo mv /embedded/targets/tux /embedded/targets/tux_bak – Criar um link simbólico do scratchbox para o rootfs • sudo ln -s /scratchbox/users/$USER/targets/TUX /embedded/targets/tux – Re-exportar o NFS • sudo exportfs -a – Sincronizar o antigo target com o scratchbox • sudo rsync -a /embedded/targets/tux_bak/ /embedded/targets/tux/ 18 Saulo O. D. Luiz Referências • Vilhena, A. Fazendo seus cabos de rede – Parte 2, http://www.boadica.com.br/layoutdica.asp?codigo=298 (data de acesso: Janeiro de 2007) 19 Saulo O. D. Luiz