85Fermer87
GodzilLe 09/11/2004 à 20:12
Pollux
:
alexis :
>> du java sur une brique RCX ? je demande a voir, sachant que les contraites du RCX sont supérieurs a celle de l'handyboard (- de mémoire, proco globalement plus restreint..)

Désolé pour toi Godzil, mais ca existe puisqu'on en a fait en cours... et ca tourne plutôt bien dessus.
En plus c du JAVA RT! ...
http://java.sun.com/features/2002/05/robot.html
http://www.pangloss.it/libro.php?isbn=1928994555&id=10026

Mouais euh faut pas déconner c'est pas du Java mais du ««« Java »»» : "One of the things that the developers of leJOS haven't been able to do yet is to include garbage collection." (et il manque sûrement d'autres choses, j'ai pas lu tout l'article)
Ca ressemble peut-être en apparence à du Java, mais c'est tout sauf un langage de haut niveau embarrassed

Ha tiens j'avais pas vu ce point cheeky

http://www.rtjcom.com/6811/general.html#features

et spécifiquement a la handyboard :

http://www.rtjcom.com/6811/hb.html
Specially optimized to run on the embedded systems with limited memory resources (from 48KB). On average the simpleRTJ will not require more than 18-23KB of code space to run.

Designed to run as a stand-alone miniature Java operating system. No other RTOS is required to be present in the memory.

Implemented thread support with object's monitor locking and wait/notify synchronization. A timer interrupt should be available to provide VM with time base for the pre-emptive time sliced thread scheduler.

Uses optimized java.lang package to preserve small memory footprint of the Java applications.

Implements support for the javax.events package. This package allows to handle responses to asynchronous events (some interrupts, comms, keypad,...) in Java code. Also included are classes for creating software timers (single shot and periodic).

Supports String and StringBuffer objects.

Exception handling is fully implemented.

Interfaces are fully supported.

Multidimensional arrays are supported.

Includes compacting, three color mark & sweep automatic garbage collector.

Uses simplified native interface to provide fast invocation time for the native methods.

Large number of startup configuration options for specifying the heap size, number of references, threads, software timers, etc.

The simpleRTJ code can be built separately from the native code. This feature allows VM to be programmed into the EPROM/FLASH and the native code and Java application loaded into the RAM when needed.

Number of compilation options allow to control the size of char data type, inclusion of floating point, presence of garbage collector, etc. These options can be used to tailor VM to specific needs of the target platform and the Java applications. 

Supports the following memory models:
- linear 64KB
- banked 64KB
- linear up to 16MB

Can execute Java applications of up to 16MB in size


Limitations

Java language package java.lang was optimized (minimized) to include only classes and methods that are relevant to this implementation of the Java VM.

64-bit double and long arithmetic is not supported

Divide ( / ) and modulo ( % ) operators works at the moment only on 16-bit numbers.

Thread support doesn't yet provide synchronization on synchronized methods and code sections. java.lang.Object class doesn't implement thread synchronization methods wait and notify.

Multi-dimensional arrays are not supported.

Performance of the application written in Java and run under VM is slower than applications written in C. This limits the use of Java VM to applications which do not require fast responses from the control program. However, interrupts are are always serviced as soon as they are registered by the processor. Furthermore, it is always possible to write time critical operations in the native code and that way balance the slower execution of the main program.
JNI is not supported. Instead, there is a simple and fast native interface provided.