 |
|
 |
MAEC TOOL NEWS:
MAECT-M3T-PD32RSIM_2-021216D
A Note on Simulator Debuggers M3T-PD32RSIM, M3T-PD308SIM, M3T-PD30SIM, M3T-PD79SIM, M3T-PD77SIM, and M3T-PD38SIM
|
Please take note of the following problem in using simulator debuggers M3T-PD32RSIM, M3T-PD308SIM, M3T-PD30SIM, M3T-PD79SIM, M3T-PD77SIM, and M3T-PD38SIM:
- Products and Versions Concerned
- M3T-PD32RSIM V.1.00 Release 1 -- V.1.10 Release 1 for the M32R family
- M3T-PD308SIM V.1.00 Release 1 -- V.3.00 Release 2 for the M32C/80, M16C/80, and M16C/70 series
- M3T-PD30SIM V.3.00 Release 1 -- V.5.00 Release 1 for the M16C/60, M16C/30, M16C/20, and M16C/10 series
- M3T-PD79SIM V.1.00 Release 1 -- V.3.10 Release 1 for the 79xx series
- M3T-PD77SIM V.1.00 Release 1 -- V.3.00 Release 1 for the 77xx series
- M3T-PD38SIM V.1.00 Release 1 -- V.2.00 Release 1 for the 740 family
- Description
When coverage data is set using either of the following methods, the simulator debugger may be hung.
(1) Coverage data is set using the _cv_set_data function of the CBxxSIM custom builder.
(2) The coverage data saved by the Save function in the Coverage window is read out using the Load function.
- Condition
This problem occurs if the following condition is met:
The last one byte* of the coverage data has the value "00" and the next to last one byte has the one other than "00".
* One byte of coverage data stores the data covering the 8 bytes of the addresses beginning at an 8-byte alignment.
Whether the coverage data to be set meets the above condition or not can be checked by the following method:
- Specify the address range of the coverage data using the CoVerage command (a script command) and display the results of the coverage measurement as addresses represented in 4 byte wide.
The address range can be specified by three items in the CoVerage command: CoVerage global, the starting and the ending address.
Be sure to specify the starting and ending addresses in 8 bytes wide.
- Specified starting address = Actual starting address / 8 * 8
- Specified ending address = Actual ending address / 8 * 8 + 7
Example of setting coverage data from addresses 0C0002h through 0C00FBh:
--------------------------------------------------------------------------
> CoVerage global, C0000, C00FF
ADDRESS.> 0 1 2 3 4 5 6 7 8 9 A B C D E F
0C0000 FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC00
--------------------------------------------------------------------------
In this example, the last one byte of the coverage data is "00" and the next to last one byte is "FC", so the condition is met.
- Workaround
When setting coverage data, specify the following addresses in order not to meet the condition in 3.:
(1) the ending address when coverage data is set using the _cv_set_data function
(2) the ending address of the coverage-storing area when coverage data is saved by the Save function in the Coverage window.
- Schedule of Fixing the Problem
For M3T-PD308SIM, M3T-PD30SIM, M3T-PD79SIM, M3T-PD77SIM, and M3T-PD38SIM, we plan to fix this problem in our next release of them.
For M3T-PD32RSIM V.2.00 Release1, the problem has already been fixed.
And, for M3T-PD32RSIM V.2.00 Release1, the problem-fixed product can be downloaded free of charge from HERE.
|
 |