The I/O DLL kit provides a means for extending the functions of the simulator debugger in the High-performance Embedded Workshop integrated development environment (IDE). This kit supports the creation of I/O DLLs. The I/O DLL refers to a DLL (Note1) that operates in cooperation with the simulator engine of the simulator debugger.

Once the necessary settings are made, the simulator debugger allows you to load an I/O DLL and operate it synchronously with the timing at which instructions are single-stepped, memory is read or written or an interrupt occurs. That way, the operation of the input/output ports or the internal peripheral functions of the microcomputer can be simulated as a means of debugging the target program. Furthermore, linked operation with an external tool can be realized by, for example, sending and receiving data to and from that tool.

Any desired I/O DLL can be created by using C/C++ language. To create an I/O DLL, you need to have Microsoft Visual C++, a Windows application development environment available on the market.


  1. DLL is the acronym of Dynamic Link Library. This is a function of the operating system that allows you to save executable routines (routines that supply a specific function or a set of functions) to be saved separately as a file with the extension ".dll". These routines are loaded only when they are needed by the calling program.

Learn More

Target Devices


Type Title Date
Software & Tools - Other Log in to Download EXE 2.32 MB 日本語
Software & Tools - Other Log in to Download EXE 1.81 MB 日本語
2 items


Type Title Date
Release Note PDF 68 KB 日本語
Manual - Development Tools PDF 359 KB 日本語
2 items

Additional Details

Linkage Between the Simulator Engine and I/O DLL

The simulator engine calls the functions that have been predefined on the I/O DLL side synchronously with the timing shown below:

  • After executing one instruction (number of execution cycles)
  • Before execution (PC value)
  • When the target is reset
  • When an interrupt occurs
  • Immediately before memory read (address information)
  • Immediately after memory write (address information)

Conversely, the following functions that have been made public for the simulator engine can be called from the I/O DLL side:

  • Get memory contents
  • Set a memory value
  • Get a register value
  • Set a register value
  • Interrupt occurrence
  • Confirm interrupt occurrence condition
  • Inspect the total number of cycles executed

Processing flow

Supported Simulator Debuggers

This I/O DLL kit is available for the following simulator debuggers in the compiler packages :

Note: This I/O DLL kit is NOT supported by the M3T-PDxxSIM simulator debuggers. For M3T-PDxxSIM, use the PDxxSIM I/O DLL Kit.

Development Tools Used

To create an I/O DLL, you need to have Microsoft Visual C++, a Windows application development environment available on the market.

Sample Programs

The following sample programs are stored in a location at the hierarchical level below the directory in which this I/O DLL kit is installed. Refer to the release note for details on how to install the I/O DLL kit.

  • I/O DLL to link with Excel from Microsoft Corporation
  • I/O DLL to read/write data from a file
  • I/O DLL to simulate the operation of a microcomputer's internal peripheral functions