Overview

The RI600/PX was developed based on the RI600/4, which conforms to the latest version of μITRON 4.0 specification and with additional memory protection function of the μITRON 4.0 protection extension. Almost all service calls in it except Rendezvous are supported.

Note: RI600/PX is not generally promoted to U.S. and European customers. Customers in U.S. and Europe who are interested in RI600/PX are requested to contact our regional marketing departments for details.

  • Only the memory object protect function of µITRON 4.0 Specification for Protect Function Extension is supported, and the kernel object protect function is not supported.
  • TRON Forum holds the copyright on the μITRON Specification.
  • TRON, ITRON, and μITRON do not refer to any specific product or products.

Release Information

Latest Ver.: V.1.01 Release 01

Released: Apr 16, 2013

Details of upgrade (See Tool News)

Operating Environment

Agreement Details

 User's Manual

Features

  • Compliant with μITRON 4.0 Specification
    The RI600/PX was developed based on the RI600/4, which conforms to the latest version of μITRON 4.0 specification and with additional memory protection function of the μITRON 4.0 protection extension. Therefore, the knowledge acquired from μITRON specification-related various publications or seminars, etc. can be made use of directly. In addition, the application programs developed using other μITRON-compliant real-time OS's can be ported to the RI600/PX relatively easily.
  1. Increased processing speed
    The memory protection function enables high-speed processing with minimum effect on the system since it is realized by controlling part MPU (Memory Protection Unit) of RX600 series.
  2. Systems always built to minimum size by automatically selecting only the necessary modules
    The RI600/PX kernel is supplied in the library form. This means that from among numerous functional modules of the kernel, only those that an application uses are automatically selected, thanks to the functionality the linkage editor has. Therefore, systems are always generated in minimum size.
  3. Efficient development possible by making use of the integrated development environment
    Renesas' integrated development environment, or High-performance Embedded Workshop, can be used as you proceed with development work. High-performance Embedded Workshop supports the function to generate workspaces for RI600/PX-compatible applications. Furthermore, the real-time OS debug functions of High-performance Embedded Workshop are also usable for the RI600/PX.
  4. Kernel building made easy by the configurator
    The RI600/PX comes with the command line configurator cfg600px. By only writing various kernel-building information in a text-format cfg file, it is possible to build the kernel. This configurator information, as it is created in text form, can be altered and maintained easily.

About Memory Protection

  • High-reliability system
    To reduce a possibility of being unable to detect program glitches when debugging the program and causing a trouble in the market after the system has been shipped from the factory, this OS assures the system of high reliability.
    If memory data destruction occurs especially in a memory area in which the OS, etc. are stored, the system may produce a dangerous condition by, for example, operating erratically. However, since this OS is free of memory data corruptions, the system can continue operating normally, and is therefore assured of high system reliability
  • Debug assistance
    In systems without memory protection, a corruption of memory content by an illegal pointer behavior, etc. generally is not noticed until it actually comes to the surface as a trouble symptom. The cause of a bug can only be identified by analyzing emulator's trace data, which requires a large amount of time. The RI600/PX can detect a bug when an illegal memory access is committed, enabling the debugging efficiency to be greatly increased.
     

The memory protection which supports RI600/PX is described below.

  1. Detection of illegal access by tasks.
    Tasks belong to either of domain. Furthermore, a part of address space is allocated as some memory object. A domain can be set access permissions (read, write and execute) for each memory object. The Access Exception Handler will be called if a task accesses the area that has not been permitted. In addition, handlers can access all address space.
  2. Protection of stack for task.
    Task cannot access the stack for another task. The Access Exception Handler will be called if a task accesses a stack for another task.
  3. Detection of illegal access by the kernel.
    Because of the kernel as well as a handler can access to all address space. Therefore, if an invalid pointer parameter is specified to a service call, the kernel commands itself an illegal access. To avoid such a consequence, the kernel inspects whether the task that invoked a service call can access to the space referred to by the pointer area. When it detects an illegal access, the service call returns an error.

  

Functions

The RI600/PX kernel consists of the following modules. Each module is provided by functions (service calls) .

  • Scheduler
    Manages execution sequence of multiple tasks based on their priority levels.
  • Task management
    Manages task status such as RUNNING, READY, WAITING or SUSPENDED.
  • Task-dependent synchronization
    Changes task status from other task, and synchronizes tasks.
  • Interrupt management function
    Makes a return from the interrupt handler.
  • Time management
    Sets system timer used by RI600/PX kernel and starts user-defined alarm handler and cyclic handler.
  • System configuration management
    Reports information such as version number of RI600/PX kernel.
  • Synchronization/communication
    Carries out synchronization and communication between tasks. The following function modules are available:
    • Event flag
      An object to control the execution of a task according to the AND/OR condition represented by bit pattern.
    • Semaphore
      An object for exclusive control of shared devices and variables for two or more tasks.
    • Mail box
      An object to communicate an arbitrary-length message by pointer passing.
    • Data queue
      An object to perform 1-word (32 bits) communication.
  • Extended Synchronization/Communication
    Carries out synchronization and communication between tasks. The following function modules are available:
    • Message buffer
      Makes use of variable-length data communication to synchronize tasks.
    • Mutex
      Makes use of priority ceiling protocol for avoiding priority inversion to synchronize tasks.
  • Memory pool management
    Dynamically allocates/frees memory area used by tasks. Enables efficient use of memory.
  • Task exception handling function
    Controls execution of task exceptions by, for example, defining or activating a task exception.
  • Cyclic handler function
    Controls the execution of a handler activated periodically.
  • Alarm handler function
    Controls the execution of a handler activated at the specified relative-time.
  • Memory protection function
    The following functions are available:
    1. Detection of illegal access by tasks
    2. Protection of stack for task
    3. Detection of illegal access by the kernel
     

Kernel specifications

Target device RX600 series with MPU (Memory Protection Unit)
Maximum number of tasks 255
Number of priority levels 255
Performance
(Time takes for a target task to be executed
after the wup_tas is issued.)
3.2 microseconds
(RX630, 100MHz)
Kernel code size From 6.3K bytes to 33.5K bytes
Kernel RAM usage per task data : 20 bytes
stack : 44 bytes

  

Components

Provided items Explanation Note
Kernel source program Kernel source program Provided only with mass- production licenses which include source code.
Kernel library Kernel library for system building Compliant with big/little endian
Standard header files ・ITRON specification common definition files
・Kernel specification definition files
・Other definition files
Header files are provided both in C languages
Command line configurator
(cfg600px)
Outputs all types of definition files from the cfg file that describes the structure parameters in text. -
Table generation utility
(mkritblpx)
Generates the Interrupt Vector Table and Service Call Jump Table. -
Manual User's manual PDF format

  

Processing Flow

Target Devices

Information supporting development tools

Title Description
My Renesas Create a My Renesas account to use our tool download services,
receive e-newsletter/update notifications, and take advantage of our other services.
e-learning Information for studying and learning about microcontrollers and microprocessors.
FAQ Frequently asked questions and useful hints for development.
Forum A forum and community site to share technical information,
questions and opinions with others who use Renesas MCU's.
Tool News Tool release information and other important information.
Operating Environment Information on system requirements and operating environment for the latest
version of tools.
Info on Discontinued Products A list of Renesas software and tools that have been discontinued and
are no longer being offered for new projects.