|
Escrito por Fabrício José Vieira Ceolin
|
|
10-Sep-2007 |
Um sistema embarcado é um arranjo computacional específico,
geralmente dedicado a atuar no ambiente a sua volta por meio de
sensores e atuadores, ou atender alguma necessidade específica, como em
aparelhos portáteis, PDAs, celulares e tocadores multimídia. Uma
característica marcante em um sistema embarcado é sua interação constante
com o meio a sua volta, seja de forma automática ou por meio de
interfaces. Para o projetista, a caraterística da interação contínua
com o ambiente traduz em um maior grau de dificuldade nas
soluções, uma vez que além de conhecimento de programação clássica,
conhecer sobre o hardware, tecnologias de aquisição de dados, atuadores
e interfaces é essencial.
Tradicionalmente, trabalhar com sistemas embarcados envolve desenvolver
todo o projeto baseando-se em linguagem de máquina ou na linguagem C,
sem sistema operacional ou algum sistema fornecido pelo fabricante. Essas restrições implicam em inúmeras dificuldades, como de heterogeneidade
- cada fabricante possui seus compiladores e ferramentas de depuração,
portanto, em cada projeto, o desenvolvedor tem que se acostumar com
ferramentas diferentes; fornecedores - se o processador
utilizado pelo projeto for descontinuado pelo fabricante, a aplicação
desenvolvida tem que ser reescrita para se adequar ao novo projeto; tecnologias fechadas - programas específicos fornecidos pelo fabricante geralmente não são livre de bugs e você depende exclusivamente do fabricante para corrigí-los; competitividade
- o mercado a cada dia demanda de produtos com mais funcionalidades e
acompanhar essa demanda requer um ambiente mais produtivo de
desenvolvimento e difusão tecnológica - o uso de tecnologias
difundidas como USB, Pendrive, Wireless, Rede e GPRS é restrito no
desenvolvimento tradicional pois todas as funcionalidades devem ser
implementadas ou compradas prontas.
Porém, nos últimos anos, uma reviravolta neste mercado vem acontecendo. A utilização do GNU/Linux vem crescendo espantosamente, pois com ele é possível resolver vários problemas deste nicho. Considerando o Linux como uma plataforma única de desenvolvimento consegue-se: contornar o problema da heterogeneidade do ambiente de desenvolvimento independente do hardware utilizado; auxiliar na troca de fornecedores uma vez que mesmo modificando o hardware a plataforna Linux permanecerá a mesma; desenvolver em um ambiente estável uma vez que cada código do ambiente já foi auditado por milhares de desenvolvedores do mundo inteiro e acelerar a inserção de funcionalidades uma vez que já existem drivers prontos e funcionais para um número incontável de dispositivos.
A seguinte tabela resume o que foi exposto anteriormente:
Desenvolvimento Tradicional
|
Desenvolvimento com Linux
|
Ambiente heterogêneo de desenvolvimento
|
Ambiente homogênio de desenvolvimento
|
Código dependende de processador
|
Código indepentende de processador
|
Tecnologias fechadas e dependente de fabricantes
|
Tecnologias abertas e interoperáveis
|
Adoção custosa de tecnologias já difundidas
|
Adoção suave de tecnologias já difundidas
|
Desenvolvimento pouco produtivo
|
Desenvolvimento eficiente e produtivo
|
Desde sua criação a uLevel vem, sistematicamente, desenvolvendo projetos de sistemas embarcados, com expertise na área de criação de ambientes personalizados e desenvolvimento baseados em GNU/Linux. Temos know-how
em especificação de arquiteturas homologadas para GNU/Linux e na
adaptação de sistemas já existentes para essa nova linha de
desenvolvimento. Também desenvolvemos projetos completos, que vão desde
o projeto do hardware, à entrega da solução especificadas pelo cliente.
Todo processo de desenvolvimento pode ser acompanhado pelo nosso
sistema online de supervisão.
Caminhe com tendência do mercado. Faça um projeto conosco!
|
|
Atualizado em ( 11-Sep-2007 )
|