As vantagens de usar o Windows Embedded Compact

Windows Embedded Compact

Este artigo foi originalmente publicado no site O mundo do Windows Embedded por Guilherme Fernandes.

Existem fatores importantes ao realizar uma análise para escolher o sistema operacional mais adequado para um sistema embarcado. É importante lembrar a nossa definição e discussão sobre o que consideramos um sistema embarcado realizada no artigo Desenvolvendo Sistemas Embarcados com Windows Embedded Compact.

Veja abaixo algumas perguntas que devemos fazer quando queremos escolher o melhor sistema operacional embarcado para um equipamento. Sempre após a pergunta vou mostrar como o Windows Embedded Compact aborda a questão explicando assim quais as vantagens da escolha de tal sistema.  A descrição do que é o Windows Embedded Compact estão apresentadas nas páginas dedicadas às suas diferentes versões.

Qual o tamanho da imagem compilada do S.O.? (o termo mais usado é footprint)

Reflexão

O sistema operacional selecionado pode ter uma imagem de tamanho reduzido? Imagine um cenário onde o equipamento embarcado a ser desenvolvido tem uma função tão simples como monitorar algumas entradas digitais e mostrar imagens para o usuário em um display LCD de caracteres alfanuméricos (através de uma saída serial – RS232). Qual o tamanho necessário de memória ROM para armazenar o sistema operacional compilado tendo em mente uma função tão simples como a citada? O sistema pode ser compartimentalizado com o objetivo de conter apenas os componentes necessários?

Abordagem Windows Embedded Compact

O Windows Embedded Compact, como toda a família Embedded, pode ser customizado. Neste caso utilizamos uma ferramenta chamada Platform Builder, veja a Figura 1, onde os componentes que integrarão o sistema são escolhidos antes da compilação da imagem final. Será tema de um artigo futuro como compilar uma imagem com apenas os componentes necessários.

Platform Builder do Windows Embedded Compact
Figura 1: Platform Builder, Catalog Items View, escolha dos componentes a serem parte da imagem do Windows Embedded Compact 7

O S.O. suporta diferentes arquiteturas de processador?

Reflexão

Atualmente as arquiteturas mais encontradas em sistema embarcados são x86 e ARM. A arquitetura ARM, especialmente, vem aumentando a participação no mercado pois nos últimos anos aumentou o desempenho e manteve o consumo reduzido a um custo menor do que a arquitetura x86. Hoje podemos facilmente encontrar um processador ARM QuadCore com velocidades de processamento de 1GHz/core. Veja por exemplo o SoC (System on Chip) Freescale i.MX6. Outro fato que sustenta essa afirmação, provavelmente, está em seu bolso ou em cima de sua mesa. Hoje a grande maioria dos celulares é ARM “powered”.

Abordagem Windows Embedded Compact

O Windows Embedded Compact 7.0 suporta as arquiteturas ARM, x86 e MIPs. O Windows EC 2013 suporta as arquiteturas ARM e x86, hoje, as mais utilizadas no mercado. Ambas plataformas são suportadas pelas mesmas ferramentas, não existe a necessidade de ferramentas específicas para cada arquitetura e, por isso, não é preciso aprender as particularidades de cada ferramenta. Mais que isso, a ferramenta de desenvolvimento, customização, teste e deploy do Windows EC é o próprio Visual Studio que é uma ferramenta moderna, eficiente, madura e conhecida por um grande ecossistema de programadores. Este fato torna a adaptação a mesma mais fácil e diminui o tempo de desenvolvimento, levando seu produto mais rapidamente para o mercado.

O S.O. oferece ferramentas de tempo real?

Reflexão

Sempre que falamos de sistemas de tempo real é importante lembrar qual é o conceito de tempo real. Um sistema operacional de tempo real é aquele em que o código não deve estar apenas correto mas que, além de certo, deve atender restrições de tempo em sua execução. Exemplo simples: imagine que o seu sistema embarcado realiza a leitura da posição de um motor, a partir dos valores de posição lidos você deverá calcular a velocidade do motor pois ela será utilizada para alguma tomada de decisão. Lembrando das aulas de física, sabemos que V = DS/DT. Logo você implementa uma tarefa em seu programa que a cada 100ms realiza a leitura de posição para cálculo do DS e supõe que DT é 100ms pois você configurou um loop assim. Minha pergunta é: Qual a garantia que o sistema te dá de que a tarefa realmente realiza a leitura a cada 100ms, caso o sistema realize a leitura em intervalos maiores (150ms, 200ms, 101ms – pois o S.O. pode estar copiando um arquivo, carregando uma página de internet ou reproduzindo um vídeo e atrasar a execução do seu loop) com certeza o seu cálculo de velocidade estará incorreto. Uma boa referência de livro sobre RTOS (Sistemas operacionais de tempo real) é o Real-Time Systems Design and Analysis: Tools for the Practitioner, 4th Edition.

Abordagem Windows Embedded Compact

O Windows EC possui um Kernel de tempo real, essa é uma das características principais que diferencia ele das outras versões de Windows Embedded. Entre as ferramentas existentes no Windows EC estão:

  • Suporte a multitarefas preemptivo;
  • Agendamento de tarefas com definição de prioridades;
  • Ferramentas para sincronização de tarefas.

O S.O. é suportado por quanto tempo?

Reflexão

É importante analisar com esta pergunta por quanto tempo o sistema escolhido estará disponível para compra e/ou download. Da mesma forma é importante saber se existe uma equipe de profissionais contratados e direcionados a suportar o sistema ou se isso é feito por uma comunidade de desenvolvedores.

Abordagem Windows Embedded Compact

Essa é uma característica crítica atualmente, com tecnologias mudando de forma tão rápida é fundamental analisar por quanto tempo o software (e hardware) que você definirá como coração de seu sistema será suportado, o chamado ciclo de vida. No caso do Windows Embedded Compact 7 (que foi lançado em 2011) o suporte da Microsoft será até 2021, ou seja, pelo menos 10 anos da data de seu lançamento. Isto mostra a seriedade da Microsoft em colocar um produto no mercado e se comprometer com ele garantindo a segurança e o investimento de seus clientes.

A versão mais nova do Compact, Windows EC 2013, será suportada até 2023, e em breve a Microsoft deve lançar uma próxima versão. A Vivian preparou uma tabela que mostra o compromisso da Microsoft com seus clientes.

Qual o custo do sistema operacional?

Reflexão

Custo, como em todo projeto de engenharia, é uma variável importante. Quais os custos envolvidos na utilização de um certo sistema operacional quando utilizado para finalidade comercial é a pergunta que você deve se fazer. Os custos estão apresentados de forma clara? Todos os componentes do sistema obedecem a mesma licença? Quem deverá resolver e licenciar os componentes adicionais (acessórios) do sistema? Ao adquirir um determinado S.O., os pacotes de software e componentes adicionais são também parte a licença? Existe algum custo de engenharia/consultoria para preparar o S.O. de forma que ele esteja apto para a etapa de desenvolvimento de aplicação?

Abordagem Windows Embedded Compact

A Microsoft não recebe nenhum faturamento de licença enquanto seu produto não for um sucesso de mercado, diferente de outros sistemas que requerem meses de preparação, consultoria de especialistas e um aprendizado profundo e que custa tempo e dinheiro. A Microsoft fornece uma solução de prateleira, facilmente configurável e que possui toda a estrutura de segurança, qualidade e componentes necessários em um S.O. Adicionalmente, seus produtos possuem uma curva de aprendizado rápida e com ferramentas fáceis e eficientes.

Além disso, você não precisa se preocupar com possíveis problemas de licenciamento e propriedade intelectual dos componentes parte de seu sistema operacional. Através da licença comprada da Microsoft, ela fica responsável por resolver qualquer possível problema advindo dos componentes existentes no Windows EC.

Quais as ferramentas e tecnologias de desenvolvimento de aplicação de usuário?

Reflexão

O sistema avaliado oferece nativamente ferramentas para desenvolvimento de aplicações do usuário? Estas ferramentas devem ser compradas a parte ou estão inclusas? Estas ferramentas estão preparadas para atender os requisitos de memória e limitação de recursos existentes em sistemas embarcados? As plataformas de desenvolvimento são robustas e principalmente: Existe um ecossistema de profissionais que podem suportar o desenvolvimento? Imagine que você treinou um profissional em sua empresa em uma tecnologia de programação excelente, porém não muito comum. Depois de alguns meses, este profissional recebe uma proposta que você não pode cobrir e resolve se desligar de sua empresa, qual será a dificuldade de encontrar um profissional para substituí-lo com o mesmo conhecimento?

Abordagem Windows Embedded Compact

As ferramentas de desenvolvimento de aplicação para o WEC (Windows Embedded Compact) são as mesmas utilizadas para seu Windows tradicional ou Embedded Standard. O Visual Studio é uma plataforma conhecida e utilizada por milhares de desenvolvedores ao redor do globo, possui inúmeros componentes adicionais que podem ser comprados para incrementar sua aplicação. Usando o .NET 3.5 Compact Framework você poderá desenvolver aplicações em VC# .NET ou VB .NET para seu sistema embarcado aproveitando grande parte da paleta de objetos existente no .NET 3.5 framework tradicional utilizado em seu Windows tradicional. Além disso também existe uma versão do SQL Server Compact que poderá dar capacidade de banco de dados para sua aplicação embarcada.

Quais as características técnicas que seu sistema precisa?

Reflexão

Seu equipamento deverá trabalhar em um ritmo 24/7? O S.O. está preparado para minimizar vazamento de memória? O S.O. pode ser recuperar de travamentos? Seu equipamento será desligado com qual frequência e de qual forma? O seu S.O. suporta desligamentos inesperados sem corromper arquivos? Qual o tempo de boot do sistema aceitável? O usuário pode esperar o tempo de boot ou isso pode ser um incômodo? O sistema suporta gerenciamento de bateria com funções de hibernação? O que o sistema faz para diminuir o consumo de bateria?

Abordagem Windows Embedded Compact

O WEC oferece diversas características técnicas que o certificam como um dos sistemas mais robustos do mercado conforme os testes de desempenho apresentados no artigo: A Real Time Operating Systems (RTOS) Comparison. No artigo, o autor, AROCA afirma:

Even with all the ping floods and overloads, there was no situation that the system crashed requiring a reboot. In the worst overload scenario, the system stopped answering requests for some seconds, but right after it went back to normal operation. The conclusion is that Windows CE Embedded 6.0 is a very robust and reliable operating system to execute real time tasks, with the advantage of offering several powerful development tools.

Outra ferramenta interessante oferecida pelo WEC é o TexFAT (Transaction-Safe Extended FAT File System), trata-se de um sistema de arquivos que trabalha com duas cópias da tabela de alocação diminuindo a possibilidade de corromper arquivos quando o sistema é desligado durante um acesso a um arquivo.

O Windows EC suporta modos de hibernação e funções para gerenciamento de bateria. Isso é especialmente útil se seu equipamento for suportado por bateria. Além disso o sistema possui uma grande coleção de device drivers para serem implementados para dar suporte às mais diversas funções necessárias para seu equipamento.

Um abraço e até a próxima!

Saiba mais sobre Windows Embedded Compact

– BeagleBone Black + Windows Embedded Compact, por Marcelo Jo

– Desenvolvendo Sistemas Embarcados com Windows Embedded Compact, por Guilherme Fernandes

– Placas de desenvolvimento compatíveis com Windows, por Fábio Souza

Outros artigos da série

<< Desenvolvendo Sistemas Embarcados com Windows Embedded CompactHello Windows Embedded (Compact) World! >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

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

Software » As vantagens de usar o Windows Embedded Compact
Comentários:
Notificações
Notificar
guest
4 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Alexandre Maffeis
Alexandre Maffeis
12/05/2015 10:15

Bom Dia Guilherme

Não ficou muito claro para mim a questão de custo de licença.

Como eu faria nesses 2 casos:
protótipo 1 placa?
Lote de produção de 1.000 placas?

Obrigado.
Alexandre Maffeis.

Guilherme Fernandes
Guilherme Fernandes
Reply to  Alexandre Maffeis
12/05/2015 10:40

Bom dia Alexandre,

Existem algumas opções para os casos sitados:

Você consegue comprar a licença para uma única peça, deve custar algo como 20 – 30 USD. Da mesma maneira você consegue comprar um lote com 1000 peças e com certeza poderá conseguir um preço melhor na licença.

Para protótipos você ainda pode utilizar a versão de avaliação do Platform Builder, que possibilita utilizar as ferramentas por 180 dias.

Será que respondi sua pergunta?

Atenciosamente

Guilherme

trackback
26/05/2015 00:04

[…] – As vantagens de usar o Windows Embedded Compact, por Guilherme Fernandes […]

trackback
15/05/2015 00:02

[…] – As vantagens de usar o Windows Embedded Compact, por Guilherme Fernandes […]

Talvez você goste:

Séries



Outros da Série

Menu

WEBINAR
 

BlueNRG-LP – Bluetooth 5.2 de longo alcance para aplicações industriais

Data: 05/11 às 15:00h - Apoio: STMicroelectronics
 
INSCREVA-SE AGORA »



 
close-link