The document discusses using Java for embedded systems and the JamaicaVM real-time Java virtual machine. It outlines barriers to using Java such as cost, stability, and technical uncertainties. It then covers JamaicaVM's attributes like performance, size, and platform support. The document also discusses porting to different processors and operating systems, as well as considerations for drivers, networking, and the build process.
Moving to Realtime Java for Embedded Systems af James Hunt, Aicas
1. aicas technology
Moving to Realtime Java for
Embedded Systems
Dr. James Hunt
CEO, aicas GmbH
Temadag om Java, Sept. 2013
2. 2JamaicaVM: Realtime Response for Java Applications
Barriers to Using Java in ES
Business Uncertainties
cost
commercial stability
support
Techniclal Uncertainties
size and speed
device access
OS issues
how does it work in practice
3. 3JamaicaVM: Realtime Response for Java Applications
Business Issues
Cost
Effect on Product Cost
Porting Costs
External Dependencies
Licensing risk
Support risk
Obsolecense risk
4. 4JamaicaVM: Realtime Response for Java Applications
Resource Requirements
Processor
32 bit or 64 bit
speed depends on application
graphics?
computational intesity?
Memory
512k has been done
from 4M w/o graphics, 20M w/ graphics
depends on application
5. 5JamaicaVM: Realtime Response for Java Applications
Attributes
Performance
500usec periodic thread w/ allocation on Linux w/
Preempt patch, Intel Core Duo, 5usec jitter
Similar result on VxWork, PowerPC
Size
minimum for HelloWorld >1Mbyte
depends on application complexity
Java Versions
J2SE 1.6 & J2ME 1.4 both w/ RTSJ
6. 6JamaicaVM: Realtime Response for Java Applications
JamaicaVM Platform Support
RTOS
VxWorks
Linux/RT
QNX
WinCE
Windows XP...
Integrity
ThreadX
Solaris
Processors
PowerPC
SH4
ARM
Atom
x86
IA-64
7. 7JamaicaVM: Realtime Response for Java Applications
Porting
Processor dependencies
No JIT
base AOT uses platform C compiler
Operating System
easier for POSIX like systems
harder for others
Graphics
most costly
leverage standard libraries
8. 8JamaicaVM: Realtime Response for Java Applications
Operating System
Is an RTOS Required? Yes for
scheduling
network
file system
boad support package
Is an RTOS required?
Yes for hard realtime
No for soft realtime
9. 9JamaicaVM: Realtime Response for Java Applications
Drivers
Device access
JNI w/ C or C++ (SWIG)
RawMemory—access control and data registers
Happenings—manage interrupts
Interrupt Service Routined
Networking
ethernet
CAN
etc.
10. 10JamaicaVM: Realtime Response for Java Applications
JamaicaVM Build Process
Optimization
JamaicaVM
Builder
JamaicaVM
Builder
Java Byte
Code
Interpreted
Executable
Profiled
Executable
JamaicaVM
Builder
Profile
Optimized
Executable
IDE
Source
Code
Javac
Test on Host
(JamacaVM Pluggin)
Test on Target
Test Performance