O Java em Sistemas Embarcados
Sistemas embarcados estão cada vez mais presentes no dia a dia das pessoas, nos carros, eletrodomésticos, aparelhos telefônicos, nos caixas eletrônicos de bancos, etc. Tais sistemas apresentam restrições em termos de velocidade, tamanho, requisitos de memória e determinismo (capacidade de executar uma tarefa dentro de um certo período de tempo).
A linguagem JAVA oferece algumas características que a tornam ideal para o desenvolvimento de sistemas embarcados, como portabilidade, reuso de código, confiabilidade, segurança, conectividade com a WEB e com outros sistemas embarcados. Além da melhor qualidade do código, devido às características de orientação a objetos da linguagem, projetos embarcados desenvolvidos em Java ganham em tempo e custo de desenvolvimento, em função da variedade de ferramentas de desenvolvimento e suporte existentes.
Por outro lado, as atuais implementações da especificação Java são muito lentas, não determinísticas e demasiadamente grandes para o desenvolvimento de sistemas embarcados, além de não proverem funcionalidades essenciais para estes sistemas, tais como controle direto do hardware, execução a partir da ROM, escalabilidade e comportamento de tempo real.
Parece um contrassenso propor Java como tecnologia para o desenvolvimento de sistemas embarcados, pois enquanto um dos objetivos de Java é prover uma plataforma de desenvolvimento independente de hardware e sistema operacional subjacente, sistemas embarcados usualmente requerem controle total dos mesmos. Contudo, o crescimento em quantidade e principalmente funcionalidade de dispositivos embarcados de uso pessoal ou de consumo fez surgir à necessidade de se desenvolver aplicações cada vez mais elaboradas e que pudessem ser facilmente portadas para uma família de dispositivos, atividade a que Java se presta muito bem.
A atual conjuntura fez surgir duas classes de desenvolvedores para sistemas embarcados: aqueles preocupados na funcionalidade da aplicação (independência de dispositivo) e aqueles preocupados em fazer com que a plataforma Java possa ser portada para as diversas classes de dispositivos embarcados (amplo controle sobre o hardware).
Java apresenta várias características que a tornam atrativa para o desenvolvimento de sistemas embarcados, tais como portabilidade, segurança, simplicidade, conectividade, desenvolvimento rápido de aplicações, entre outras.
Sistemas embarcados apresentam restrições tais como memória, velocidade e determinismo, que devem ser atendidas para que Java possa ser aplicada aos mesmos.
Por consequência, esforços têm sido feitos no sentido de torná-la mais enxuta, rápida e previsível.
E foi pensando nisso que a Oracle, por sua vez criou uma linha chamada de Java Embedded SE, que nada mais é que uma linha específica de máquinas virtuais e voltadas para os sistemas embarcados em Java. E possuem um tamanho reduzido e
também é mais otimizada para operação em algumas GPUs presentes em algums System On Chips de placas abertas de mercado.
E essa nova linha de máquinas virtuais não possuem uma instalação muito complicada já que basta transferir o binário Java feito em sua estação de trabalho para o sistema embarcado que este binário funciona automaticamente.
Exemplo de como criar um código de Java embarcado, usando o NetBeans:
Instale o Netbeans ou o qualquer outro programa de desenvolvimento java e também a maquina virtual Java, agora que tudo que precisamos esta instalado, vamos fazer o código.
Crie um projeto. Para isto, é preciso entrar em Arquivos Novo Projeto categoria Java Java Projetos Clique em próximo De um Nome do projetodetermine onde ele será criado Clique em Finalizar.
1ª Passo:
Arquivos Novo Projeto2ª Passo:
Categoria Java Java Projetos Clique em próximo3ª Passo: De um Nome do projetodetermine onde ele será criado Clique em Finalizar.
Criar uma classe principal para o projeto. Para isso, olhe para seu lado esquerdo na opção projeto, clique no Pacote de Códigos-fonte, com o botão esquerdo e selecione o Nome do pacote atual e mande criar uma nova classe.
Observação: O NetBeans, ao criar o projeto ele já cria uma primeira classe , então este passo 4ª você pode pular e não fazer.
Como criar uma classe para o projeto:
4ª Passo: Olhe para seu lado esquerdo na opção projeto, clique no Pacote de Códigos- fonte, com o botão esquerdo e selecione o Nome do pacote atual e mande criar uma nova classe
5ª Passo: Dentro de public static void main(String[] args) {}, digite:
System.out.println("Hello World\n"); não se precupe o código que esta marcado de azul, o próprio NetBeans, cria pra você.
6ª Passo: Execute o projeto pra vê-lo funcionando antes de passa-lo par ao dispositivo desejado. Para Isso e só apertar F6.
7ª Passo: Na parte inferior da tela aparecera, neste nosso exemplo: Hello World
8ª Passo: Agora devemos exportá-lo para funcionar também em nossa BBB (neste caso estou usando uma Beagle Bone Black (BBB), estação de trabalho para o sistema embarcado). Para Isso deve-se ir em ArquivoExportar Projeto Para Zip.
9ª Passo: Escolha em que Projeto-Raiz desejado você irá exporta-lo. E clique em Exportar
10ª Passo: Ai ele gerar um arquivo Zip, do código criado anteriormente. E após clicar em Exportar, um arquivo hello.jar é criado em sua área de trabalho ou onde você definiu para que o mesmo fosse criado. Este arquivo deve ser transferido para sua BBB.
11ª Passo: Como transferir para sua BBB, basta executá-lo em sua linha de comando, assim:
Observação: Mesmo sendo capaz de criar um pequeno sistema embarcado. Ainda são necessárias análises, tanto de desempenho como também de analise de capacidade de reuso dos componentes no Java a serem usados em seus projetos pessoais futuros.
Artigo feito pelos alunos:
Yasmin Luiza Rosa Rodrigues da Silva Diego Lopes de Barros Vieira
Wesley Luan Dias da Silva Professor:
Rafael Ribeiro