intro-invite (PDF written in Japanese)
Top | About Project | JSP Kernel | Download | Documents | Community | Contacts

TOPPERS Project
Introduction
TOPPERS License
How to join
Software
TOPPERS/JSP kernel
TINET
teaching materials
Introductory seminar

TOPPERS/JSP kernel

The TOPPERS/JSP kernel is a real-time kernel that is in conformity with the µITRON4.0 specification. It is also the first development result by the TOPPERS Project. JSP is an acronym for Just Standard Profile, and as the name shows, is implemented in accordance with the µITRON4.0 specification standard profile regulation. The latest JSP release can be downloaded from here.

Main features are as follows:

  • Easy to read and reconstructible source code
    Keeping in mind that utilization would be for research and development, emphasis was put on easy to read and reconstructible source codes. The algorithm, although easy to read, is not inefficient. For example, by using heap structure to manage time events, a complex but efficient algorithms are employed.
  • Porting to other targets is easy to do
    C language is used for most parts of the kernel. Clear separation of target independent parts and target dependent parts are made, therefore making porting to other target processors and systems is made easy. There have been reports where, if the target processor architecture is familiar, that porting was accomplished in three days.
  • High efficiency performance and low RAM usage
    For a kernel where most parts are written in C, high efficiency performance and low RAM usage is realized
  • Simulation environment on Linux and Windows
    Simulation environments for JSP kernel to run on Linux and Windows are available. These simulation environments switch multiple tasks within one process in Linux/Windows. It is the best suited for proto-type development of embedded systems, logic level verifications, and real-time learning experiences.
  • It is possible to construct systems solely using free software
    GCC and GNU develop environment are standard software develop environments. Therefore the user can acquire not only the kernel itself, but also the develop environment free and develop a system.

Target system

The JSP kernel supports the following target processor/target system at this time.

Directory Develop environment

Processor (product no.) System (manufacturer)
m68k GNU develop environment
  M68040(MC68LC040) DVE-68K/40 (DENSAN CO., LTD.)
sh3 GNU develop environment
  SH3(SH7709A) MS7709ASE01 (Hitachi ULSI Systems Co.,Ltd.)
SH3(SH7729R) MS7729RSE01 (Hitachi ULSI Systems Co.,Ltd.)
SH3(SH7727) MS7727CP01 (Hitachi ULSI Systems Co.,Ltd.)
SH4(SH7750) MS7750SE01 (Hitachi ULSI Systems Co.,Ltd.)
sh3-ghs GHS develop environment
  SH3(SH7709A) MS7709ASE01 (Hitachi ULSI Systems Co.,Ltd.)
SH3(SH7727) MS7727CP01 (Hitachi ULSI Systems Co.,Ltd.)
sh1 GNU develop environment
  SH1(SH7032) KZ-SH1-01(Kyoto Microcomputer Co.,Ltd.)
 T RISC assessment kit SH-1(CQ Publishing Co.,ltd.)
SH1(SH7034) µITRON onboard SH1CPU board (CHUO ELECTRIC WORKS Co.,LTD.)
sh2 GNU develop environment
  SH2(SH7145) AP_SH2F_6A (Alpha Project)
SH2(SH7615) HSB7615IT (Hokuto Denshi co,. ltd.)
h8 GNU develop environment
  H8(H8/3048F) AKI-H8/3048F(Akizuki Denshi Tsusho Co., Ltd.)
H8(H8/3052F) AKI-H8/3052F(Akizuki Denshi Tsusho Co., Ltd.)
H8(H8/3067F) AKI-H8/3067F(Akizuki Denshi Tsusho Co., Ltd.)
H8(H8/3068F) AKI-H8/3068F(Akizuki Denshi Tsusho Co., Ltd.)
H8(H8/3069F) AKI-H8/3069F(Akizuki Denshi Tsusho Co., Ltd.)
h8s GNU develop environment
  H8S(2350) H8S/2350 assessment board (MISPO Inc)
armv4 GNU develop environment
  ARM9 (ARM922T) KZ-ARM9EXPCI-01(Kyoto Microcomputer Co.,Ltd.)
armv4-ghs GHSdevelop environment
  ARM9 (ARM920T) Integrator/AP+CM920T(ARM)
ARM9E(ARM966E-S) Integrator/AP+CM966E-S(ARM)
m32r GNU develop environment
  M32R(M32102S6FP) M3A-2131G50(Mitsubishi Electric Corporation)
microblaze GNU develop environment
  MicroBlaze MIREF(YDK)
MicroBlaze MIRE_MULTI3000(YDK)
MicroBlaze MultiMedia Board(Xilinx)
tms320c54x Texas Instruments develop environment
  TMS320C54x(TSM320C5402) TMS320VC5402 DSK(Texas Instruments)
xstormy16 GNU develop environment
  xstormy16 SANYO Micricontrollers develop tool
(SANYO Electric Co., Ltd.)
mips3 GNU develop environment
  MIPS3(VR4131) KZ-Vr4131PCI-01(Kyoto Microcomputer Co.,Ltd.)
MIPS3(VR5500) RTE-VR5500-CB(64) (Midas lab Inc.)
m16c-renesas Renesas develop environment
  M16C(M30620FCAFP-CPU) OASKS16 (OAKS ELECTRONICS CO., LTD )
M16C(M30262F8FG-CPU) OAKS16-MINI (OAKS ELECTRONICS CO., LTD )
s1c33 GNU develop environment
  SC33 DMT33209(EPSON)
SC33 LUXUN2(EPSON)
powerpc32 GNU develop environment
  PowerPC32(MPC860T) TB6102S (TANBAC Co.,Ltd.)
nios2 GNU develop environment
  Nios2 NiosII Development Board (ALTERA)

TOPPERS/JSP kernel release1.3 supports the following target processor/target system.

Target processor Target system
M68040(MC68LC040) DVE-68K/40 (DENSAN CO., LTD.)
SH3(SH7709A) SH-CARD CARD-E09A (SeikoEpson)
SH3(SH7709A) MS7709ASE01 (Hitachi ULSI Systems Co.,Ltd.)
SH3(SH7709) MU-200-RSH3(Mitsubishi Electric Micro-Computer Application Software Co.,Ltd. )
SH3(SH7708) DVE-SH7700 (DENSAN CO., LTD.)
SH4(SH7750) CQ RISC assessment kit/SH-4(CQ Publishing Co.,ltd.)
SH1(SH7032) KZ-SH1-01(Kyoto Microcomputer Co.,Ltd.)
 T RISC assessment kit SH-1(CQ Publishing Co.,ltd.)
SH1(SH7032) SH1/CPUB (Tokiwa & Co., Inc.)
H8(H8/3048F) AKI-H8/3048F(Akizuki Denshi Tsusho Co., Ltd.)
H8(H8/3067F) AKI-H8/3067F(Akizuki Denshi Tsusho Co., Ltd.)
H8S(H8S/2350) H8S/2350 EVA(MISPO Inc)
ARM7TDMI(KS32C50100) Evaluator-7T(ARM)
V850(΃VPD703107) RTE-V850E/MA1-CB (Midas lab Inc.)
M32R(M32102S6FP) M3A-2131G50(Mitsubishi Electric Corporation)
MicroBlaze Insight VirtexII V2MB1000(MEMEC)
TMS320C54x(TSM320C5402) TMS320VC5402 DSK(TI)
i386 PC/AT compatible machine

Simulation environment

As a JSP kernel simulation environment, a Linux based environment and a Windows based are available. These simulation environments are activated within a process of Linux/Windows by switching multiple tasks, and can be used as a thread library as well.

Also in the below processor, by applying program(s) provided by GNU and develop tool environment provided by manufacturers embedded microcomputer actions can be simulated on personal computers and can activate JSP kernel without having assessment boards ready. For simulation tool information, see the document attached to the JSP kernel release package.

Processor Simulation tool
Xstormy16 SANYO Microcontrollers develop tool

Develop environment

GNU develop environment such as GCC is appointed as TOPPERS/JSP kernel’s standard software develop environment. GCC extension functions, such as inline function and inline assembler function, are utilized in some parts. However, for target processors not supported by the GNU develop environment, other type of compiler is utilized. For example, Visual C++ is used for Windows simulation environment.

Patch for GCC
A patch is necessary when using C++ binding with JSP kernel 1.4., the following patch is used for avoiding impediment which occurs during the make process of GCC3.2.3 on Cygwin.
  • gcc-3.2.3_fixinc_gnu-regex.patch
The below is utilized to correspond GCC to TOPPERS/JSP kernel
  • gcc-3.2.3_gthr-toppers-1.patch
For details, see the document included in the JSP kernel kit or replies of the users mailing list.
GNU develop environment
Within the GNU develop environment BINUTILS, GCC_CORE and GDB is specifically needed. If a standard library is necessary for the application program, NEWLIB can be employed. Cygwin is needed if the develop environment is constructed on Windows. Source codes can be downloaded from the following links:

GNU develop environment:
GNU Project, Ring Server
NEWLIB:
Red Hat
Cygwin:
Red Hat, Ring Server
BINUTILS, GCC_CORE, and GDB binary for Cygwin SH can be obtained from the below link. Open at /usr/local/ and make a path to /usr/local/sh/bin to use.
Develop environment binary package (SH, Cygwin)

When performing a remote debugging utilizing GDB (GNU debugger) by connecting the host machine and target system using a serial interface, a program called a stub is needed on the target system. The following are stub source programs which have been reconstructed so is can be used with the TOPPERS/JSP kernel.

SH3 stub (approx.30KB)
68040 stub (approx.24KB)
Simple monitor for H8

Simple monitor for H8 is distributed below. The H8 flash ROM by Renesas Technology Corp. has limited rewrite capacity. Therefore, writing the debug module to the flash ROM and debugging is not an ideal method. The H8 simple monitor is a program which loads the debug module to RAM for execution.

Write the H8 simple monitor to the flash ROM and load the debug module to the RAM of the H8 or a RAM setup externally for debugging. By this, the problem of limited times of rewriting to the flash ROM can be circumvented.

The below is a summary of the H8 simple monitor.

  • The target system is AKI-H8/3048F, 3052F, 3068F and 3069F by Akizuki Denshi Tsusho Co.
  • The monitor is designed to conform with the TOPPERS/JSP kernel for H8, and it is possible to load a debug module embedded with the TOPPERS/JSP kernel for H8 to RAM and execute.
  • A virtual interrupt vector can be set in the internal RAM of the H8. The H8/3048F is compatible with the monitor debugger by Akizuki Denshi Tsusho Co.
  • There is a function to display/change the memory contents.
Simple monitor for H8 (72KB)

Other target systems


Currently porting and to be ported processors
Porting to Nios is in progess
GDB stub for SH
ITIM, Miyagi Prefectural Government is distributing a GDB stub which conforms to the RISC assessment kit SH-1 debugger from the following link --> LINK
Blackfin
Suikan has ported to Blackfin, DSP by Analog Devices. Information concerning this topic can be found here.
Xtensa
Sophia Systems Co., ltd supports porting to Xtensa processor

Other simulation environments


Plamo Linux
Reports on modifications that were needed when compiling and executing on Plamo Linux 2.1from Masami Kishida can be found here.
PPC Linux
Takayuki Yamaguchi built a Linux simulation environment on PPC Linux. There are minor glitchs, but there are no problems with the basics. Information about this topic can be found here and here.
Free BSD
Logs, reported by Satoshi Funada, of execution of FreeBSD on Linux emulator can be found here.
Cygwin
ma2tak has made a Linux simulation run on Cygwin. Conditions are unstable. Information concerning this topic can be found here.

Development staff

TOPPERS Project members who are development staff for the TOPPERS/JSP kernel are as follows (association is of when the member joined TOPPERS)

Name Association period Supervision
Hiroaki Takada Toyohashi University of Technology Department of Information and Computer Sciences (currently Nagoya University Graduate School of Information Science) 2000 - main body JSP kernel, M68040
Takayuki Wakabayashi Toyohashi University of Technology Department of Information and Computer Sciences 2000 - Windows simulation environment, configurator, V850(JSPkernel1.3), M32R
Shinya Honda Toyohashi University of Technology Department of Information and Computer Sciences (also Nagoya University Information Technology Center) 2000 - SH3, SH4, ARMV4, MicroBlaze, Nios2
Linux simulation environment
Kazuhiko Imai Industrial Technology Institute, Miyagi Prefectural Government 2000 - SH1,PowerPC
Tsukasa Abe Tomakomai National College of Technology Department of Computer Science & Engineering 2001 - H8
Masaki Muranaka Monami Software, LP 2001 - i386
Reiji Nishiyama Toyohashi University of Technology Department of Information and Computer Sciences
2001 -
2004
TMS32054x
- Industrial Technology Institute, Miyagi Prefectural Government 2002 - H8S
Tatsuhiko Matsukawa SANYO Electric Co., ltd. 2003 - Xstormy16
- Industrial Technology Institute, Miyagi Prefectural Government 2003 - MIPS3

* Names of development staffs are listed with permission

 

Copyright (C) 2000 - 2003 by TOPPERS Project. All Rights Reserved.
POWERED BY TOPPERS PROJECT.