Supported Simulator Debuggers
This I/O DLL kit is available for the following simulator debuggers in the compiler packages :
- Simulator Debugger for M16C Series and R8C Family
- Simulator Debugger for M32C Series
- Simulator Debugger for R32C Series
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
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.
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
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.
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.
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.