With the development of pervasive computing and mobile computing, embedded system development and application receive much concern. Finding efficient methods and tools to improve the development process of embedded system are required. Compared with traditional embedded languages, such as C/C++ and assemble, Java with its several advantages becomes more and more popular in embedded fields, such as pure object-oriented, safety, platform-independent, and language level concurrency and so on. And Sun has published several Java embedded techonlogies which also promote the Java's development in consumer electronic devices.Most of the embedded systems should meet some real time requirements.The standard Java has some insufficiencies for real-time system, such as dynamic loading and analyzing classes, garbage collector, Just-In-Time compile, no restrict on thread's priority and so on. These factors can cause latency and uncertainty. So the execution time of a task cannot be predicted. But for real-time system, especially for hard real-time, the prediction of tasks execution is very important. In order to fill in the vacancy, Sun, IBM and Microware proposed the RTSJ (Real-Time Specification for Java) which defines how to act in real-time system for Java. It provides a reference to implement a real-time Java platform.With the release of RTSJ, several different implementations of real-time Java platform are proposed. Based on the National Science Foundation project---Highly Credible Computation Platform (SoPC) research for real-time system (code: 60703106)[1].The research team proposed a real-time Java platform which supports RTSJ.This paper mainly analyzes the related problems and techonologies focused on Java real time embedded system;and supports a software toolkit for this real-time Java platform.A real-time platform consists of executing engine and real-time software environment which includes library and operating system. Executing engine as the most important part can be implemented in different ways.Such as Interpreter, Ahead-Of-Time compile, JIT, Java hardware accelerator and Java processor. Among these methods, our research team chooses the Java processor as the executing engine (Jpor32),due to its high efficiency, small memory footprint and low power consumption. Program execution is divided into two steps——preprocessing and executing. The class preprocessor is one of the important tools. It converts a standard Java class file to an image file which can be downloaded to the Java processor (Jpor32) later. Operations that impact real-time performance such as classes' loading and resolving are pre-processed by this preprocessor. As a result, it reduces the complexity of the real-time Java processor greatly. Jpor32 is a 5-stage pipeline Java processor supporting most Java byte codes and several extended codes.A real-time software enviorment is essiential to real-time platform. This paper designs and implements a class library including standard library based on CLDC and extended real-time library based on RTSJ. Real-time operating system is our future work.This paper also discusses some techonologies of real-time gabage collector which is part of real-time OS.In order to gurantee the real-time performance of Jpor32,this paper using a static method combined with the processor's characeterisitics analyzes the worst case execution time (WCET) and reaches a conclusion. |