Eclipse adds embedded device projects
Autor original: LinuxDevices
Publicado originalmente no: https://www.linuxdevices.com/
Tradução: Roberto Bechtlufft
A Fundação Eclipse anunciou quatro novas iniciativas no setor de desenvolvimento para dispositivos móveis e embarcados. As novas iniciativas do Device Software Development Project (DSDP) incluem um framework de comunicações para a monitoração e depuração de dispositivos e um projeto patrocinado pelo Texas Instruments (TI) para a criação e configuração de ferramentas C/C++ para dispositivos de recursos limitados.
Resumindo, as quatro novas iniciativas incluem:
- Real-time System Components (RTSC) ? Este projeto patrocinado pela TI almeja criar ferramentas e um modelo de programação para o eclipse voltados ao desenvolvimento e configuração de aplicativos C e C++ para dispositivos de recursos limitados, como DSPs (processadores de sinal digital) e microcontroladores (mais informações abaixo).
- Target Communications Framework (TCF) ? O TCF é um protocolo leve e extensível para a comunicação entre os dispositivos e as ferramentas de desenvolvimento, incluindo ferramentas de depuração, monitoramento, análise e testes (mais informações abaixo).
- Device Debugging (DD) ? A versão 1.0 será parte do Ganymede, a ser lançado em junho, de acordo com a Fundação Eclipse. O projeto visa criar o DSF (Debugger Services Framework), para que os fabricantes de ferramentas comerciais possam integrar seus depuradores ao Eclipse. A versão 1.0 traz um implementação de referência que suporta o depurador GDB.
O líder do comitê de gerenciamento do projeto DSDP, Doug Gaff, da Wind River, observou: “Nós precisávamos de uma implementação para depuradores customizada para lidar com processadores de múltiplos núcleos e agentes de conexão hardware-software, dentre outras coisas. A Wind River já adotou a solução comercialmente, e a comunidade também está aderindo.”
- Target Management (TM) com suporte ao Windows Embedded (o antigo Windows CE) ? o projeto ETM vai adicionar suporte ao Windows Embedded (o antigo Windows CE), o que permitirá aos desenvolvedores editar, atualizar e apagar arquivos diretamente no dispositivo remoto ou nos alvos de desenvolvimento. Gaff explica que o projeto surgiu porque “um de nossos contribuidores tinha que usar o Windows CE em um sistema remoto, e precisava ser capaz de manipulá-lo.”
O TM para CE pretende permitir que os desenvolvedores montem, naveguem, editem e sincronizem o sistema de arquivos remoto como se fosse local. Ele usa a interface do sistema de arquivos do Windows, por isso é agnóstico quanto ao sistema de arquivos.
Gaff comentou orgulhoso: “As ferramentas da Microsoft permitem apenas acesso à leitura dos sistema de arquivos remoto, então você tem que ficar subindo os arquivos toda hora enquanto edita, compila e depura. Temos algo melhor, e isso é muito empolgante.”
No entanto, Gaff observou que o TM ainda não permite a depuração remota de sistemas CE. Para isso os desenvolvedores vão ter que continuar usando o Cygwin ou o emulador WinCW. Mas ele acrescenta que, como a Microsoft publicou a API de seus serviços de depuração, não há obstáculos técnicos que impeçam o suporte à depuração remota. “Você pode baixar as APIs da Microsoft. Só precisamos de alguém que faça o serviço.”
Quando perguntado se a Microsoft não se interessaria em desenvolver esse trabalho, Gaff respondeu: “Na verdade, eu gostaria muito que a Microsoft fizesse isso por nós.”
E logo completou: “Estou sendo irônico. Mas a Microsoft está caminhando na direção certa. Sam Ramsey, que é o diretor do Laboratório de Código Aberto da Microsoft, foi um dos palestrantes da EclipseCon. E eles estão envolvidos no SWT (Standard Widget Toolkit). Logo, eles estão diretamente envolvidos com o Eclipse agora em algumas áreas nas quais há uma clara oportunidade com o código aberto.”
A história do DSDP
Os quatro projetos que destacamos são parte do projeto DSDP (Device Software Development Project). O DSDP foi fundado em 2005, sob a liderança da Wind River, e agora tem sete subprojetos, com a proposta de um oitavo relacionado à EDA. Três projetos são liderados por funcionários da Wind River. Um deles, o CDT (Eclipse C/C++ Development Tooling) teve mais de um milhão de downloads no ano passado, de acordo com a Eclipse Foundation.
Os subprojetos pretendem criar plugins para a IDE modular e de código aberto do Eclipse. A IDE já foi amplamente adotada pelos desenvolvedores de ferramentas embarcadas, em parte porque roda nos ambientes de desenvolvimento Linux, Windows, Solaris e Macintosh, poupando os desenvolvedores do trabalho de manter suas ferramentas em diferentes plataformas.
A próxima meta da Fundação Eclipse é o lançamento anual de código, no mês de junho. Baseado na versão 3.4 do Eclipse Framework, codinome “Ganymede,” o lançamento é uma espécie de snapshot que permite aos fabricantes de ferramentas e aplicativos avaliar todo o software disponível do projeto como uma entidade única, uma coleção mais ou menos pré-integrada, que mistura código estável e em desenvolvimento.
O último grande lançamento do projeto DSDP ocorreu em junho do ano passado, com o Europa, composto por mais de 17 milhões de linhas de código. Antes disso, o DSDP foi representado por um lançamento mais modesto em novembro de 2006, quando a versão 1.0 dos plugins TM e Embedded Rich Client Platform foram lançadas, junto com o plugin Mobile Tools for Java (MTJ).
Os novos projetos: RTSC e TCF
O projeto RTSC tem o objetivo de gerar um novo modelo de desenvolvimento para o Eclipse e ferramentas para componentes de software em tempo real em C++ para DSPs e microcontroladores de 16 bits. O projeto é liderado por Dave Russo, CTO da TI para infra-estrutura de software-alvo.
Russo explica que “em 25 palavras ou menos, estamos definindo um modelo de componente baseado em C, e oferecendo um grupo de ferramentas de apoio para o desenvolvimento e a distribuição de software em tempo real para diversas plataformas, dos MCUs de 16 bits como o MSP430 e o 8051 da Intel aos DSPs tradicionais.”
Russo completa: “Nesses processadores de recursos limitados, a maioria das pessoas ainda programa em C. Mas nós gostaríamos de ter os benefícios da “componentização” de que a comunidade Java desfruta. O “escreva uma vez, rode em qualquer lugar”, por exemplo, onde um grupo define uma interface, outro a implementa e outro faz uso dela. Nosso objetivo é permitir que o C possa escalar tão bem quanto o Java – como no projeto Eclipse, por exemplo.”
Além de contribuir com o RTSC para o projeto Eclipse, a TI adotou o framework Eclipse para as novas versões do Code Composer Studio 4, afirmou Russo. Ele diz que o RTSC é baseado em uma tecnologia extremamente madura que tem sido usada internamente pela TI há muitos anos. “Começamos a desenvolvê-la em 2000, e já criamos vários produtos embarcados que a utilizam. Por exemplo, a BIOS DSP é um componente RTSC.”
A TI espera que o RTSC seja adotado por outros fabricantes de ferramentas e componentes, como os que comercializam codecs, para dar início a um “ciclo de colaboração.” E acrescenta, “agora que o RTSC teve seu código aberto e foi incluído no Eclipse, já tivemos algumas conversas com a Freescale. Também esperamos a adesão de outros fabricantes de ferramentas e componentes.”
O RTSC vai exigir pouca ou nenhuma infra-estrutura prévia, como o runtime do Java, diz o grupo. Além do runtime C/C++ de um componente, só o que será preciso para cada componente é código JavaScript que rode tanto no ambiente de desenvolvimento do componente durante a montagem do aplicativo quanto nas plataformas de clientes ricos para o monitoramento da execução.
As ferramentas baseadas no Eclipse vão especificar componentes usando uma IDL (linguagem de descrição de interface) baseada na ANTLR, para então implementá-las usando C/C++ e JavaScript. O JavaScript é parte de um componente que roda sobre o Rhino, permitindo ao componente participar de forma ativa em todos os estágios de seu ciclo de vida, da montagem ao monitoramento em tempo real.
Os componentes RTSC podem dar mais poder aos ambientes de componentes “tradicionais” baseados em Java, bem como “satisfazer às limitações de recursos de seu elemento C/C++ embarcado ao ser executado no dispositivo embarcado,” disse o grupo. Essa “dupla existência,” englobando implementações de montagem e de clientes ricos, deve permitir a integração com os seguintes projetos:
- CDT
- TPTP (Test Performance and Tools Platform Project)
- SODA (Service Oriented Device Architecture), para a parte do projeto voltada para o Device Kit
- Componentes de monitoramento e coleta de dados do COSMOS (Community-driven Systems Management in Open Source).
- EMF (Eclipse Modeling Framework), que dá às ferramentas UML a possibilidade de especificar componentes que gerem componentes RTSC que consumam menos recursos.
Russo também disse que “Ao abrir o código da tecnologia RTSC sob a Licença Pública Eclipse, estamos padronizando a maneira como o conteúdo embarcado em C é especificado, empacotado e integrado para que produtores e consumidores desse conteúdo possam fornecer, montar e reutilizar com mais facilidade componentes para a criação de soluções de aplicativos integrados.”
Target Communications Framework (TCF)
O objetivo maior do projeto TCF, que é conduzido pela Wind River, Freescale e Power.org, é o de se tornar o “Explorador Eclipse da Vizinhança de Rede,” oferecendo “provedores de informações plugáveis sob um interface única e consistente,” afirma o grupo. A idéia é permitir que os desenvolvedores usem esse protocolo leve para descobrir, testar e analisar sistemas remotos.
O protocolo foi desenvolvido para trabalhar com várias ferramentas de depuração, monitoramento, análise e testes, incluindo agentes-alvo, JTAG e simuladores de alvo. A idéia é otimizar os testes e o desenvolvimento de configurações heterogêneas para dispositivos de fabricantes diversos, como costumamos ver em processadores de múltiplos núcleos e SoC (system-on-a-chip, ou sistema em um único chip).
O kit de ferramentas TCF inclui o framework Remote System Explorer (RSE) que parece ser capaz de integrar recursos heterogêneos remotos por meio de subsistemas plugáveis. O kit de ferramentas inclui ainda o subsistema “Remote Files” que permite operações transparentes em computadores remotos, além de oferecer um shell e um subsistema de processos. O kit de ferramentas também oferece um terminal que consome poucos recursos e o framework “Network Discovery.”
Steve Furr, da Freescale Semiconductor, declarou: “Enquanto a indústria dos embarcados avança rumo a SoCs mais complexos, como o uso extensivo de múltiplos núcleos simétricos, fazer todas as ferramentas necessárias a um desenvolvimento eficiente se conectarem aos mecanismos de coleção de dados será o grande desafio a ser encarado. O TCF é uma ótima maneira da comunidade trabalhar em equipe para resolver o problema.”
Os quatro projetos serão demonstrados nesta pela Fundação Eclipse na Embedded Systems Conference em San Jose, na Califórnia.
Créditos a LinuxDevices – https://www.linuxdevices.com/
Tradução por Roberto Bechtlufft <robertobech at gmail.com>
Esta postagem foi modificada pela última vez em 02/06/2009 22:26