Você está na página 1de 38

Linux em Sistemas Mveis e Embarcados

Jorge Pereira <jorge@jorgepereira.com.br> www.jorgepereira.com.br

Licena

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

Who i'am?
Jorge Pereira, teve seu primeiro contato com o Linux por volta de 1996, desde ento atuou como consultor, sysadmin, instrutor, palestrante e firmou-se como desenvolvedor desde 2000. Atualmente trabalha como engenheiro de sistemas na empresa C.E.S.A.R utilizando diversas tecnologias entre elas C/C++/Python sobre a plataforma Linux. Alm de contribuir nas horas vagas com o projeto GNOME.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

Objetivo
Apresentar sobre a atuao do Linux no mercado de Sistemas Mveis e Embarcados, e falar sobre suas principais caractersticas alem de mostrar uma viso sobre seu funcionamento e espectativas de grandes e mdias empresas envolvidas com este mercado.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

Agenda

O que um sistema embarcado? Por que usar Linux num projeto embarcado? Exemplos de uso de sistemas embarcados. H mercado para o Linux em sistemas embarcados? Linux tradicional x Linux embarcado. Nem tudo e to simples... Exemplos mais aprofundados. E agora? Referncias.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 5

O que um sistema embarcado?


Definio da Wikipdia : Um computador de propsito especial, que completamente encapsulado pelo dispositivo que controla.

Sistema que usa microprocessadores ou microcontroladores. Foco de uso muito especfico. Aplicao salva em memria de somente leitura. Restries de tamanho e/ou de consumo de energia.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 6

Histria

Anos 1960 - 1o sistema embarcado.

Apollo Guidance Computer Computador de navegao usado no Projeto Apollo.

1961 1o sistema embarcado feito em larga escala.

Computador de navegao do mssil nuclear LGM-30 Mssil Minuteman.

Anos 1970 Criao do microprocessador; reduo do tamanho e do preo. Anos 1980 Uso em larga escala de eletrnica digital torna-se a regra.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 7

Alguns Esclarecimentos

Microcontrolador Um microprocessador otimizado para controlar dispositivos eletrnicos. Firmware - Software que controla diretamente o hardware. Homebrew Desenvolvido como hobby, o popular fazido por eu. Sistemas de tempo real Sistemas onde o tempo de execuo rgido.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 8

Processadores para GNU/Linux Embarcado

ARM Coldfire (Motorola) MIPS PowerPC Famlia SH (Hitachi) Famlia Z80 (Zilog) Mips x86
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 9

Por que usar Linux num projeto embarcado?


Antes de mais nada, O Que o Linux? Sistema operacional de cdigo aberto, baseado em Unix.

Kernel monoltico, mantido por Linus Torvalds e muitos outros ao redor do mundo (desde 1991). Um conjunto de programas, cada vez maior!

Verso atual do kernel: 2.6.29 (08/04/2009) Licena de uso GPL. O sistema do pinguim (Tux).

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

10

Por que usar Linux num projeto embarcado?


Cdigo-fonte disponvel e de boa qualidade. Muitas aplicaes disponveis.

Distribuio Debian - Mais de 15.000 pacotes disponveis via Internet para serem instalados.

Portvel e escalvel. Pessoal com conhecimento disponvel. Suporte

Frum, listas, e-mail, FAQs, exemplos, suporte comercial disponvel.


Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 11

Por que usar Linux num projeto embarcado?


Suporte extenso redes, principalmente TCP/IP. No 'governado' por apenas um fornecedor. Extenso suporte segurana e criptografia. Grande nmero de perifricos. Nada de royalties. Reduo de custos. Eu mencionei que e Livre? :P

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

12

Exemplos de uso do Linux em sistemas embarcados

Linksys WRT54G (roteador). Sharp Zaurus (palmtop). Motorola A1200 (celular). Nokia N770, 800 e 810 (Internet tablet). Samsung Qtopia (celular).

Asus WL-700gE (roteador). Axis 2120 (cmera). Tom Tom Go (GPS). BIOS das novas placas-me Asus.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

13

Exemplos de sistemas operacionais embarcados

eCos. Windows CE. VxWorks. Inferno. Free RTOS. QNX. Esystech X RTOS (nacional).

VirtuOS (nacional). HardHat Linux (Montavista). Zeroshell Linux. ngstrm Linux. Palm OS. Symbian OS.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

14

H mercado para o Linux em sistemas mveis e embarcados?

Pesquisa realizada pelo site www.LinuxDevices.com


Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 15

Linux tradicional x Linux embarcado


Tipos Linux tradicional Caractersticas Interfaces Utilitrios Bibliotecas Biblioteca C Kernel Linux embarcado

Escritrio, multimdia, Interface personalizada para desenvolvimento, jogos, a aplicao que ser etc. empregada. ls, cp, mv, rm, mkdir, cd, Implementaes mais leves, rmdir, wget, joe, ssh, gcc, que consomem menos httpd, etc. recursos e memria. libxml, libvorbis, zlib, libstdc++, etc. uClibc (muito mais leve, e otimizada para UCPs sem glibc (Biblioteca GNU C) MMU) Kernel completo, com todos Kernel customizado, com os os drivers, para a maioria drivers realmente do hardware. necessrios.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

16

Nem tudo e to simples assim...

O desenvolvimento constante, e com isso, tem problemas. Necessidade de otimizar o sistema para um propsito especfico. Muitas aplicaes, necessria uma anlise mais cuidadosa. Questes de licena devem ser verificadas. Suporte de qualidade mais fcil encontrado se for (bem) pago.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 17

Nem tudo e to simples assim...


Algumas empresas que atuam na rea de embarcados.

http://www.cesar.org.br/

http://www.profusion.mobi/

http://www.indt.org.br/

http://embedded.ufcg.edu.br/

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

18

Exemplos mais aprofundados


Nokia Internet tablets Rockbox. GP2X. Celulares com Linux. OpenMoko.

Android. OpenWRT. Firmwares para equipamentos de rede. ngstrm Linux.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

19

Exemplos mais aprofundados


Nokia Internet Tablets

N770, N800 e N810. Wi-fi, Bluetooth, cartes SD, USB, webcam, rdio FM, etc. Comunidade homebrew bem ativa. Verso com WiMAX. Internet Tablet OS (Maemo / Mamona - Linux)

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

20

Exemplos mais aprofundados


Nokia Internet Tablets

Instituto Nokia de Tecnologia


Recife, Manaus e Braslia. Mais de 150 profissionais. Desenvolve tecnologia tambm para os tablets. Canola Media center para os tablets, made in Brazil.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

21

Exemplos mais aprofundados


RockBox

Firmware em cdigo-aberto para MP3 players. Suportado por mais de 25 modelos, dos fabricantes:

Apple, Archos, Cowon Creative, iRiver, Philips Olympus, Rio, Toshiba

Extenses por plugins.


Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 22

Exemplos mais aprofundados


RockBox

Suporte para vrios codecs de udio e vdeo (OGG, FLAC, JPEG, MPEG, etc) Cross-fading. Suporte para mais de 30 idiomas. Interface falada (opcional). Jogos (Doom!) e emuladores (NES e GameBoy). E muito mais!
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 23

Exemplos mais aprofundados


GP2x

Video-game porttil e player de mdia. Herdeiro do GP32. Baseado em Linux. GamePark (Coria do Sul). Criado para o mercado homebrew. Sada para TV, carto SD, tela sensvel ao toque, suporte nativo a vdeo (DivX), udio (MP3), etc.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 24

Exemplos mais aprofundados


GP2x

Poucos jogos comerciais, muitos jogos homebrew. Muitos emuladores. Evoluo: Projeto Pandora.

Misto de video-game e palmtop com portas USB, carto SD, Wi-Fi, Bluetooth, acelermetros, etc. Acelerao 3D (uso de OpenGL). Uso de software para Linux (Debian).
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 25

Exemplos mais aprofundados


Celulares com Linux

So vrios fabricantes, na maioria pouco conhecidos no mercado nacional. A Motorola tem uma linha grande de celulares com Linux: RAZR2 V8, ROKR E2, E6, E8, MotoRIZR Z6, SCPL, A728, A732, A760, A768, A910, A1200, E680, E895, entre outros.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

26

Exemplos mais aprofundados


OpenMoko

Plataforma baseada em Linux para smartphones. Cdigo livre (GPL) FIC Neo1973 e Neo FreeRunner GPS, Wi-fi, acelerao 3D, Bluetooth, 3G, acelermetros, etc. Interface: Enlightenment E17.

20% dos celulares tero Linux em 2013 (IT Web, 24/04/08)

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

27

Exemplos mais aprofundados


Android

Sistema operacional baseado em Linux para celulares. Open Handset Alliance


Consrcio liderado pelo Google. 34 empresas participantes. Concurso de desenvolvimento (com prmio$). Primeiros celulares no fim de 2008. Artigo: http://tinyurl.com/5uhrkd
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 28

Exemplos mais aprofundados


OpenWRT / DD-WRT

Ganho de sinal. DNS dinmico. VPN. Wake-on-LAN. Tunelamento. Mais estabilidade. E muito mais.

Milhares de programas para instalar. Vrias distribuies derivadas. Opes de interfaces grficas (como o XWrt).
29

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

Exemplos mais aprofundados


Firmwares para equipamentos de rede
Soluo adotada por fabricantes para alguns modelos:

3Com. Asus. Buffalo. Cyclades. D-Link. Iomega.

Linksys. Netgear. Ovislink. Planet.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

30

Exemplos mais aprofundados


Firmwares para equipamentos de rede

Empresas que desenvolvem Firmwares para roteadores:


Wappro (http://www.wappro.com.br) ApRouter (http://www.aprouter.com.br) OpenWRT, DD-WRT, Tomato, Freifunk, Sveasoft, Chilispot, FON... Mais de 25 firmwares!
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 31

Alguns firmwares alternativos:

Exemplos mais aprofundados


ngstrm Linux

Distribuio para palmtops e smartphones. Interfaces: GPE (GNOME). Opie (KDE). E17 (Enlightenment). Mesmo sistema de

pacotes do OpenWRT.
Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0 32

Exemplos mais aprofundados


ngstrm Linux

Funciona em palmtops com Windows Mobile ou Palm OS. G(PE)^2

verso para smartphones.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

33

Certo, e agora?

Interessou-se? Informe-se: http://pinguinsmoveis.com http://www.linuxabordo.com.br http://www.free-electrons.com http://www.portalandroid.org Leia MUITO, e no tenha medo do ingls. Participe de fruns na Internet. Aventure-se, inicialmente com emuladores e depois, equipamentos reais.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

34

Dvidas?

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

35

Referncias

Rockbox: http://www.rockbox.org GP2X: http://www.gp2x.com OpenEZX: http://www.openezx.org LiMo Foundation: http://www.limofoundation.org/ OpenMoko: http://www.openmoko.org Android: http://code.google.com/android OpenWRT: http://www.openwrt.org ngstrm Linux: http://tinyurl.com/yj8qo6

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

36

Fim
Obrigado! ;)

Jorge Pereira
Sitio: www.jorgepereira.com.br Mail: <jorge@jorgepereira.com.br> IRC: irc.freenode.net / jpereira

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

37

Fim
Questo legal: Esta apresentao foi baseada em Criando sistemas embarcados com Linux - da teoria prtica, de Marcelo Barros de Almeida (http://www.linuxabordo.com.br/), e tal como ela, distribuda segundo a licena Creative Commons ShareAlike 2.5.

Linux em Sistemas Mveis e Embarcados. Copyright 2009, Jorge Pereira Licena Creative Commons Attribution-ShareAlike 2.0

38

Você também pode gostar