Webinar Freescale Desenvolvimento de sistemas embarcados em Linux com a Thunderboard 11/12/ PDF
Download "Webinar Freescale Desenvolvimento de sistemas embarcados em Linux com a Thunderboard 11/12/2013"
Mirella Santos de Andrade
1 Webinar Freescale Desenvolvimento de sistemas embarcados em Linux com a Thunderboard 11/12/2013
2 Índice Sobre a Thunderboard Descrição do produto System on Module (SoM) MDP i.mx28 Aplicações Vantagens BSP Linux Yocto Project Xenomai Dúvidas
3 SOBRE A THUNDERBOARD
4 O que é a Thunderboard? Uma solução flexível e de baixo custo para aplicação em sistemas embarcados Hardware para aplicações embarcados Contém recursos básicos de um microcomputador embarcado De fácil integração em soluções personalizadas Baixo custo Reference design para projeto de equipamentos dedicados Placa base do System on Module MDP i.mx28 Projeto base para projeto de novo hardware dedicado
5 Thunderboard
6 Sobre a Thunderboard Projeto em parceria Phi Innovations itech Motivação inicial: CPU base para aplicação em uma linha de produtos da área de soluções do Grupo itech Resultado final: uma CPU de custo baixo para uso geral, em diversos segmentos de mercado
7 Características Um projeto de hardware em duas camadas SoM (System on Module) System on Module: Placa independente contendo todos os recursos computacionais necessários para projeto de hardwares dedicados com diferentes periféricos. Placa Base: Placa contendo todos os periféricos dedicados de um sistema embarcado específico Placa Base A comunicação entre as duas placas se dá através de conector ou soldagem
8 Vantagens de projetos com SoM Utilizar um SoM reduz risco de projeto de um sistema embarcado Projeto de hardware Maior risco está no projeto dos componentes de CPU de um sistema embarcado Riscos Gerenciamento de componentes em fim de linha Projeto de PCB de altas velocidades Aumento na quantidade de camadas de placa
9 Vantagens de projetos com SoM Tempo de desenvolvimento Time to market reduzido ao usar um SoM Placa base de complexidade reduzida Baixo custo Poucas camadas Flexibilidade do projeto É possível melhorar o desempenho e recursos do projeto através da substituição da unidade computacional do projeto
10 Especificações da Thunderboard Recursos System on Module MDP i.mx28 Ethernet USB Host duplo USB On The Go (OTG) Conector UART (FTDI) Cartão Micro SD Acelerômetro Alimentação através de conector P4 5 V 4 Leds auxiliares Barra de expansão Expansão 3 seriais UARTs 2 interfaces CAN GPIO LCD ADC 7 canais 12 bits e um canal 2 MSPS SPI I2C I2S
11 SoM MDP i.mx28 Microprocessador Freescale i.mx28 ARM926EJ-S de 454 MHz Cache 16 KB/32 KB 128 MB de memória RAM DDR2 512 MB de memória NAND Flash PHY Ethernet Suporte a IEEE 1588 Dimensão: 35 x 44 mm Encapsulamento castellation de 146 pinos Alimentação 5 V
12 Vantagens do MDP i.mx28 Baixo custo Produção nacional Fácil produção e manutenção Encapsulamento castellation facilita montagem e reparo de placa Versátil Permite o emprego em diferentes aplicações
14 Cenários de uso Utilização da Thunderboard em projetos específicos Utilização do MDP i.mx28 em projetos específicos
15 Uma placa para ser usada em equipamentos Leds de um lado e conectores de outro Apropriado para aproveitamento em caixas dedicadas Conectores de expansão Para inclusão de novas funcionalidades Conectividade essencial USB Host USB Device Ethernet Armazenamento externo Suporte a pendrive Cartão SD
16 Aplicações com Thunderboard Automação comercial Leitores de dados Teclados Microterminais Sensoreamento Aquisição e transmissão de dados Interface Homem Máquina (IHM) Telemetria Expansão através de hardware adicional Modems 3G e GPRS Sensores (GPIO/I2C/SPI) Display LCD Touchscreen Wi-Fi Bluetooth Ethernet Adicional
17 Aplicações com MDP i.mx28 Networking Roteadores personalizados Automação industrial CPU para CLPs e IHMs Automação comercial Microterminais Coletores de dados IHMs Telemetria Modems Unidades remotas de monitoramento Rastreadores de veículos Computadores de bordo Segurança Sistemas de vigilância Proxy
18 BSP
19 Definição de BSP BSP Board Support Package Conjunto de software necessário para execução de um determinado conjunto de software para um hardware específico Geralmente é composto pelo sistema operacional embarcado executado no equipamento eletrônico, juntamente com seus drivers de dispositivos e suas ferramentas de desenvolvimento de software aplicativo
20 Linux Suporte ao sistema operacional Linux Linux implementado na ferramenta Yocto Geração de todo o ambiente de desenvolvimento de software aplicativo para a Thunderboard/SoM
21 Yocto Project Projeto da Linux Foundation com o objetivo de uniformizar o desenvolvimento de BSPs Linux para diferentes microprocessadores e placas Fornece templates, ferramentas e métodos para auxiliar na criação de sistemas personalizados baseados em Linux para produtos embarcados independentemente da arquitetura de hardware
22 Yocto Project Principais componentes Openembedded Framework para criar distribuições Linux para sistemas embarcados Pode incluir bootloader, kernel Linux e aplicações É um conjunto de metadados usado para cross-compilar, empacotar e instalar pacotes de software A partir de seu código fonte
23 Yocto Project Principais componentes Poky Platform Builder É a ferramenta de construção de distribuição Linux (Linux build system) do Projeto Yocto É derivado do OpenEmbedded É um subconjunto do OpenEmbedded, com recursos compartilhados com o intuito de integração direta
24 Yocto Project Principais componentes Bitbake Ferramenta utilizada para execução de tarefas Derivada do projeto de código aberto Portage Sistema de gerenciamento de pacotes da distribuição Gentoo Utilizado principalmente para compilação de pacotes É base dos projetos Poky/OpenEmbedded
25 Construção de uma imagem QEMU ou placa final
27 Áreas funcionais Configuração de usuário: metadados usados para controlar o processo de compilação Camadas de metadados: várias camadas de metadados com configurações de software, de hardware e de distribuição Arquivos fonte: versões oficiais, projetos locais ou repositórios remotos Package feeds: diretórios contendo pacotes de saída que são usados para construção de uma imagem ou SDK (Software Development Kit) Imagens: imagens produzidas pelo processo de desenvolvimento SDK de desenvolvimento de aplicações: ferramentas de cross compilação
28 Ambiente de trabalho
29 Procedimento básico Baixar o projeto poky Executar configurações de variáveis de ambiente source oe-init-build-env Alterar os arquivos de configuração bblayers.conf local.conf Executar a compilação desejada bitbake <target> Exemplos de targets core-image-minimal meta-toolchain openssh Cada imagem possui um arquivo.bb com a receita responsável pela execução das tarefas correspondentes a este procedimento
30 MDP i.mx28 Código fonte Projeto hospedado no Github Criada uma camada específica para a placa meta-phi Criada uma imagem específica para a placa image-phi-mdp28 Criada uma configuração específica de hardware mdp28
31 Xenomai Framework para desenvolvimento de sistemas de tempo real em Linux Objetivo é permitir com que software criado em outros ambientes possam executar em Linux, mediante recompilação Projeto criado em 2001 Se fundiu com o RTAI em 2003 RTAI/Fusion Se separou do RTAI em 2005
32 Xenomai USER SPACE Aplicativo convencional Chamadas de sistema Aplicativo tempo real Chamadas de API Interrupções de hardware Linux Kernel Xenomai RTOS (nucleus) KERNEL SPACE Chamadas de I/O Interrupções de hardware Adeos/I-pipe Chamadas de I/O Interrupções de hardware Hardware
33 Xenomai Utiliza o ADEOS como tecnologia de separação de domínios Tempo Real Não tempo real Possui um RTOS próprio (nucleus) Skins para utilização de código de outros sistemas operacionais Comunidade relativamente grande Em comparação com outras iniciativas similares Suporte a diversas plataformas
34 Principais componentes Xenomai Nucleus Sistema operacional de tempo real. Implementa todas as funcionalidades necessárias para execução de aplicativo de tempo real Real Time Driver Model (RTDM) Infraestrutura para desenvolvimento de drivers e tasks para execução em kernel-space com Xenomai Native API Conjunto de funções que controlam o funcionamento do Xenomai Nucleus. Trata-se de uma biblioteca nativa e específica para um projeto de software escrito para Xenomai POSIX Skin Implementação de funcionalidades de tempo real para execução no Xenomai Nucleos conforme as especificações de API de tempo real definidas no padrão POSIX Padrão POSIX é a principal referência de API dos principais vendors de RTOS do mercado HAL Hardware Abstraction Layer. Utilizada para comunicação com ADEOS SCHED Funcionalidades para controle de escalonadores
35 Roadmap BSP Fase 1 suporte inicial Configuração básica Ambiente de desenvolvimento Fase 2 Qt Suporte ao desenvolvimento de interface gráfica com o usuário Fase 3 Xenomai Suporte ao desenvolvimento de software em tempo real
37 Obrigado Informações para contato:
Thunderboard guia do usuário
grupoitech.com.br Thunderboard guia do usuário Revisão 1.0 (05052015) Orientações gerais Este manual de usuário foi desenvolvido com o intuito de ajudar no desenvolvimento e manuseio dos equipamentos de
Framboesa π: Signal processing with raspberry pie
Framboesa π: Signal processing with raspberry pie Raspberry Pi: Processamento de sinais com torta de framboesa Antonio Deusany de Carvalho Junior dj@ime.usp.br Compmus - IME/USP Apresentação do RPi Apresentação