- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
-
The C-SPY macro
__loadModule(filename, suppress)
has been renamed to__loadImage(filename, suppress)
.
Upgrade information
- None
New features
- None
Known Problems
-
EW21067: Right-clicking in the editor window, when text in this view is selected, can under some circumstances cause error messages to be displayed in the Debug log window. These messages are harmless and can be ignored.
-
EW19031: Static class variables are in some cases not visible in the Watch window. The Statics window can be used as a workaround.
-
EW18439: If a macro is first defined, then undefined, and then defined again, the Watch window might display incorrect value for it.
Program Corrections
-
[EWAVR-950] The register group CPU no longer collides with the CPU Registers group.
User guide corrections
IAR Embedded Workbench® C-SPY® Debugging Guide for AVR®, UCSAVR-6
- None
Miscellaneous
-
Enhanced core
Remember that --enhanced_core enables these instructions:MOVW, MUL, MULS, MULSU, FMUL, FMULS, FMULSU, LPM Rd,Z, LPM Rd,Z+, ELPM Rd,Z, ELPM Rd,Z+ and SPM
-
Peripheral device simulation
The IAR C-SPY Simulator for Atmel AVR contains an API called EMMEN1. It allows third-party vendors to connect peripheral simulation modules to the IAR C-SPY Simulator, so that devices other than the CPU can be simulated, for example timers, UARTs, etc.Contact IAR Systems for more information about the EMMEN1 interface, and the availability of existing peripheral simulation modules.
Release history
7.10.2 - Service Pack - 2017-06-19
New features
- None
Program corrections
- None
7.10 - 2017-05-19
New features
- None
Program corrections
- None
6.80.7 - Service Pack - 2016-12-20
New features
- None
Program corrections
- None
6.80.6 - Service Pack - 2016-11-14
New features
- None
Program corrections
- None
6.80 - 2016-06-01
New features
- None
Program corrections
- None
6.70 - 2015-11-10
New features
- None
Program corrections
- None
6.60 - 2015-05-29
New features
- None
Program corrections
EW25224: Read/write breakpoints no longer cause C-SPY to crash.
6.50 - 2014-11-25
New features
- None
Program corrections
- None
6.40 - 2014-05-20
New features
-
Sampled Graphs in simulator
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.
Program corrections
- None
6.30 - 2013-12-13
New features
- None
Program corrections
- None
6.21.3 - Service Pack - 2013-10-08
New features
- None
Program corrections
- None
6.21 - 2013-05-23
New features
- None
Program corrections
- None
6.20.2 - Patch release - 2013-03-04
New features
- None
Program corrections
- None
6.20 - 2013-01-16
New features
- None
Program corrections
- None
6.12.3 - Patch release - 2012-09-18
New features
- None
Program corrections
- None
6.12.2 - Patch release - 2012-09-13
New features
- None
Program corrections
- None
6.12 - 2012-06-20
New features
- None
Program corrections
EW23192: The EEPROM memory is no longer erased for each loaded image.
EW22955: The simulator is no longer restricted to only 96 interrupt vectors.
6.11.2 - Patch release - 2012-04-16
New features
- None
Program corrections
- None
6.11 - 2011-12-20
New features
- None
Program corrections
- None
6.10.1 - Patch release - 2011-09-21
New features
- None
Program corrections
- None
6.10 - 2011-08-29
New features
- None
Program corrections
- None
CSAVR 5.51.6 - Patch release - 2011-05-12
New features
- None
Program corrections
- None
CSAVR 5.51.5 - Patch release - 2011-04-19
New features
- None
Program corrections
- None
CSAVR 5.51.2 - Patch release - 2011-02-11
New features
- None
Program corrections
- None
CSAVR 5.51.1 - Patch release - 2010-12-21
New features
- None
Program corrections
EW22148: The xmega_eeprom.dll can now be loaded under 64-bit versions of Windows.
CSAVR 5.51 - 2010-11-11
New features
- None
Program corrections
- None
CSAVR 5.50.2 - Patch release - 2010-06-28
New features
- None
Program corrections
- None
CSAVR 5.50.1 - Patch release - 2010-05-28
New features
- None
Program corrections
- None
CSAVR 5.50 - 2010-04-22
New features
- None
Program corrections
EW21681: The AT90SCR100 now has the correct EEPROM size.
EW21658: The TCCR1A.WGM11 and TCCR1A.WGM10 members now have the correct bit size in these files, iotiny48.sfr, iotiny88.sfr, iotiny88a.sfr, iotiny168.sfr, and iotiny168a.sfr.
CSAVR 5.40.3 - Patch release - 2010-03-19
New features
- None
Program corrections
- None
CSAVR 5.40.2 - Patch release - 2010-02-19
New features
- None
Program corrections
- None
CSAVR 5.40.1 - Patch release - 2010-02-08
New features
- None
Program corrections
- None
CSAVR 5.40 - 2009-12-17
New features
-
These new features have been added to cspybat:
- code coverage
- timeout option
-
A new C-SPY macro
__delay(milliseconds)
has been added.
Program corrections
EW21130: The feature "Use UBROF reset vector" now works correctly for the C-SPY simulator.
CSAVR 5.30 - 2009-05-27
New features
- None.
Program corrections
-
EW20974: iotiny88.ddf and iotiny48.ddf now include the correct io*.sfr file.
CSAVR 5.20 - 2009-01-28
-
EW20436,EW20754,EW20341: Some of the register definitions in the files: ioxm64a1.sfr and ioxm128a1.sfr did not use correct sizes. This has been corrected.
-
EW20586: The Fuse handler dialog box was not available for the ATxmega devices. This has been corrected.
-
EW20753: In some cases, evaluating variables of the type complex structures, for example via Tooltip, could lead to an abnormal termination of the IDE session. This has been corrected.
CSAVR 5.11B - 2008-04-25
- None
CSAVR 5.11A - 2008-04-14
- None.
CSAVR 5.10A - 2008-02-06
-
EW19450: The simulated interrupts could not be triggered after 0x80000000 cycles. This is now corrected.
-
EW19143: A problem related to the step-over functionality has been corrected.
CSAVR 4.30C Patch release - 2007-07-06
- None.
CSAVR V4.30A - 2007-06-07
Program corrections
-
EW18831: The input part of the terminal I/O simulation did not work correctly when using CLIB.
-
EW18751: Faulty debug information was produced for 64 bit data types, this resulted in C-SPY showing these types wrongly. This has now been corrected.
-
EW18313: Using nested C++ types, like in the following code example, no longer leads to abnormal debugger termination:
template <class T> class A { T* data; }; class B : public A<B> { }; int main(void) { B b; return 0; }
-
EW17726: Declaring a variable using a typedef that includes top-level memory attribute and adding additional type attributes on top of the typedef no longer result in C-SPY being unable to load the resulting executable. Example:
typedef int MEM MemInt; MemInt const var;
-
IAR Embedded Workbench IDE - Corrected problems
New features
- It is now possible to use argument variables like $PROJ_DIR$ in __memorySaveToFile and __memoryRestoreFromFile. For more information about these C-SPY macros, see manual corrections.
CSAVR V4.21C - 2007-01-19 (patch release)
-
EW18719: The call stack information was broken for code located above 0x4000 on the devices ATmega640, ATmega1280, and ATmega1281.
CSAVR 4.21A 2006-12-15
Program corrections
-
EW18342: The Watch window, and related windows, no longer scroll to the top of the list when stepping or expanding large structures or arrays.
-
EW18337: A problem where the Stack window could cause a crash when a debug session started has been corrected.
-
EW18589: It was not possible to write to addresses above 0xC6, for ATmega324, in the SFR area. This has now been corrected
New features
-
Exporting command line for CSpyBat
C-SPY now generates a file with helpful information that can be used to run the debugger from the command line using the CSpyBat utility. Every time the debugger is initialized (technically, it happens when a project is loaded and when terminating a debug session) a .bat file is generated that can be used almost without changes to start CSpyBat from the command line with the same settings as in the IDE.The file is generated as $PROJ_DIR$\settings\projectname.cspy.bat
CSAVR V4.20D - 2006-09-29 (patch release)
-
EW18400: The call stack was not correctly simulated for AT90S1200, ATtiny10, ATtiny11, ATtiny12, ATtiny15, and ATtiny28. This has now been corrected.
CSAVR 4.20A 2006-06-13
Program corrections
- None.
New features
-
Statics watch window
The Statics window displays the value of variables with static storage duration, typically variables with file scope, but also static variables in functions and classes. -
Symbolic Memory window
The Symbolic Memory window (similar to the Stack window) displays how variables with static storage duration are laid out in memory. -
Improved breakpoint display
Breakpoints are now displayed in the editor window using different icons depending on the breakpoint type. Information about a specific breakpoint is displayed in a tool tip. -
µC/OS-II Kernel Awareness Plug-in in C-SPY
The µC/OS-II kernel awareness allows you to display information about each of the active tasks in the target application, about each semaphore, mutex, mailbox, queue and event flag group along with a list of all the tasks waiting on these kernel objects, and more. -
Memory Save and Memory Restore has been moved from the AVR menu to the Debug menu, select Debug>Memory>Save/Restore.
CSAVR 4.12A 2005-12-05
Program corrections
-
EW17107: The Live Watch window did not work in the C-SPY debugger. It has now been disabled.
New features
-
Stack window
To monitor the memory consumption and integrity of the stack, a new Stack window has been added. It shows the stack contents as raw data, C/C++ variables, and function frames. It also shows current and maximum stack consumption graphically. Warnings can be issued when the stack exceeds a certain level or if the stack pointer points outside the stack memory. -
New breakpoint category - Log breakpoint
Log breakpoints make it easy to log messages whenever execution passes a certain code location without having to add any code to the target application. When a log breakpoint is triggered, it writes to the Debug Log window and continues execution. -
New way to toggle breakpoints
You can now set or clear a breakpoint by double-clicking in the left margin of the editor window where the breakpoint location is marked by a red X. If there is more than one possible breakpoint location in the source line, the breakpoint is placed on the first location. -
User selectable debugger start address
It is now possible to better control where the program execution should start. The new option Use UBROF reset vector on the Debugger>Setup options page can be used if you want to control the program start from the linker command file instead of starting from the reset address used by the selected debugger driver. For the simulator, this address is 0x0000. This can be useful for an application that uses a boot loader which is implemented as a separate application.
CSAVR 4.11A 2005-06-30
Program corrections
-
EW16954: The eeprom simulation, now works also for derivatives which do not have EECR located at address 0x1C.
-
EW16934: The C-SPY Debugger can map function names to their proper address also if the function is located beyond 0xFFFF (byte address).
-
EW16768: In debugger windows, bitfields are now shown with the correct value, instead of the value of the whole encompassing integer.
-
EW15495: The Watch and Locals windows can now display the value or type of a class-specific user-defined data type.
New features
-
By using the Show As command, available from the context menu in watch-type windows, you can select a different type interpretation of a variable than the one used by default. This command can be used on any variable, but typically, it is useful for assembler labels as they by default are treated as variables of type int.
-
The Memory window now displays "--" for each individual memory unit that cannot be read-accessed, as opposed to the whole row.
CSAVR 4.10B 2005-03-07
Program corrections
- None.
CSAVR V4.10A - 2005-02-15
Program corrections
-
EW16128: The watch window did show the value 0xFF (-1) for a one bit member of a bitfield that was set to 1.
-
EW15951: In the debugger when you viewed an unsigned char in decimal mode: if it was greater than 127 it did show the value as negative.
New features
-
Smart display of STL containers at debugging
Allows objects in STL containers to be viewed and manipulated. -
New auto-display debugger window
Displays currently active variables and objects. -
New Live Watch debugger window
Automatically updates specified variables during execution. -
Trace window
Use this window to trace variables and expressions during execution. -
Breakpoint window
Lists all user defined breakpoints. New breakpoints can be added by using New Breakpoint in the context menu in this window. -
Breakpoint Usage
Lists all defined breakpoints, both system breakpoints and user breakpoints. This window is available on the Simulator menu. -
Editing in memory window
Editing memory in the Memory window now applies to a whole unit (8/16/32). When you start typing, an edit box appears with the contents of the part of the memory you are about to modify. The data is not written until the box is closed.
CSAVR V3.20C - 2004-09-15
Program corrections
CSAVR V3.20A - 2004-06-17
Program corrections
-
EW15306,EW15336: Some files caused a Fatal Error when downloading into C-SPY.
CSAVR V3.10C - 2004-02-25
Program corrections
- None
CSAVR V3.10B - 2004-01-12
Program corrections
- None
CSAVR V3.10A - 2003-12-16
Program corrections
-
EW14369: C-SPY failed to show class reference type members in the Watch window.
-
EW12710: XLINK placed absolutely located DATA and XDATA objects in the same address space in the UBROF output format. See also EW12711.
CSAVR V2.28A - 2002-11-15
Program corrections
-
EW11227: Some syntax error(s) in the message macro could result in debugger errors.
-
EW10956: Some C-SPY macros, e.g.,__readMemoryByte and __readFile(), did not return the correct value. They always returned 0.
-
EW10914: Watching a static class member could cause C-SPY to crash.
-
EW10746: Expansion of a class in the Watch window could cause C-SPY to crash in some cases.
CWAVR V2.26C - 2001-09-09
Program corrections
-
EW438: The wrong value was shown for C-SPY macro variables of float type.
-
AFE0108: Assembling a non-existing instruction from within C-SPY gave the error message "expression cannot be forward" instead of "bad instruction".
CWAVR V2.26B - 2001-07-06
Program corrections
-
AVRS0001: The file stackchk.mac was missing from the installation.
CWAVR V2.25B - 2000-10-31
Program corrections
-
a90dtw0010: These instructions were not correctly simulated:
MULS, MULSU, FMULS, and FMULSU.