Target: Renesas H8/300

The Renesas H8/300 processor is an early model of the Renesas "H8" family, now rather out of date. One of its most visible applications was in the original Lego Mindstorms® robotics kit, as the processor in the Lego "RCX brick" that controls the robots (see Kekoa Proudfoot's RCX internals page). The Lego Mindstorms® kit is sometimes used to teach real-time, embedded programming and robotics. Thus the H8/300 version of the Bound-T execution-time and stack-usage analyser was built in collaboration with Mälardalen University, as described in Samuel Petersson's thesis, and has been used there in lab exercises as reported by a paper in the WCET'2005 workshop). This page shows:

The H8/300 processor

The H8/300 is an 8/16-bit processor with a unified code and data memory space (von Neumann architecture). Memory addresses are 16 bits so at most 64 KiB of code and data can be addressed (without paging or banking schemes). The execution times of all instructions are generally fixed, although access to off-chip external memory and on-chip I/O registers can involve some wait-state or clock-synchronization delays.

Supported H8/300 features

Bound-T for the H8/300 models the full instruction set for timing analysis and stack usage analysis. Command-line options set the number of wait-states to be assumed for reads and writes to external memory.

For stack-usage analysis Bound-T models only the native H8/300 stack, with the stack pointer register SP = R7. Possible compiler- or application-defined stacks are not modelled. The SP stack can be assumed to lie in internal RAM or external RAM, by command-line option.

Memory banking schemes are not currently supported, but may be added if required.

Supported H8/300 devices

Bound-T for the H8/300 knows about the following H8/300 devices:

If you would like to use Bound-T for some other device in the H8/300 series, ask Tidorum if support can be provided.

Supported H8/300 cross-compilers

Bound-T for the H8/300 has been tested and used with GNU GCC-based compilers and with the IAR H8/300 C compiler.

Bound-T can read H8/300 executable programs in COFF, S-record, and UBROF format (UBROF is an IAR proprietary format).

Tidorum will be happy to check Bound-T against your chosen H8/300 compiler, assuming the compiler is available for download (perhaps in limited "demo" form) or that you can provide Tidorum with some test programs in executable form.

Documentation

Document (PDF) Description
Renesas H8/300 Application Note Describes the capabilities of Bound-T for the H8/300 and how to use it. See also the general Bound-T manuals.

Examples

Here is a small H8/300 program with some examples of its WCET and stack-usage analysis with Bound-T.



Valid HTML 4.01 Transitional