Hat jemand von Euch schon mal Java-Applikationen für Embedded Systems erstellt ? Wo habt Ihr die VM her ? Und wie verbindet man die „reale Hardware“ mit der Java-Applikation ? Welches Betriebssystem empfiehlt sich ??
Danke im Voraus,
Andreas
Hat jemand von Euch schon mal Java-Applikationen für Embedded Systems erstellt ? Wo habt Ihr die VM her ? Und wie verbindet man die „reale Hardware“ mit der Java-Applikation ? Welches Betriebssystem empfiehlt sich ??
Danke im Voraus,
Andreas
Hallo!
Hat jemand von Euch schon mal Java-Applikationen für Embedded
Systems erstellt ?
Gute Frage. Ich jedenfalls nicht.
Wo habt Ihr die VM her ?
Die sollte es bei SUN geben, die KVM. Andere JVMs gibt es auch, teilweise OpenSource.
http://directory.google.com/Top/Computers/Programmin…
Dabei insbesondere „Small Footprint“ (oben).
Und wie
verbindet man die „reale Hardware“ mit der Java-Applikation?
Da gibt’s verschiedene Ansätze. Notfalls kannst du die Hardware dem OS überlassen und nur die Anwendungen in Java programmieren. Daneben gibt es verschiedene Java-Betriebsysteme, die du wieder über obigen Link findest, unter „Operating Systems“.
Welches Betriebssystem empfiehlt sich ??
Kurze Antwort:
Linux 
Lange Antwort: Das hängt völlig von Anwendung und Hardware ab.
Prozessor? Typ? Geschwindigkeit?
RAM-/ROM-Größe?
Netzwerk benötigt?
Spezielle Schnittstellen? USB? BlueTooth? Speicherkarten?
Multimedia-Streams?
Real-Time-Anwendungen?
Da gibt’s 'ne Menge Dinge, die da beachtet werden müssen. Embedded Systems werden nicht am Bildschirm zusammengeklickt, da steckt eine ganze Menge Aufwand dahinter.
Hoffe, trotzdem erstmal ein bisschen geholfen zu haben,
Stefan 
Hallo Stefan !
Die sollte es bei SUN geben, die KVM. Andere JVMs gibt es
auch, teilweise OpenSource.
Hier haben wir das erste Drama: nicht für jeden Prozessor gibt’s 'ne VM.
Wir wollen allerdings den ARM7 mit Jazelle nutzen…
Und wie
verbindet man die „reale Hardware“ mit der Java-Applikation?Da gibt’s verschiedene Ansätze. Notfalls kannst du die
Hardware dem OS überlassen und nur die Anwendungen in Java
programmieren. Daneben gibt es verschiedene
Java-Betriebsysteme, die du wieder über obigen Link findest,
unter „Operating Systems“.
Das Ziel ist, Hardware-Zugriffe direkt aus Java auszuführen. Das Betriebssystem weiß z.B. nichts von einem RS485-Port oder parallelem Interface ( kein Drucker ).
Welches Betriebssystem empfiehlt sich ??
Kurze Antwort:
Linux
Habe ich mir schon gedacht
))
Lange Antwort: Das hängt völlig von Anwendung und Hardware ab.
Prozessor? Typ? Geschwindigkeit?
RAM-/ROM-Größe?
Netzwerk benötigt?
Spezielle Schnittstellen? USB? BlueTooth? Speicherkarten?
Multimedia-Streams?
Real-Time-Anwendungen?
Stand-Alone-Applikation mit Multimedia-Streams, ARM7, 2MB RAM, 2MB ROM, CD-Laufwerk, GSM-Modul, GPS-Modul…
Da gibt’s 'ne Menge Dinge, die da beachtet werden müssen.
Embedded Systems werden nicht am Bildschirm zusammengeklickt,
da steckt eine ganze Menge Aufwand dahinter.
Das ist mir schon klar - hehe ! Bisher haben wir unsere System ja immer in C hochgezogen…
Grüße von
Andreas
Hallo Andreas!
Nochmal der Hinweis, dass ich selbst kein Embeded-Entwickler bin, eher für „größere“ Geschichten. Deshalb solltest du meine Einschätzungen mit Vorsicht genießen. Insbesondere aber, wenn du wirklich vorhast, Linux unter das Ganze zu legen, dann wird dich das folgende doch interessieren…
Wir wollen allerdings den ARM7 mit Jazelle nutzen…
Na, wenn ihr schon so festgelegt seid, dann solltest du vielleicht mal bei ARM selbst schauen:
http://www.arm.com/armtech/Jazelle_Partners?OpenDocu…
Hast du schonmal mit deren Hotline gesprochen? Die (bzw. noch eher euer jeweiliger Prozessorfabrikant) werden dir mit Sicherheit einiges zu erzählen haben, schließlich geht es ja um den Einsatz ihrer Prozessoren…
Das Ziel ist, Hardware-Zugriffe direkt aus Java auszuführen.
Dann mach das über das JNI (einige JVMs bieten auch eine eigene Schnittstelle, der GNU Compiler für Java z.B.) und programmier eben einen überschaubaren Teil in C darunter (oder direkt ins Betriebsystem), eine andere Möglichkeit wüsste ich so aus dem Stehgreif nicht.
Na ja, doch, bei einer OpenSource-JVM kannst du natürlich auch noch in die JVM reinsetzen, was du willst…
Bieten denn die Java-OS Implementierungen in der Hinsicht nichts?
Das Betriebssystem weiß z.B. nichts von einem RS485-Port oder
parallelem Interface ( kein Drucker ).
Für serielle Ports gibt es die JavaCOMM-API (Frage: auch für RS485??)
Ob die sich allerdings für ein ES eignet (ich nehme es mal an) und vor allem auf ARM läuft (schau mal bei SUN und IBM nach, von denen weiß ich dass sie Implementationen haben) - keine Ahnung.
Auch, ob da der Parallelport unterstützt wird, müsstest du mal nachsehen.
Betriebsystem hängt völlig von Anwendung und Hardware ab.
2MB RAM
Das ist nicht wirklich viel. Ob du da mit Linux + JVM glücklich wirst, ist eine gute Frage (ich kenne den ARM-Port nicht, aber er wird wohl auf solche Bedürfnisse zugeschnitten sein). Gerade bei Multimedia-Anwendungen frage ich mich, ob du da nicht ohnehin hart an der Grenze spekulierst… Aber ich kenne natürlich auch euer Projekt nicht.
Schau notfalls mal auf der Seite des Linux-ARM-Ports nach:
http://www.arm.linux.org.uk/
bzw. auf der Debian-ARM-Seite:
http://www.debian.org/ports/arm/
oder hier:
http://www.armlinux.org/
http://dpnm.postech.ac.kr/emLinux/
http://directory.google.com/Top/Computers/Software/O…
Wichtig für Emb. Devices unter Linux ist natürlich vor allem
http://www.linuxdevices.com
und die haben auch ein Java-Brett:
http://www.linuxdevices.com/cgi-bin/board/UltraBoard…
Ich hab’s nur schnell mal überflogen, vielleicht interessiert dich ja was hiervon:
http://www.linuxdevices.com/cgi-bin/board/UltraBoard…
http://www.linuxdevices.com/cgi-bin/board/UltraBoard…
CD-Laufwerk, GSM-Modul, GPS-Modul…
Lustige Kombination. Lass mich raten: Ein Routenplaner mit Karten auf CD. Oder was für’s Auto. Oder beides. (Kinder-Überraschung!)
Klingt aber schon relativ anspruchsvoll.
Vielleicht helfen dir ja die Links oben schon weiter?
Gruß,
Stefan 
Hallo, Stefan !
Na, da habe ich ja jetzt einiges zu lesen
.
Einige Seiten kannte ich schon, kam aber nicht so recht weiter. Daher die Anfrage.
Wahrscheinlich ist doch ein intensiveres Eingewühle in die Thematik nötig…hatte die stille Hoffnung, von irgendwo eine Lösung „abstauben“ zu können.
Vielen herzlichen Dank und Grüße
von Andreas