The ITRON is an API standard specification of the real-time OS for embedded systems. It is only an OS specification instead of a real OS, so there is no ITRON kernel. The OS based on the ITRON specification is called ITRON-based kernel.
The TRON association started the standardization work of ITRON specification since 1984 and published the ITRON1 in 1987, ITRON2 and μITRON２ in 1989, μITRON3.0 in 1993, and μITRON4.0 in 1994 respectively. As the fourth version, μITRON4.0 is most comprehensive one.
The ITRON specification has such features:
1) provides the possibility to implement a light-weight and compact OS
2) easy to be understood
It helps standardize the education for engineer and our serial is also a product benefitting from this.
3) an an entirely open specification
4) can be implemented on all kinds of processors.
5) has been applied to a many embedded systems successfully.
6) supported by many makers and vendors.
These have made the ITRON specification the most popular among all kinds of OS specifications in Japan.
- makes some extensions and improvements on the basis of the standard profile of the ITRON4.0 specification
- takes the part of Protection Extension of ITRON4.0 Specification ( ITRON4.0/PX specification)
- follows TOPPERS Standard Interrupt Processing Model
Strict standardization will produce extra costs. To avoid this,ITRON specification employed loose standardization for interrupt processing. However, it has been 8 years since the publication of μITRON4.0 and the software environment has changed a lot. Now a little extra expense is acceptable in order to enhance the efficiency.
In this background, TOPPERS project establishes TOPPERS Standard Interrupt Processing Model, which is different from ITRON specification for good reusability. So interrupt processing applications can be constructed on ASP kernel without detailed knowledge of the interrupt processing architecture of processors.
This series targets readers with experience of using real-time operating systems. Of course using a real-time OS does'nt necessarily require detailed knowledge inside it, which might be viewed as one of its merits. However, it is interesting to find out how a real-time OS works, isn't it? After all, such knowledge may help you in designing your applications better.
Here, code of the TOPPERS/ASP kernel, released in 2008, will be our teaching material.
TOPPERS /JSP kernel is one of its products. It is a real time OS based upon standard profile of μITRON4.0 specification’s standard profile. In this serial, we will focus on TOPPERS/ASP kernel, which is a revised version of JSP.
Figure 1 road map of TOPPERS new generation kernels
ASP kernel can be considered as one-level-up version of JSP. Just like many kernels derive from JSP, more kernels with protective function or for multi-processors based on ASP kernel will come out.
First, it comes from the well-established μITRON4.0 and makes some improvements and extension.
Second, it stresses reusability of software. With the improvement of processors, it is not a problem any longer to do some extra calculations. Therefore, ASP trades target-dependent code with extra calculation in the aim of reusability.
Third, it supports the construction of secure systems with high reliability.
In the case of μITRON and JSP kernel, applications have to subject to some specific conventions otherwise no right action will be assured. ASP is quite different and it is a foolproof specification. Further more, ASP can make up some bad situations with a little extra expense when applications break some rules. For example, there is one rule that if interrupts are disabled in an interrupt handler then it must be enabled before it exits that interrupt. If the application fails to do so, ASP kernel will do it.
ASP kernel does not manage the dynamic memory for it is hard to deal with memory shortage. All its objects are generated statically, same as JSP kernel.
ASP targets the highly reliable, safe and real-time embedded systems, whose sizes are from 10KB to 1MB. If it is bigger than 1MB, then the system needs the function of memory protection.
The main target of ASP kernel is the embedded system in need of high security and high real-time responsibility, in which program’s size ranges from 10 KB to 1 MB. If the size is larger than this, then you had better to use the function of memory protection.