The PDxxSIM I/O DLL kit provides a means for extending the functions of the M3T-PDxxSIM simulator debugger. 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 M3T-PDxxSIM.

Once the necessary settings are made, the M3T-PDxxSIM 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.

Note

  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

Documentation & Downloads

Linkage Between the Simulator Engine and an 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
Image
Linkage Between the Simulator Engine and an I/O DLL

Supported Simulator Debuggers

The PDxxSIM I/O DLL kit is supported by the following simulator debuggers :

  • M3T-PD32RSIM V.2.00 Release 1 or later
  • M3T-PD308SIM V.3.00 Release 2 or later (Discontinued product)
  • M3T-PD30SIM V.5.00 Release 1 or later (Discontinued product)

Note: For the High-performance Embedded Workshop environment, use the 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 sample programs are stored in a location at the hierarchical level below the directory in which the PDxxSIM I/O DLL kit is installed (e.g., below c:\mtool\idoll\samples). Refer to the release note for details on how to install the PDxxSIM I/O DLL kit.

Sample Programs
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