Galileo Gen2
Transcrição
Galileo Gen2
Galileo Gen2 Walter Fetter Lages [email protected] Universidade Federal do Rio Grande do Sul Escola de Engenharia Departamento de Sistemas Elétricos de Automação e Energia Semana Acadêmica 2015 Engenharia de Controle e Automação Copyright (c) Walter Fetter Lages – p.1 Galileo Gen2 Copyright (c) Walter Fetter Lages – p.2 Galileo Gen2 • • • • Intel Galileo Gen2 Development Board Intel Quark SoC X1000 • Pentium de 32 bits @ 400MHz Open Source Hardware Compatível com Arduino Uno R3 • 20 I/O digitais (12 nativas) • 6 entradas analógicas • 6 PWMs com resolução de 12 bits • 1 mestre SPI • 2 UARTs (1 compartilhada com console) • 1 mestre I2C Copyright (c) Walter Fetter Lages – p.3 Conectores • • • • • • • • FTDI UART ICSP JTAG Ethernet com PoE USB 2.0 host USB 2.0 client Mini-PCI Express 1x Jack de alimentação Copyright (c) Walter Fetter Lages – p.4 Alimentação & Reset • • • • Jack 7 a 15 Vpositivo no pino header for RTC power Botão de reset para shields e Ethernet Botão de reboot para o Quark Copyright (c) Walter Fetter Lages – p.5 Armazenamento • • • • • 8 MB Flash NOR 256 MB DDR3 @ 800 MT/s SD Card até 32 GB USB 8 kB EEPROM Copyright (c) Walter Fetter Lages – p.6 Diagrama de Blocos Copyright (c) Walter Fetter Lages – p.7 UART de Console do Galileo Gen2 • • • • • Sinais RS-232, porém com níveis TTL 3.3 V Emula um DTE GND, #RTS, NC, RXI, TXO, #CTS É diferente do Galileo • Plug de 3,5 mm, TX, RX, GND No Linux aparece como /dev/ttyS1 Copyright (c) Walter Fetter Lages – p.8 Cabo FTDI TTL-232R-3V3 • • • • • • • Conversor USB para serial Sinais RS-232, porém com níveis TTL 3.3 V Existem versões de 5 Ve 3.3 V Emula um DTE GND, #CTS, 5V, TXD, RXD, #RTS Conectado no Galileo Gen2 cria um null-modem No host aparece como /dev/ttyUSB? Copyright (c) Walter Fetter Lages – p.9 Conversor USB-Serial • • • • • • Sinais RS-232, porém com níveis TTL 3.3 V Existem versões de 5 Ve 3.3 Ve selecionáveis Emula um DTE GND, #CTS, 5V, TXD, RXD, #DTR Conectado no Galileo Gen2 cria um null-modem, embora com sinalização #DTR/#CTS No host aparece como /dev/ttyUSB? Copyright (c) Walter Fetter Lages – p.10 Notas • Durante o boot a Galileo Gen2 desativa o #RTS • Para usar o menu do GRUB, é necessário desativar o controle de fluxo por hardware no emulador de terminal Copyright (c) Walter Fetter Lages – p.11 Boot da Galileo Gen2 • • • • • A Galileo Gen2 possui um kernel Linux e um initrd na Flash O sistema de arquivos é RAMFS Não é persistente entre boots Para alterações nas configurações ou no kernel serem persistentes é necessário criar um novo initrd e gravá-los na flash Felizmente a Galileo Gen2 também podem dar boot a partir do cartão SD ou de pendrive • A imagem disponível no site da Intel não funciona bem com pendrive Copyright (c) Walter Fetter Lages – p.12 Criação do Cartão SD • Download de http://downloadmirror.intel.com/24355/eng/SDCard.1.0.4.tar.bz2 • • • Formatar o cartão SD com FAT32 Descompactar com tar-xjfSDCard.1.0.4.tar.bz2 Colocar os arquivos na raiz do cartão SD: /boot/grub/grub.conf bzImage core-image-minimal-initramfs-clanton.cpio.gz grub.efi image-full-galileo-clanton.ext3 • • Inserir o cartão na Galileo Gen2 Dar boot Copyright (c) Walter Fetter Lages – p.13 Cartão SD • Este não é a melhor forma de organizar os arquivos para boot em um Linux, mas é uma forma que pode ser criada no Windows pois utiliza apenas FAT32. Copyright (c) Walter Fetter Lages – p.14 Processo de boot • • • • • A Galileo Gen2 utiliza o sistema EFI para boot grub.efi é o gerenciador de boot carregado pelo EFI • Necessariamente tem que estar em uma partição com FAT32 /boot/grub/grub.conf é o arquivo de configuração do GRUB • Configura as opções do menu de boot bzImage é o kernel core-image-minimal-initramfs-clanton.cpio.gz é o initrd • Após inicializar o kernel executa o init Copyright (c) Walter Fetter Lages – p.15 Processo de boot • image-full-galileo-clanton.ext3 Imagem do sistema de arquivos final • O init chaveia o diretório raiz para o / deste sistema de arquivos Copyright (c) Walter Fetter Lages – p.16 Configuração do GRUB • É possível ter vários kernels instalados e selecioná-los no boot default 1 timeout 1 color white/blue white/cyan title Clanton SVP kernel-SPI initrd-SPI IMR-On IO-APIC/HPET NoEMU kernel --spi root=/dev/ram0 console=ttyS1,115200n8 \ earlycon=uart8250,mmio32,$EARLY_CON_ADDR_REPLACE,115200n8 \ reboot=efi,warm apic=debug rw initrd --spi title Clanton SVP kernel-MassStorage initrd-MassStorage image-full IMR-O root (hd0,0) kernel /bzImage root=/dev/ram0 console=ttyS1,115200n8 \ earlycon=uart8250,mmio32,$EARLY_CON_ADDR_REPLACE,115200n8 \ reboot=efi,warm apic=debug rw LABEL=boot debugshell=5 \ rootimage=image-full-galileo-clanton.ext3 initrd /core-image-minimal-initramfs-clanton.cpio.gz Copyright (c) Walter Fetter Lages – p.17 Acesso ao FS do Galileo em um PC • • • É possível montar o sistema de arquivos do Galileo em um PC com Linux É possivel também executar um chroot para este sistema de arquivos e executar programas que estão lá Útil para desenvolvimentos em casa, sem acesso ao Galileo modprobe loop mount -o loop -t ext3 image-full-galileo-clanton.ext3 /mnt Copyright (c) Walter Fetter Lages – p.18