Skip to main content



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.


The I/O DLL kit provides a means for extending the functions of the simulator debugger on High-performance Embedded Workshop. This kit supports the creation of I/O DLLs. The I/O DLL refers to a DLL(*1)  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.

Development Background

The simulator debugger is capable of debugging in the absence of a user target. However, peripheral I/O simulations of input/output ports, A/D conversion and interrupts are not supported. The simulator debugger supports an I/O simulation function to assist you in debugging a program that accesses the peripheral I/O. Use of this function enables you to simulate input/output to and from I/O ports, generation of interrupts and the operation of peripheral I/Os such as timers and A/D converters.

However, complicated I/O simulations cannot be realized unless they are written in an I/O script. I/O scripts had a problem that they need to be written in an original script language, which is difficult to learn. To solve this and other problems, we have developed an I/O DLL function that allows you to define I/O simulations by using Visual C++ from Microsoft Corporation.

Linkage between the simulator enigine 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

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.

Operating Environment

Depends on the operating environment of the simulator debugger used. Refer to the release note for each product for details about the operating environment of the simulator debugger.

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

About Questions and Requests

This I/O DLL kit is distributed on condition that no customer support will be provided. Nor will technical support be provided for Windows application development tools. Please understand that your questions may not all be answered.

How to get the I/O DLL kit

The I/O DLL kit (including a manual) is available at the Download site.

Related Resources

Get latest version
[01 Spt. 2007, Tool News]

End of content

Back To Top