Programando diretamente no hardware!

6 respostas
C

Olá!

Gostaria de saber se alguém pode me ajudar no seguinte problema: gostaria de saber se existe e, caso positivo, usar uma ferramenta JAVA para programar diretamente no hardware… algo do tipo que fazemos com o Assembler ou qualquer coisa parecida a isto como por exemplo, o uso de micro-controladores.

Bom, desde já gostaria de agradecer, pois sempre que postei dúvidas neste forum, tive respostas.

6 Respostas

B

bom kara… pelo q eu saiba isso não existe, mesmo pq foge da intenção da plataforma… A coisa mais parecida com isso é a compilação para código nativo com GCJ pedendo ser usado em sistemas *UNIX-Like e a JNI (Java Native Interface) que vc pode programar coisas em uma linguagem nativa como C/C++ por exemplo mas dai comparando com Assembly eu já num sei…

M

se vc quer escrever codigo assembly dentro de programas java, esquece. ateh porque, assembly é dependente de plataforma, e java é multiplataforma, são opostos :wink:
mas se vc quer executar java a nivel de hardware, eu sei que tem os processadores picojava que executam instruções em bytecode(maiores detalhes sobre esse proc., eu desconheço)

R

programar hardware é muito relativo… o que especificamente vc quer?

X

Como o microfilo falou: programar hardware é muito relativo …

Antes de mais nada: o que nós,progamadores, fazemos?Programamos e não importa o nível da linguagem , de uma forma ou de outra , estamos apenas manipulando hardware.

O padrão de hardware existente hoje para construção de “software genérico”, permite graças a Deus, que sejam implementadas interfaces , para processos cada vez mais complexos.

Como uma forma abstrata para mensurar a complexidade/interrelacionabilidade existe uma pseudo-classificação, famosa por figurar em qualquer livro do mestre Tenenbaum(logica digital,micro arquitetura, isa,SO,montador,alto nivel)*

Algum de nós se preocupa com processos toscos como: load de memória , write/read de memórias … ? Algum de nós se preocupa com o funcionamento interno do XML,Delphi,Java,dotNET e talvez esse sim compilador C++?Pessoalmente creio que não(try{texto}catch{hacker exception}finally{-.-}).

Essa “divisão” traz problemas terriveis.

Se programar hardware siginifica trabalhar em cima de mecanismos toscos, recomendo a você estudar especificações de componentes eletrônicos e ter noções de lógica digital.Hardware propriamente dito executa instruções muito simples, mesmo na arquitetura CISC, a maioria provida por circuitos integrados previamente fabricados e encapsulados.

Caso seja de seu real interesse recomendo também o estudo de algum micro kernel como o Midori, baseado em Linux.Isso seria programação embarcada(C++ , Java,dotNET e vai indo …).Está é uma área de extrema precisão , com enormes possibilidades, e onde interpretadores tem poucas chances**.

Caso seu desejo seja utilizar Java, tente J2me, oferece um leque MUITO amplo de possibilidades, assim como o dotNET e mais ainda do que ambos: C++.

Acima de tudo: atrele seu pensamento na busca de uma ferramenta para a resolução do seu problema , e não na busca de um problema para a sua ferramenta(isso é serviço das empresas).

*eu gostaria de compartilhar uma ideia:código gerenciado, desenvolvido sobre uma plataforma(como dotNET/Java/Python) pode ser um nível a mais , que tal?

**gostaria muito de me lembrar onde coloquei o texto que tratava desse assunto; relatava que: interpretadores não possuiam capacidade(processamento,performance) para tratar graus de importância em tempo satisfatório para sistemas como freios e afins(riscos em caso de demora na resposta)

C

Como nosso amigo xenoob disse, posso usar J2ME, mas aí surge a seguinte dúvida: quando usamos J2ME, precisamos que o hardware que estamos programando (celulares, palmtops, e outros) tenham necessariamente sistema operacional? Em outras palavras (e me desculpem se estou sendo muito ingênuo), se programar-mos um aparelho celular, por exemplo, isto quer dizer que este aparelho celular tem um sistema operacional nele e só podemos programá-lo em Java se este (SO) existir? Ou será que posso programar um dispositivo de baixa capacidade (como fazemos quando usamos j2me) sem a necessidade de SO???

R

podemos dizer que todo celular tem um SO…

o que nos permite usar aplicativos J2ME em celulares é a existencia de uma Java Virtual Machine para o celular

Criado 26 de novembro de 2004
Ultima resposta 27 de nov. de 2004
Respostas 6
Participantes 5