- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
- USB drivers
When connecting to an emulator you will be asked for USB drivers. These are available both on the installation media and in the \Drivers\Renesas folder in the installation directory.
- Stack window and performance
The C-SPY Stack window performs read/write to memory at every single step and reset. To improve performance, the stack window can be turned off in Tools -> Options -> Stack.
New features
- There is now a search box in the C-SPY Register window for finding a specific register.
- It is now possible to sort the entries in the C-SPY Statics window by clicking on the respective column header.
- If a selection is made in the C-SPY Memory window, then the Find and Replace context menu commands now operate just on this selection.
- The new C-SPY macro __MessageBoxYesNo displays a Yes/Cancel dialog box and returns the user input. Typically, this can be useful for creating macros that require user interaction.
Known Problems
- LMS2-574
The C-SPY debugger will not work with Windows 10 version 1803 and USB dongle licenses due to an error in the License Management system. The workaround is to configure Windows 8 compatibility mode.- Right-click the IAR Embedded Workbench icon on the Windows start menu
- Select More > Open file location
- Right-click the IAR Embedded Workbench shortcut
- Select Properties
- Open the Compatibility page
- Choose Run this program in compatibility mode for: Windows 8
- Click OK
- EW25244/EWM16C-455
For C-SPY Watch and Memory windows, the wrong address is shown for bitfields declared with the extended keyword __bitvar. A workaround is to declare the bitfield with @ address notation.
Program Corrections
- None
User guide corrections
- E100 emulator
A new option has been introduced in the hardware setup:
Using IRON is set to "1" (b1 of 0x000010)
To enable or disable the program ROM1 area, specify the IRON (first bit of program 2 area control register) setting. When using the user program with IRON set to 1, select this check box.
Miscellaneous
- No longer supported emulators
From version 3.71 and onwards, the Renesas emulators PC7501, Compact and E8 are no longer supported.
Release history
3.70.1, October 2014
New features
Two new C-SPY windows have been added to easier manage C-SPY macros. The Macro Registration window controls which macro files are loaded and the Debugger Macros window shows a list of all macros available in the debugger.
In the C-SPY Watch window family, it is now possible to save current window contents to a text file with a new Save All To File entry in the context menu.
3.60.1, June 2010
New features
- Sampled Graphs in C-SPY
It is now possible to specify variables for which you want to collect data samples. You can view the sampled data either in table format in the Data Sample window or as graphs in the Sampled Graphs window. - Custom SFR window
It is now possible to define custom SFR's (special function registers) in C-SPY with selectable access size and type. - Macro Quicklaunch window
The new Macro Quicklaunch window makes it possible to evaluate expressions and to launch C-SPY macros. The return value from the evaluated macro or expression is shown in a separate column and the user can re-trigger the evaluation at any given point.
3.50.3, December 2012
New features
- If you select the options Program Flash and Execute the user program efter ending the debugger in the E8a settings dialog box, C-SPY now disconnects the hardware and triggers a reset to start program execution.
3.50.2, May 2012
New features
- Renesas R8C devices with memory above address 0x23FFF are now supported.
- E100 updated to work with latest Renesas API (E100M16C.DLL V.1.03.00.002 and FFWE100M16C.DLL V.1.05.00.000).
Program corrections
- EW23189
It was not possible to set/remove breakpoints in C-SPY during program execution in E8a.
3.50.1, November 2010
New features
- E100 emulator debugger improvements
Live Memory and Live Watch are now supported via the RAM-monitor feature in E100. Furthermore, it is now possible to set complex data breakpoints that are triggered when data is accessed at a specified location and under a specified condition.
Program corrections
- EW21847
When the E8a emulator mode Program Flash was used, the message "A fatal error has occurred" appeared despite the fact that the program was loaded correctly on the target. This has been corrected. - EW21712
The Live Watch window now works for the E8a emulator.
3.40.5 - Patch release - 2009-10-29
New features
- A new option has been introduced in the E100 hardware setup:
Using IRON is set to "1" (b1 of 0x000010)
To enable or disable the program ROM1 area, specify the IRON (first bit of program 2 area control register) setting. When using the user program with IRON set to 1, select this check box. - Setting breakpoints during program execution is now supported for the E100 emulator.
- The Renesas debugger API has been updated to:
M16C R8C E100 Emulator V.1.02.00 - The Renesas E8a debugger API was updated
- If all available hardware breakpoints were used with E8a, single-stepping on C level was very slow in the previous version due to that software brekpoints had to be used. This has now been implemented in a much more efficient way.
Program corrections
- EW21370
The simulator did not handle the interrupt priority level of the status register correctly for interrupt simulation. - EW21345
Due to a name conflict, C-SPY issued "[Syntax error, unexpected TYPE_name,expecting IDENTIFIER] <internal> line 1, column 23" when stepping through a certain code example. - EW21273
For E100 and large amounts of trace data, C-SPY sometimes generated the error "Fatal error:Unknown exception in driver (#E6)". - EW21389
The function Step-over did not work for E8a at dis-assembly level. - EW21370
The simulator did not handle the interrupt priority level of the status register correctly for interrupt simulation. - EW21345
Due to a name conflict, C-SPY issued "[Syntax error, unexpected TYPE_name,expecting IDENTIFIER] <internal> line 1, column 23" when stepping through a certain code example.
3.40, July 2009
New features
- Downloading multiple images with C-SPY
C-SPY is now able to download multiple images/applications at the same time. Under Project options>Debugger>Images you specify the location of the images that shall be downloaded in addition to the current application. There is also a new debugger window called Images where you select for which application debug information shall be displayed. - Debug without downloading
You can now start the debugger with or without downloading code, using two new buttons on the toolbar and two new Project menu entries. There are also two new corresponding ways to restart the debugger during the debug session. - Edit breakpoints
When you open the context menu from a row with one or more breakpoints, an entry Edit Breakpoint is now available. This will open the Edit Breakpoint dialog box that previously was available only from the Breakpoint window. - Auto refresh in Memory window
The C-SPY Memory window now has two new buttons on the toolbar. One button refreshes the window once and one button activates periodical refreshing of the window as long as the debugger is running. - Symbols debugger window
A new Symbols debugger window has been added. It displays the complete list of symbols used within the project including symbols from libraries, that you do not have the source for and assembler labels, which are not conveniently visible in any other window.
Program corrections
- EW20733
The ID code was not written properly to the target for E8a when used in flash programming mode.
3.30C, November 2008
New features
- With this update, the M16C/64, M16C/65 and R8C/3x families are supported with the E8a emulator.
3.30B, July 2008
Program corrections
- EW20261
The E8a Emulator setting dialog sometimes appeared when it shouldn't.
3.30A, June 2008
Program corrections
- EW19647
C-SPY reported "A fatal error has occurred. The debugger will terminate." when loading certain UBROF files. - EW20141
On R8C devices, 16-bit SFR registers were incorrectly displayed in the Register window for E8a. Due to implementation reasons, corresponding values in the Memory window are still not displayed correctly. - EW18750
When using the C-SPY option Verify download, the E8a driver no longer gives an error message due to the fact that the emulator is in control of some of the interrupt vectors.
3.21E, September 2007 (Update)
Program corrections
- EW19471
The UND instruction was reading the interrupt vector on the wrong address for R8C devices.
3.21C, May 2007 (Update)
Program corrections
- EW19133
The C-SPY simulator feature Forced interrupts did not work correctly. - EW19134
For R8C, the C-SPY Memory Window was limited to show addresses up to 0x1FFFF only.
3.21A, December 2006
Program corrections
- EW18206
The C-SPY E8 emulator driver no longer performs an unnecessary Go-Stop-Reset sequence during startup. - EW18232
The "Program flash" emulator mode of the E8 emulator no works properly.
3.20B, October 2006 (Update)
Program corrections
- EW18438
ADD.W #imm, SP would set the S-flag in the FLG register if bit 8 was set instead of bit 16.
SHA.W #imm, <dest> would set the O-flag in the FLG register incorrect for almost all negative imm values.
MUL.(W|B) #imm, <dest> would always treat imm as a positive number even if it was negative. The <dest> value was treated correctly.
3.20A, March 2006
Program corrections
The instruction __RMPA_W produced wrong result in the simulator.
The CCTIMER registers could not be reset via a breakpoint action. Also, the display value was truncated to 16-bits.
All local variables were shown relative to USP. Due to this, local variables had erroneous values in interrupt functions and whenever the U bit in the flag register was manually set.
The C-SPY simulator did sometimes not update auto variables in the Watch/Locals window.
3.10A, December 2004
Program corrections
After a manual change of a value in the registry window, the registers A0/A1 were erroneously swapped.
The S and Z flags were not simulated correctly for the INC.B and ADJNZ.B instructions.
2.12A, November 2003
2.11A, July 2003
Program corrections
- EW14035
The simulator and ROM-monitor did not support the __bitvar attribute. If any __bitvar variable occurred in the code, an error message would appear at download.
2.10A, February 2003
Program corrections
- EW12559
An internal error "The memory could not be written..." could sometimes appear when debugging in disassembly mode.
- EW12560
The instruction WAIT was not simulated correctly. Once executed, the program did not continue even if an interrupt occurred.
- EW12996, EW12989
When using MUL(U).W with a memory destination such as abs16 or any indexed addressing mode, the simulator would erronously report an error.
- EW13163
C-SPY did not simulate special page function access correctly because of wrong address calculation.
1.36A, April 2002
1.35D, October 2001
1.35A, June 2001
1.34A, October 2000
Program corrections
- M16CDTW0125
The cycle count for the instructionBTST:G 14,A0
was 3 but is now corrected to 2.
1.31C, October 1999
Program corrections
- M16CDTW0111
The cycle count was wrong onTST.B
- M16CDTW0112
The value in the watch window was incorrect for 64-bit doubles.
1.31B, September 1999
1.31A, September 1999 [Not Released]
Program corrections
- M16CDTW0098, EW316
Expanding arrays of stuct/union/class objects in QuickWatch or Watch window caused a C-SPY internal error.
1.30B, May 1999
- Demo version.
1.30A, March 1999
Program corrections
- M16CDTW0072
In disassembly mode, the displacements for A0, A1 and SB were shown as signed values, even though they cannot be negative. The simulation of the instruction was correct.
- M16CDSW0080
The SP register value was hardwired to the USP register. The U-flag value was ignored. Now, SP correctly picks its value from USP or ISP depending on the U-flag.
- M16CDTW0081
The SP register was always used as frame pointer. Usually, but not always, it is synchronized with the actual frame pointer (SB, A0 or A1). In combination with [M16CDSW0080] it made it difficult to debug the code in interrupt functions or when using RTOS. The information is only used for debugging variable information, and does not influence the instruction execution.
- M16CDTW0082
Due to incorrect interpretation of the debug information when source code was included in the debug file, C-SPY sometimes stopped with an internal error: "read_formal_M30: funny sc 15/0
"
- The C-SPY GUI is updated to 2.30D.
- Several minor bugs fixed in the GUI.
- Several new or modified system macros (se section 2 above).
- Structure browser available in the Watch and Local windows
- Code coverage analyzer.
- Code profiling analyzer.
- Modified registers are shown in alternate color.
- Windows 3.1x is not supported anymore.
1.02C, August 1998
1.02B, August 1998
Program corrections
- M16CDSW0046
An internal error "ReadBitfields_M32 funny INT size for bits
" was raised when bitfields were declared as volatile.
- M16CDSW0047
The DIV simulation sometimes failed when negative arguments were used.
- M16CDSW0054
The DIV/DIVU simulation sometimes failed due to incorrect truncation of the input arguments.
- M16CDSW0062
The carry flag was not cleared correctly in the simulation of the SUB.B instruction.
- New GUI, version 2.10D, with some bug fixes.
1.02A, February 1998
- The debugger now accepts UBROF6 as debug file format. UBROF6 format is now the default debug output format from the IAR compiler and assembler for M16C.
1.01C, February 1998 (not official)
Program corrections
- M16CDSW0034
The addressing mode dsp:16[An] was shown incorrectly in the disassembly window when the instruction size was byte. Only one byte of the displacement was shown. Displacement is shown with decimal numbers.
- M16CDSW0035
An internal error or protection fault could occur when switching between C/Assembler code or when scrolling the Assembler source code. The behavior was very indeterministic and was due to errors in the compiler that was used to build the product.
- The syntax for relative interrupts has changed to be consistent with the compiler. Now a byte offset should be used instead of the interrupt vector number. See the manual correction above.
1.01B, November 1997
Program corrections
- M16CDSS0021
LDC for INTBH simulated incorrectly. Always zero result.
- M16CDSS0024, M16CDSS0027
DIV/DIVX simulation was incorrect for negative arguments.
- M16CDSS0025
LDIPL had no visible effect.
- M16CDSS0026
DADD (and relatives) gave incorrect result in some situations.
- The disassembler now shows negative immediate arguments and offsets in a more consistent way.
- Corrected some minor errors in POPM simulation.
- Corrected problem with negative arguments for CMP.
- The help files for M16C are included instead of the help files for Melps-740 family simulator.
- Using version 2.10B of the C-SPY GUI (CW21.EXE)