Meio Bit » Baú » Hardware » À Procura do S.O. perfeito ( IV )

À Procura do S.O. perfeito ( IV )

23/10/2006 às 3:00

Pois bem, pessoal, esta é a quarta e última parte do artigo sobre os Sistemas Operacionais "embarcados". Vejam as outras: parte I, parte II e parte III.

É claro que há outras opções além das mostradas aqui, mas o curto espaço de tempo não me permitiu estudá-las e, muito menos, comentá-las.

Desta vez, falarei de três sistemas que não poderiam faltar: eCos, Windows CE e Linux.

eCos

eCos é um S.O. "open source", completamente gratuito, que mantém compatibilidade com as APIs POSIX e os software GNU.

Foi desenhado para atender a demanda de dispositivos em tempo real, com sérias restrições quanto à memória disponível. Uma parte muito interessante é seu sistema de configuração, que permite "enxugar" a imagem gerada ao extremo.

No pacote, está o RedBoot, um gerenciador de boot ( pense nele como um lilo ) muito utilizado, mesmo em sistemas com linux embarcado.

O projeto está bem maduro, pois começou com a Cygnus Support, em 1989. Para vocês se situarem: a Cygnus, mais tarde comprada pela RedHat, foi uma das principais coloboradoras de vários dos projetos GNU, como o gcc e o gdb. Foram eles, também, que desenvolveram o cygwin. Por falta de boas referências é que não se pode eliminar o eCos...

Uma camada de abstração de hardware ( HAL ) "isola" o kernel do processador, facilitando muito a migração para outros sistemas. Tanto é assim que o eCos roda em ARM7, ARM9, StrongARM, CalmRISC, FR-V, H8, x86, ColdFire, AM3, MIPS, PowerPC, Sparc e SuperH. Nada mal, hein?

As ferramentas de criação rodam em Linux e Windows ( sob o cygwin ), mas há uma explícita preferência pelo sistema do pinguim.

Uma grande comunidade existe em torno do software e, para sistemas com restrições de "footprint", essa parece ser a escolha ideal.

Windows CE 5.0

Recebi da Microsoft, através da revenda Compusoftware, o ótimo Windows CE 5.0, para avaliação ( apesar da versão 6.0 estar saindo do forno ). O material, como sempre, é muito bem acabado e bonito, um esmero raramente encontrado em outros fornecedores de sofware para desenvolvimento.

O kernel é licenciado como "shared code". O desenvolvedor tem acesso ao código-fonte e pode modificá-lo, sem que seja necessário notificar a MS. Pelo menos, foi o que entendi... a política de licenciamento da MS sempre me confunde.

Os valores são bem aceitáveis, quando se considera a qualidade e o suporte: quase mil dólares pela ferramenta e de US$ 3,00 a US$ 21,00 de "royalties", por produto. No entanto, é uma escolha meio "às cegas". É preciso, primeiro, saber claramente os módulos a serem utilizados para, só depois, descobrir quanto vai custar.

Essa versão do Windows roda em plataformas ARM, MIPS, x86 e SH. Tem capacidade de tempo real e, a MS nunca se cansa de enfatizar, várias camadas de segurança.

A principal vantagem é a facilidade que o desenvolvedor Windows tem. Em poucas horas ele já está habituado e produzindo. O ganho de produtividade é sensível.

Em anexo, algumas imagens da ferramenta que, entre outras coisas, vem com um Emulador muito eficiente.

Realmente, fiquei tentado a utilizá-lo. O único ponto contra foi o fato de ficar atrelado a um único fornecedor.









[img_assist|nid=9243|desc=|link=none|align=left|width=340|height=400] Linux Embarcado

Como não poderia deixar de ser, o Linux também foi avaliado.

Rodando em dezenas de processadores diferentes, com código-fonte disponível e gratuito, uma comunidade realmente grande, com boa-vontade suficiente para ajudar mesmo nos casos mais extremos, essa parecia a opção ideal.

No entanto, as maiores virtudes do S.O. ( como a grande quantidade de fornecedores ) também são suas maiores faquezas. Explico: mesmo com o código-fonte e as ferramentas sendo distribuidas livremente pela internet, num projeto comercial o suporte é de vital importância. Ficar aguardando dois dias para que alguém leia sua pergunta num fórum russo e resolva responder, não é muito agradável e gera uma úlcera no gerente.

Por outro lado, se você compra uma ferramenta ( e, consequentemente, o suporte ), fica atrelado àquela empresa e, pasmem, pode perder a "simpatia" da comunidade. Por mais incrível que pareça, cheguei ler coisas assim: "... você comprou a ferramenta tal, vá atrás deles, não espere que solucionemos isso para você...".

Os principais fornecedores de soluções integradas ( IDEs gráficas e "debuggers" ) são: MontaVista, Freescale ( que comprou a Metrowerks, fabricante do CodeWarrior ) e a LynuxWorks, com preços variando de US$ 2.000,00 a US$ 6.000,00.

Vários fabricantes de processadores disponilizam gratuitamente "patches" ou "BSPs" ( Board Support Packages ), o que, a princípio, permite o desenvolvimento a partir da "linha de comando". Se não há um fornecedor de IDE para o processador escolhido, essa é única saída.

Ainda há uma "versão" do Linux projetada para rodar em processadores que não possuem MMU ( Unidade de Gerenciamento de Memória ): o uClinux. Com ele, o leque de "chips" que rodam linux aumentou bastante, com opções de baixíssimo custo unitário.

No frigir do ovos, escolhi o Linux como S.O. para o projeto. Mais por contar com o apoio de uma Instituição de Pesquisa que por seus méritos técnicos. É quase certo que, se estivesse sozinho, optaria pelo Windows CE.

É realmente uma pena que não tenha mais tempo para explicar detalhes de cada S.O., mas vocês poderão pesquisar a partir daqui. É realmente uma área fascinante e o mercado para desenvolvedores cresce rapidamente.

Para finalizar, algumas referências e "links" para ferramentas:

8 bits:
Zilog Z80, Z8 e Z-NEO: http://www.zilog.com/software/zds2.asp

Microchip MPLAB

CCS PIC C Compiler

Freescale CodeWarrior 8 bits

P&E Micro: Debuggers

Windows CE:

winCEBrasil

MSDN

Linux Embarcado:

Free Electrons

uClinux

Linux em DSP Analog Devices

Linuxdevices

Livro gratuito: Advanced Linux Programming

Ambientes gráficos para Linux Embarcado:

Nano-X

Qt Embedded

relacionados


Comentários