Embarcados para Linux
O que exatamente significa "Sistemas Embarcados"?
Definição dos principais pesquisadores para Sistemas embarcados "Um hardware ou software com um propósito especial que é encapsulado pelo dispositivo que controla."
Definições principais:
Para que serve.
Tipos de processamento – Microprocessadores/Micro controlador.
Armazenamento tipos : ROM/FLASH.
Restrições de consumo ou tamanho.
Linux Embarcados X Linux Tradicional.
Principais características para Embarcados em GNU.
Kernel LinuxKernel Linux / uClinux(Sem MMU)
Kernel completo com aKernel leve, somente com as
Maioria das características e comcaracterísticas necessárias e drives.
Drives para todo tipo de hardware
De PC do planeta!!
Alguns exemplos de sistemas embarcados com Linux:
PDA Sharp Zauro SL-C3100Celular Haier N60 (wifi,GSM Camera, touch screen)
Multimídia Archos PMA400Telefone VoIP Wifi Accton VM1188T
Roteador LinksysThinclients
TabletsDVDs
Relógio
O mercado de negócios para Linux Embarcados deve crescer cada dia mais tendo um dos principais concorrentes do mercado de TI entre eles se destacam os principais projetos na área:
- Sistemas proprietários (home-brew).
-VxWorks
-QNX
-Windows
Principais concorrente (2005):
Windows Embedded
Fonte :http://linuxdevices.com/articles/AT6743418602.html /http://linuxdevices.com e http://windowsfordevices.com)
Vantagens Linux embarcados
- Qualidade do código
-Footprint relativamente pequeno:
- Kernel: 0,5 – 2MB de flash
- Sistemas de arquivos: Variável
- Mesmo assim, pode sergrande para algumasaplicações
-Portabilidade e escalabilidade
-Grande numero de aplicativos disponíveis
-Custos reduzidos
-Suporte
-Fórum, listas,Email, FAQs.
Cuidados com Linux Embarcado
-Linux e um sistema de propósito geral
- Existem muitas opções de aplicativos, que requer analise refinada.
-Os formatos das licenças devem ser verificados sempre
-O Linux sempre esta em constantes atualizações.
Conhecimentos necessários para criação de Linux Embarcados:
- Operação e funcionamento do sistema Linux
-Inicialização na plataformadesejada
-Conhecimento da estrutura do Kernel.
-Compilação e instalaçãodo kernel.
Ferramentas necessárias para Modelagem de Kernel
Compiladores Cruzados (toolchains)
-Portesdo GCC para a plataforma desejada (binutils/glibc/GCC/GDB,...)
-Emuladores
-Outros
-Conhecimento de redes (configuração, TFTP,NFS...)
-Uso de aplicativos tipo minicom (console Serial)
-Controle de versão(CVS/SubVersion)
Tipos de programação necessária para programação em Kernel Linux
-Programação em C (Obrigatório).
-Assembly para plataforma desejada pode ser necessário.
-Um pouco de Shell Script não faz mal a ninguém.
-Desenvolvimento de módulos (device drivers).
-Bônus track:
-HTML, servidores HTTP
-CGIe script(Python,PHP,Perl,Etc…)
-Java
Conhecimento de engenharia eletronica digital
-Microcontroladores/Microprocessadores.
-Padrões de memoria
-SDRAM
-FLASH
-EEPROM
-Padrões de barramento caso precise desenvolver drivers
Equipamento necessário para plataforma embarca
-Hardware Proprietário pode ter custo elevado
-Projeto de circuito eletrônico
-Layout da placa
-Confecção do PCB(Printed Circuit Board) e montagem.
-Integração hardware X software (Conhecimento em engenharia de software embarcados)
-Mecânica
-Certificação quando necessária.
Avaliar sempre o custo do investimento versus a fabricação por terceiros.
Equipamentos necessários para debug
-JTAG(Joint test Action Group)
-BDM(Background Debug Mode)
-Emuladores (Via hardware)
Pronto com essas informações voce já pode desenvolver seu Linux embarcados , o resto e com você, procure distribuições livres para utilizar em seu projeto.
Lembre o Google e seu melhor amigo.
Autor: luis bilar
Artigos Relacionados
Entendendo O Mundo Dos Embarcados
Linux, Um Sucesso, Mas Sem Funcionalidade Para Usuarios Windows
Automação De Ambiente Doméstico Para Controle Remoto Através Da Internet
O Indestrutível Pen Drive
Conficker Ganha Força Em Primeiro De Abril
Razões Para Optar Pelo Alojamento Web Linux
Usando Qemu No Windows