Desenvolvendo Sistemas Embarcados com Windows Embedded Compact

Windows EC

Uma das grandes dificuldades ao desenvolver sistemas embarcados atualmente é a escolha e preparação do sistema operacional. Muito esforço e tempo são dedicados ao desenvolvimento do BSP e dos device drivers necessários para que o sistema fique pronto para a fase de desenvolvimento da aplicação. A Toradex fornece para seus clientes gratuitamente as imagens dos sistemas operacionais Linux (Baseado no OpenEmbedded-Core) e Windows EC com todos os devices drivers e funcionalidades existentes no hardware já operacionais e testados por uma base de 3000 clientes em mais de 70 países. Para os casos onde a customização é necessária, são fornecidos os arquivos básicos: arquivos de projetos de Sistema Operacional e BSPs para que a customização seja mais fácil e rápida.

O foco deste artigo é o desenvolvimento de aplicações embarcadas para Windows EC (Windows Embedded Compact). Apesar de pouco utilizado no Brasil, o sistema é extensamente aplicado no desenvolvimento de sistemas embarcados na Europa, Índia e USA. Um exemplo interessante de onde o Windows EC é aplicado são as IHMs desenvolvidas pela Siemens, veja na figura o modelo SIMATIC HMI TP1500 COMFORT. Presente no mercado desde 1996, com o lançamento da versão 1.0, o Windows EC é a base de inúmeros sistemas embarcados ao redor do mundo.

fig1

Figura 1: Sistema operacional da linha de IHMs da Siemens Comfort Panels TP1500 Comfort tem o Windows CE 6 como sistema operacional.

O Windows Embedded Compact é o sistema operacional desenvolvido pela Microsoft para sistemas embarcados. Ele tem um kernel especialmente desenvolvido para ele e não deve ser confundido com outros produtos como o Windows Embedded Standard 7 ou 8 que são versões configuráveis do Windows 7 ou 8. O Windows Embedded Compact, nome recentemente adotado pela Microsoft a partir da versão 7 e na mais recente versão 2013), é a evolução do conhecido WinCE e é projetado para atender equipamentos com restrições de armazenamento, memória e consumo. O kernel do Windows EC, por exemplo, pode rodar em apenas 1MB de memória. O Windows EC suporta arquitetura de processadores x86, MIPS e ARM 32 bits.

fig2 

Figura 2: Colibri T30 rodando o novo Microsoft Windows Embedded Compact 2013

O Windows EC apresenta características de sistema operacional de tempo real, latência determinística no tratamento de interrupção, funções para invocar múltiplas Threads (tarefas) bem como associar as mesmas a 256 níveis de prioridade ou a um núcleo específico do processador, no caso de “multicores”, específico do seu sistema. Funções de sincronização e proteção como Semaphores, Queues e WatchDogs também estão presentes no sistema. Como um sistema operacional multitarefas preemptivo, o Windows EC agenda as tarefas com prioridade maior a rodarem primeiro. Tarefas com o mesmo nível de prioridade rodam de acordo com um agendamento no estilo “Round-Robin” onde cada tarefa recebe uma “fatia” de tempo de execução que é configurável entre 20ms a 100ms.

Segundo o Webinar apresentado pela Freescale sobre o Windows CE de acordo com a OMAC (http://www.omac.org/) que representa a comunidade de automação o gráfico abaixo apresenta uma orientação sobre a capacidade Real-Time de um sistema. As áreas azul (Soft Real-Time) e roxa (Hard-Real Time) foram definidas pela OMAC levando em conta a capacidade do sistema em relação a tempo de ciclo e Jitter deste tempo. Na figura 3, retirada do seminário da Freescale, podemos observar o posicionamento de algumas versões do Windows no gráfico.

fig3 

Figura 3: Posicionamento do Windows CE em uma sugestão de classificação de sistemas de tempo real. (Figura retirado do Webinar do portal da Freescale)

Os computadores em módulo da Toradex são vendidos com uma licença instalada do Windows Embedded Compact 5/6/7 e 2013 (de acordo com o módulo). A licença fornecida apresenta uma vasta quantidade de funcionalidades. O BSP desenvolvido para os CoMs Toradex estão entre os mais avançados e otimizados do mercado. Prova disso é a aplicação de boot-ultra rápido (YouTube) apresentada pela Toradex em 2011 que teve algumas de suas técnicas posteriormente incorporadas a nova funcionalidade chamada de Snapshot Boot no Windows Embedded Compact 2013.

Apesar de otimizada, a imagem do Windows EC fornecida pela Toradex é altamente configurável, diversas variáveis de registro podem ser utilizadas para configurar o comportamento do seu sistema sem a necessidade de compilar ou configurar uma nova imagem do sistema operacional. Além de diminuir o trabalho para preparar o sistema operacional, outro benefício desta característica é que os desenvolvedores que utilizam a imagem padrão da Toradex podem fazer download gratuito das suas últimas atualizações e otimizações, que é testada e utilizada por uma base de dados global de mais de 3000 clientes. A Toradex lança um novo release da imagem aproximadamente a cada 3 meses.

Entre as configurações que podem ser realizadas no registro estão: a alteração das dimensões da tela, rotação da tela, inibir o menu iniciar do Windows EC, alteração do comportamento dos drivers USB, Ethernet entre outros. A imagem padrão da Toradex já vem com um editor para as variáveis de Registro do Windows, conforme mostrado na imagem abaixo.

fig4 

Figura 4: O editor das variáveis do registro permite a configuração do comportamento do SO e drivers sem a necessidade de compilar uma nova imagem do Sistema Operacional

Para os desenvolvedores que querem customizar sua própria imagem, a Microsoft além de oferecer o kernel do Windows EC totalmente aberto (de acordo com a licença), desenvolveu a ferramenta chamada “Platform Builder”. Nela o desenvolvedor pode configurar os componentes que quer incluir na imagem do SO, incluir e desenvolver “device drivers” e compilar o Windows EC para a arquitetura desejada. Até o Windows EC 7, a programação de aplicativos é realizada com o Microsoft Visual Studio 2008. O Platform Builder só é necessário nos casos onde se deseja customizar e compilar uma nova imagem do SO. Para o novo Windows EC 2013 o desenvolvimento de aplicações é realizado com o Microsoft Visual Studio 2012 e com o novo Platform Builder, este último é gratuito.

A Toradex fornece os arquivos de projetos e BSPs de sua própria imagem do Windows EC para o Platform Builder. Desta forma os clientes que desenvolvem a sua própria imagem podem se beneficiar das atualizações no BSP.

Um curso muito interessante sobre como utilizar o Platform Builder e como compilar sua própria imagem do Windows EC pode ser encontrado na página do Embedded101 através deste link. Além desta fonte, muita informação para o desenvolvedor pode ser encontrada no portal da própria Microsoft dedicada ao Windows EC e na série de Webinars sobre o Windows EC. A Microsoft ainda oferece algumas ferramentas para debug de sistemas de tempo real como o Kernel Tracker, utilizado para entender as interações entre processos, tarefas e interrupções; O OSBENCH, que oferece uma série de testes de benchmark para diversas características do sistema operacional e o ILTIMING, que mede a latência das interrupções em um sistema. Para mais informações recomenda-se a leitura de Real-Time Systems in Microsoft Windows CE .NET

fig5 

Figura 5: Kernel Tracker do Windows EC. Imagem retirada do artigo Testing Real-Time Systems in Microsoft Windows CE .NET disponível em: http://msdn.microsoft.com/en-us/library/aa459157.aspx

Para facilitar os primeiros passos de seus clientes na utilização dos módulos e todas suas características a Toradex apresenta uma série de tutoriais, no estilo passo a passo, em seu portal do desenvolvedor. Entre eles estão como configurar o seu ambiente de desenvolvimento, como utilizar GPIO, I2C, SPI, Interrupções até tutoriais mais avançados: como utilizar banco de dados, modem GSM, implementar um Webserver ou desenvolver aplicações utilizando C++, C#QT ou Silverlight para Windows EC com os módulos da Toradex.

Finalmente, a Toradex fornece para seus clientes utilizando o Windows EC uma série de bibliotecas na forma de dlls, todas com exemplos e seus respectivos códigos-fonte. Isso pode aumentar ainda mais a velocidade de desenvolvimento de uma solução utilizando o Windows EC e os computadores em módulo TORADEX.

 (*) esse post foi patrocinado pela TORADEX

Outros artigos da série

As vantagens de usar o Windows Embedded Compact >>
NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Guilherme Fernandes
Mestre em Engenharia Mecatrônica pela Escola de Engenharia de São Carlos (USP) atua como diretor da Toradex Brasil, trabalhando na implantação do escritório de vendas e suporte da empresa para o Brasil. Trabalhou 7 anos como gerente de engenharia de sistemas na área de automação industrial desenvolvendo mais de 300 projetos de máquinas para linhas de montagem e teste de produção para o setor de autopeças.

3
Deixe um comentário

avatar
 
3 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Vivi HeinrichsConfira as vantagens de usar o Windows Embedded Compact - EmbarcadosCompilando uma Distribuição Linux Openembedded - Embarcados - Sua fonte de informações sobre Sistemas Embarcados Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
trackback

[…] Desenvolvendo Sistemas Embarcados com Windows Embedded Compact, por Guilherme Fernandes […]

trackback

[…] comercializados pela Toradex. O produto Colibri T20 apareceu também em outros dois artigos: Desenvolvendo Sistemas Embarcados com Windows Embedded Compact e COM Toradex Colibri T20 e Carrier Board Iris artigo no qual Thiago Lima apresenta o conjunto de […]

Vivi Heinrichs
Visitante

A família Compact realmente é uma ótima plataforma para desenvolver imagens reduzidas, com capacidades real-time com ferramentas familiares Microsoft para processadores ARM. Uma grande vantagem, é a possibilidade da utilização do NET Compact Framework que fornece suporte para desenvolver aplicativos usando C # ou Visual Basic.

É possível achar mais informações sobre o Windows Embedded Compact e sobre todo o mundo do Windows embarcado no blog: http://www.windowsembedded.net.br/windows-embedded-compact/