- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
- 
    Device selection
 You can select the device you are using, which means that the core, the defaultddffile, and the flash loader (if available) are selected automatically. This is possible for all devices that are supported with header (.h) files and device definition (.ddf) files.
- 
    - Before you install 
 To avoid any problems, do not install the 6.x release in a directory where you have previously installed a 5.x, 4.x, 3.x or 2.x version of IAR Embedded Workbench for ARM.
 Either uninstall an earlier product, or install this release in a separate directory. However, as before, it is possible to install different products, all using version 6.x of the generic IDE component, in the same root directory.
- Migrating your application 
 If you are migrating from version 5.x, 4.x or 3.x to this version, we recommend that you read the ARM IAR Embedded Workbench Migration Guide.
 Additional general information can be found in the technical note 40394.
 Stacks are required to be aligned on 8-byte boundraries, additional information specific to stack alignment can be found in the technical note 96045.
- New Freescale Kinetis part numbering scheme 
 Version 6.30 implements the new Freescale Kinetis part numbering scheme. The following old device selections will be automatically converted to the new part numbering scheme:- K40Xxxx ⇒ MK40DX256Zxxx10
- K53Xxxx ⇒ MK53DN512Zxxx10
- K60Xxxx ⇒ MK60DN512Zxxx10
 
 
- Using Cortex-R4 in big-endian mode 
 When big-endian is selected for a Cortex-R4 core, the default big endian mode is BE32. The normal big endian mode for Cortex-R4 is BE8, so make sure that you select the correct mode for your target.
New features
- None.
Known Problems
- If the Memory window displays the middle of a selection that is larger than the Memory window and the formatting (1x, 2x ,4x) is changed, the Memory window scrolls to the bottom of the selection. 
 [EW13204]
- IAR Embedded Workbench shortcut keys do not work in the Terminal I/O window. 
 [EW14290]
- The Build message window might fail to scroll to the bottom when you build a project. This occurs for certain combinations of message line length and window width if a line must be wrapped. A simple workaround is to make the width of the IDE window larger or smaller. 
 [EW15473]
- There is no vertical scroll bar in the left window when you split an editor window vertically. 
 [EW15588]
- If the compiler optimization option Instruction scheduling was specified, it is lost when you convert a project from version 3.xx to 4.xx. 
 [EW15605]
- You cannot select the last line in a file just by clicking on the line number. This is possible for all other lines. 
 [EW15705]
- The read/modify/write operation on some NXP LPC I/O registers defined in the - iolpcxxxx.hfiles might cause reading and writing of undefined bits.
 [EW16180]
- The IAR Embedded Workbench IDE postbuild action freezes when trying to run a GUI-based application. 
 A workaround is to prepend the postbuild command line with:- cmd /c.
 [EW18171]
- A missing debug driver GUI DLL (WTD) might cause a warning dialog box to appear every time a project is opened. 
 [EW18350]
- If the IAR Embedded Workbench IDE window is minimized during flash download, the sizes of the subwindows change and become very small. 
 [EW18642]
- The - MSdefinition in- tms470r1b1m_bit_definitions.h, conflicts with the- MSdefinition in- iotms470r1b1m.h.
 [EW18691]
- Moving an undocked window to another screen on a dual monitor system causes resizing problems. 
 [EW19039]
- The IDE fails to expand - $TARGET_BNAME$when using it in the call of an external tool and the output file doesn't exist.
 [EW21158, EW21197]
- Directing the output from the output converter to a file with extension - .outcauses EWARM to hang.
 [EW21166]
- The TDGC peripheral is missing from the header and ddf files for the Atmel AT91SAM9263. 
 [EW21551]
- The EWARM may crash with a protection fault, or display an empty workspace window, if ClearCase 7.1 is installed on the same computer. Read more in technical note 63639. 
 [EW21945]
- The example projects for TI RDK-IDM do not work on Rev C16 boards. 
 [EW21960]
- ctrl-v and ctrl-c have problems when used with the Online Help system. As a workaround you can use Copy and Paste from the context menu. 
 [EW22313]
- If Tools>Options>Project>Generate browse information is selected, then the EWARM will hang if no license is found, for example if no license dongle is inserted or if no license server is found. 
 [EW22350]
- If output converter settings are changed in the IAR Embedded Workbench IDE, and the IDE is kept running, then an attempt to run - IarBuild.exewill terminate silently with exit code 1.
 [EW22481]
- The context menu Go to definition might fail if the function is defined in a header file. 
 [EW22518,EW22612]
- Sometimes the value of a float type placed in a packed struct is displayed incorrectly. 
 [EW22529]
- The Overwrite old file option in the Tools>Options>Messages>Log in file dialog box only works if an absolute path is given in the log file text box. 
 [EW22709]
- If you have IAR Embedded Workbench IDE installed for several different tool chains in the same directory, the IDE might be in mixed languages if the tool chains are available in different languages. 
- The Event log mechanism based on ITM is not supported when using the ST ST-LINK debug probe. Support will be added in the next update. 
Program Corrections
- 
  The source browser no longer consumes memory without returning it. 
 [EW22527]
- 
  C++ options are no longer used when --c++isn't used.
 [EW22532]
- 
  Files in editor panes are now restored correctly. 
 [EW22602]
- 
  Some of the linker configuration files for Freescale Kinetis no longer handle the border between the RAM banks at 0x20000000 incorrectly. 
 [EW22635]
- 
  The setup for Fujitsu MB9EF126 no longer specifies the wrong ARM core. 
 [EW22661]
- 
  The getting started example for Phytec LPC3180 now works with newer versions of the NAND memory. 
 [EW22666]
- 
  Definitions for CCR3/CCR4 are no longer missing in the iostm32l151xx.ddffile.
 [EW22680]
- 
  RCC_APB2LPENRandRCC_APB1LPENRare now correctly named in the header files for STM32L15x.
 [EW22683]
- 
  TI Stellaris examples with bootloaders at address zero now work also when debugging. 
 [EW22753]
User guide corrections
- None.
Miscellaneous
- 
  Adding device support
A set of documents is available that describes how to add additional device support to IAR Embedded Workbench for ARM.
| Document | Description | Template | 
| Flash loader |  | |
| Device header format |  |  | 
| DDF format |  | 
  Running GUI-based programs from the project manager custom build rules
    To run a GUI-based program from a custom build rule, the program must be wrapped
    with cmd /c, for example:
    cmd /c prog.exe $PROJ_PATH$.
  
  Adding the paths of project header files to the build
    To activate this feature, add the special variable $PATHS_OF_PROJECT_HEADER_FILES$
    on the Extra options page in the C/C++ compiler category of the Project Options dialog.
    The result is that the directory path of each member header file in the project
    is added to the command line using the -I command line option.
    For example, if the project contains the header files C:/a/fa.h and C:/b/fb.h,
    the compiler command line will get the additional arguments -IC:/a/ and -IC:/b/. 
Release history
V6.21 2011-07-05
Program corrections- 
  A build problem where $VARIABLES$, in some circumstances, were not expanded relative to the configuration actually being built has been corrected.
 [EW22400]
- 
  The Undo Checkout command on the Version Control System submenu for SCC now works correctly. 
 [EW22462]
- 
  Wrong RCC_AHBRSTR definition in iostm32L151xx.h and iostm32L152xx.h. 
 [EW22514]
- In EWARM 6.21.2: 
 Corrected some register definitions in iostm32f207xx.h.
 [EW22577]
- In EWARM 6.21.2: 
 Missing GPIOH definition in iostm32L151xx.h and iostm32L152xx.h.
 [EW22580]
- In EWARM 6.21.2: 
 The device configuration file for STM32F205Vx was missing.
 [EW22587]
- In EWARM 6.21.2: 
 Corrected some register definitions in ios3fn41f.h.
 [EW22588]
- In EWARM 6.21.2: 
 Selecting Hilscher Net.x50 wrongly used ARM926 as core, it now uses the correct core ARM966.
 [EW22600]
- In EWARM 6.21.3: 
 The Freescale Kinetis K70 flashloader did not work correctly.
- 
See the top level release note document for a list of new features.
V6.20 2011-04-29
Program corrections- The USB VirtualCom driver now works on Windows 7. 
 [EW22181]
- The register HcBCR0 has been added to the device specific files for Toshiba TMPA900CM. 
 [EW22264]
- IarBuild.execan now run the same command lines in Project Options>Build Actions as the IAR Embedded Workbench IDE.
 [EW22293]
- The EXTI registers have been added to the device specific files for ST STM32F2xx. 
 [EW22288]
- The dialog box to choose a directory for Find in Files is now displayed with the correct dialog box title and button name. 
 [EW22304]
- If two or more IAR Embedded Workbench toolchains (for different microcontroller architectures) were installed in the same directory, and some of the toolchains were only available in English, launching IAR Embedded Workbench in a non-English language meant that the Information Center was not available for English-only toolchains. This has been corrected. 
 [EW22341]
- The definition of EECLKDIV in the device-specific files for NXP LPC1778/LPC1788 has been corrected. 
 [EW22358]
- The block layout in the ST STM32F105xB flashloader has been corrected. 
 [EW22366]
- The definition of TSI in the device specific files for Freescale K60 has been corrected. 
 [EW22388]
- Non-existent SPI registers defined in the device-specific files for Freescale K60 have been removed. 
 [EW22395]
- In EWARM 6.20.2: 
 The RAM configuration in the Freescale Kinetis getting started example is now correct.
 [EW22428]
- In EWARM 6.20.2: 
 The correct linker configuration file is now specified in the Freescale K60 getting started example.
 [EW22429]
- In EWARM 6.20.2: 
 A syntax error in the jlink script file for OMAP-L138 has been corrected.
 [EW22431]
- In EWARM 6.20.4: 
 Wrong register definitions for the Samsung S3FN60D device.
 [EW22466]
- In EWARM 6.20.4: 
 Wrong memory map specification in the linker files for The Samsung S3FN21F, S3FN41F and S3FN60D devices.
 [EW22467]
- DSP library for Cortex-M3/M4 
 The ARM CMSIS DSP library is now supported and delivered with the product. The library comes with a powerful collection of DSP functionality; FIR/IIR filters, FFT, DCT, Clarke and Park transforms, PID controller and much more. See the CMSIS DSP Software Library documentation for more information.
 The CMSIS support is enabled from Project>Options...>General Options>Library Configuration, CMSIS include paths and the DSP library will automatically be included when enabled.
- Cortex-A8 
 Support for code generation for and debugging of ARM Cortex-A8 cores.
- Cortex-A9 
 Support for code generation for and debugging of ARM Cortex-A9 cores.
- Subversion 
 The version control integration has been extended with support for Subversion (SVN).
- Power debugging enhancements 
 - The J-Link Ultra now supports sampling rates up to 10 kHz.
- Power data can be filtered based on a threshold value.
- Execution can be stopped based on a threshold value (power breakpoint).
- Power samples can be logged to a file, either the collected data up to that point or live acquisition.
 
- Automatic selection of printf/scanf formatter 
 The compiler/linker will parse the printf/scanf format specifiers and select the smallest possible formatter from the library.
- Virtual Function Elimination (VFE) 
 The compiler/linker will optimize C++ applications and remove unused virtual functions.
- RTOS context sensitive help 
 Context-sensitive help is available for some RTOS'es, and gives easy access to descriptions of API functions.
V6.10 2010-11-04
Program corrections- The - AT91C_ISRAM_SIZEdefinition in the Atmel header file- ioat9sam7se512.hwas incorrect, the correct value is- 0x00008000.
 [EW21581]
- 
  A file path exceeding the _MAX_PATHWindows limit could cause the IAR Embedded Workbench to freeze or quit unexpectedly. Now such situatations are detected and flagged as errors.
 [EW21645]
- 
  Using a path containing .. to defined output directories could make it impossible to start the debugger. This has been corrected. 
 [EW21839]
- 
  The DLIB template project is now possible to build without modifications. 
 [EW21902]
- The register bit definition - ADENhas been added to- iotmpm370FxFG.h.
 [EW21994]
- 
  The Project>Options...>Linker>Output>Output file text box accepted a file path instead of just a filename which could lead to project building problems. This has been corrected and the option has been renamed. 
 [EW22004]
- 
  In EWARM 6.10.2: 
 Incorrect function description forGPIO_SetInterrupt()inexamples\NXP\LPC13xx\LPC1300CMSIS\Drivers\source\lpc13xx_gpio.c.
 [EW22086]
- 
  In EWARM 6.10.2: 
 Incorrect register width definitions iniolpc3250.h.
 [EW22114,EW22154]
- 
  In EWARM 6.10.2: 
 The IDE no longer terminates unexpectedly when changing editor font type and size.
 [EW22115]
- 
  In EWARM 6.10.2: 
 Missing volatile declarations inexamples\ST\STM32F10x\IAR-STM32F107VC-SK\Accelerometer_Demo\modules\i2c1_drv.ccaused application error at high optimization levels.
 [EW22139]
- 
  In EWARM 6.10.5: 
 The Atmel AT91SAM9260 TWI_SR register bits EOSACC, SCLWS and ARBLST was missing in the processor support files.
 [EW20728]
- 
  In EWARM 6.10.5: 
 The Atmel AT91SAM9260 TWI_SR register bits TXBUFF, RXBUFF, ENDTX, ENDRX was defined in the processor support files, but they do not exist in real hardware.
 [EW20729]
- 
  In EWARM 6.10.5: 
 The IDE command Stop Build now works properly when it is applied to pre- or post build actions when they are started in a new command shell.
 [EW22075]
- 
  In EWARM 6.10.5: 
 Large and complex projects no longer cause the IAR Embedded Workbench source browser to freeze.
 [EW22126]
- 
  In EWARM 6.10.5: 
 The flashloader did not work with AT91SAM7S256 revision C.
 [EW22165]
- 
  In EWARM 6.10.5: 
 Recursive definitions of a preprocessor macro no longer causes IAR Embedded Workbench to terminate abnormally.
 [EW22177]
- 
  In EWARM 6.10.5: 
 The numbers of errors and warnings reported at end of build are now correct.
 [EW22202]
- 
  In EWARM 6.10.5: 
 The header file iolpc3250.h failed the MISRA-C check.
 [EW22268]
- Power debugging 
 Power debugging is a methodology that provides software developers with information about how the software implementation in an embedded system affects system level power consumption. By coupling source code to power consumption, testing and tuning for power optimization is enabled. The debug probe samples the momentary current drawn by the system and feeds it to the debugger where the measured current is synchronized with time stamped program counter values. This allows the debugger to present power consumption directly correlated to the source code. The debugger supports power data from the following sources:- J-Link Ultra
 Power data is measured with high accuracy at the board level. A future adapter will be available in Q2 2011 to measure power at the MCU level. Supports calibration.
- J-Link
 Power data is measured with low accuracy at the board level. Does not support calibration.
- The Energy Micro EFM32 Gecko development and starter kits
 They have a J-Link compatible debug probe integrated on-board. Power data is measured with high accuracy at the MCU level. Does not need calibration.
 
 More information can be found in IAR Embedded Workbench® C-SPY Debugging Guide
- J-Link Ultra
- C-SPY Debugging Guide introduced 
 A new user guide called C-SPY Debugging Guide has been introduced. The purpose of this guide is to help you fully use the features in the IAR C-SPY Debugger for debugging your application.
- C99 
 The product now uses the current C standard defined in 1999, known as C99, as the default C language.
- C++ 
 Support for the C++ language has been added. By default, it fully supports the ISO/IEC 14882:2003 C++ standard. The EC++ and EEC++ dialects are still available.
- Cortex-A5 
 Support for code generation and debugging of ARM Cortex-A5 cores.
- RTOS integration 
 Product information, evaluation versions, and example projects for third party RTOS and middleware solutions are now integrated into IAR Embedded Workbench for easy evaluation. RTOS and middleware information and example projects can be accesses via IAR Information Center.
- C library 
 The DLIB library now has improved support for threaded environments.
- Floating point optimizations 
 The compiler can now optimize floating-point expressions better by using the option- --relaxed_fp. If enabled, the compiler tries to use a smaller floating-point type in floating-point expressions.
- CMSIS SVD 
 The debugger supports the CMSIS System View Description files to display peripheral register content.
- P&E Micro JTAG probes 
 The P&E Micro Multilink, Cyclone and OSJTAG are supported. Read about how to configure C-SPY to use a P&E Micro probe in Configuring the IAR Workbench Debugger to use a P&E Microcomputer Systems Interface.
- Freescale MQX plugin 
 The Freescale MQX kernel awareness plugin is now included in the product.
- FreeRTOS/OPENRTOS plugin 
 The FreeRTOS/OPENRTOS kernel awareness plugin is now included in the product.
V5.50 2010-04-21
Program corrections- The interrupt handler used in Atmel ARM7 examples did not align the stack on 8 byte boundaries as required by the ARM EABI. 
 [EW21302]
- Incorrect content in the Atmel header files - ioat91sam3s1.h,- ioat91sam3s2.hand- ioat91sam3s4.h.
 [EW21511]
- Incorrect - ADC2_SMPR2and- ADC3_SMPR2definitions in the ST header files- iostm32f10xx4.h,- iostm32f105xx.h,- iostm32f10xxB.h,- iostm32f10xxE.hand- iostm32f107xx.h
 [EW21667]
- Incorrect definition of - _AT91S_SYSin the Atmel header file- ioat91sam9260.h.
 [EW21719]
- The flash loader for TI TMS470R1B1M failed to write in the address range - 0x70000-0x7ffff.
 [EW21722]
- In EWARM 5.50.5: 
 Go to definition now works for registers defined in device header files (using- __IO_REG*macros).
 [EW21755]
- In EWARM 5.50.5: 
 The option- Cortex-M4Fin Project>Options...>General Options>Target>Core now works with the Assembler.
 [EW21772]
- In EWARM 5.50.5: 
 The LPC2923 flashloader did not work correctly.
 [EW21787]
- In EWARM 5.50.5: 
 The USB register base address was wrong in iolpc2923.h.
 [EW21788]
- In EWARM 5.50.5: 
 The Toshiba TMPM380-SK examples wrongly specified the RAM size to 32 kbyte instead of the correct value 16 kbyte.
 [EW21867]
- In EWARM 5.50.6: 
 A corrupt settings file (- .wsdt) no longer causes IAR Embedded Workbench to terminate abnormally.
 [EW21750]
- 
    In EWARM 5.50.6: 
 Fixed problem with the NUMONYX M29W640GT flash on Toshiba TMPA900 board.
 [EWARM-1015]
- Cortex-M4 
 Support for code generation and debugging of ARM Cortex-M4 cores.
- Trace enhancements 
 A new Timeline window allows correlated visualization of call stack, interrupt log, and data log values plotted against time.
- Position-independent code and data 
 The compiler can now optionally generate position-independent code and/or position-independent data.
- C library floating-point optimizations 
 A number of C library floating-point functions have been optimized for speed and size.
- CP15 register display 
 The debugger can display CP15 coprocessor registers when using the J-Link/J-trace debug probe.
- SC000 
 Support for code generation and debugging of ARM SC000 secure cores.
V5.41 2009-12-14
Program corrections- 
      When switching from multi-file compilation mode to single-file compilation, the error "Build error: Multiple tools write to the same file" is no longer issued. 
 [EW20855]
- 
      The tutorials are now configured to be built for Cortex-M3. 
 [EW21356]
- 
      INT_SSIiniomcimx27.his no longer defined incorrectly.
 [EW21410]
- 
      Opening a context menu in the Editor window does no longer produce strange error entries in the Debug Log window. 
 [EW21412]
- 
      Corrected some register definitions in ioat91cap7.ddf.
 [EW21415]
- 
      The example arm\examples\TexasInstruments\Stellaris\boards\rdk-bdc\qs-bdcdoes no longer select wrong device.
 [EW21432]
- 
      The example arm\examples\NXP\LPC17xx\IAR-LPC-1768-SK\simple\ADCno longer fails to build when configured to be interrupt driven.
 [EW21465]
- 
      The default flash loader for LPC1764 is now correct. 
 [EW21486]
- 
      In EWARM 5.41.2: 
 Adding a file to a project will now use the current case of the filename, even if it was previously known with another case.
 [EW21490]
- 
      In EWARM 5.41.2: 
 Some register definitions was missing in the header and ddf file for TI Stellaris LM3S5B91.
 [EW21497]
- 
      In EWARM 5.41.2: 
 Some timer register definitions was missing in the header and ddf file for ST STM3210x.
 [EW21548]
- 
      In EWARM 5.41.2: 
 The AHB mode GPIOJ and GPIOA-GPIOJ register definitions was missing in the header and ddf file for TI Stellaris LM3Sxxxx.
 [EW21562]
- 
      In EWARM 5.41.2: 
 The PINSEL initialization code for NXP LPC2xxx examples disabled the trace port.
 [EW21610]
- Cortex-R4F 
 Support for code generation and debugging of ARM Cortex-R4F cores with VFP unit.
- Cortex-M0 speed optimizations 
 Cortex-M0 code generation have been tuned to generate code with faster execution speed.
- Trace start and stop triggers 
 The instruction trace can be started and stopped based on conditions like code locations and data accesses. This feature is now available for the J-Trace for ARM trace probe, in addition to the J-Trace for Cortex-M3 trace probe.
- SWO support in J-Trace for Cortex-M3 
 The J-Trace for Cortex-M3 trace probe now supports SWO trace. The firmware will be automatically upgraded by the debugger.
- Enhanced Find in files 
 Regular expressions can now be used in the Find in files search field.
- Workspace-relative paths 
 Workspace-relative paths are used for opened editor windows, which makes it easier to move a workspace to a new location.
V5.40 2009-07-10
Program corrections- An '#undef' preprocessor directive not followed by a preprocessor symbol no longer causes the IAR Embedded Workbench IDE to exit unexpectedly. 
 [EW20779]
- Duplicate of problem (20812) corrected in EWARM 5.30.2: A library project could not be built without a preceding Clean command. 
 [EW20814]
- Flash loader specific arguments were not correctly documented. Starting with this release, the documentation is provided as part of the flash loader edit mechanism. 
 [EW20848]
- The LPC2468 uip_webserver example did not work stand-alone (without debugger control). 
 [EW20851]
- iolpc2470.h has been completed with some bit definitions. 
 [EW20905]
- The Atmel AT91SAM9XE512 flash loader for internal flash has been corrected. 
 [EW20908,20990]
- A LPC2378 example included a function with an erroneous clock calculation. 
 [EW20930]
- A problem that could cause an upgrade from EWARM 5.30.1 to 5.30.2 to fail has been corrected. 
 [EW20951]
- The flash loader for AT91sam7xc512 could hang. 
 [EW20955]
- The STM32 watchdog must be disabled to not interfere and make the flashloading fail. Use the utility .../arm/bin/jlinkstm32.exe to disable the watchdog. 
 [EW20995]
- When the startup screen copied an example application for TexasInstruments TMS470R1B1M, the wrong folder was copied. 
 [EW20997]
- Selecting LM3Sx6xx for the Luminary LM3S2616 failed because this chip only have 16 kbyte RAM. The fix was to add LM3S2616 as a selectable device. 
 [EW21012]
- The Atmel AT91SAM9263-EK project basic-sd-spi-project failed to copy external_libs correctly when started from the startup screen. 
 [EW21013]
- The Atmel AT91SAM9XE256 flash loader for internal flash has been corrected. 
 [EW21072]
- The CRC calculation unit registers on the STM32 devices were missing. 
 [EW21078]
- All device header files now use C style comments. 
 [EW21081]
- In EWARM 5.40.4: 
 The Toshiba TMPM330 flash loader caused the error:
 - Unknown or ambiguous symbol. __argc
 to be displayed. The error did not affect the correctness of the flash download.
 [EW21172]
- In EWARM 5.40.4: 
 Some examples for ST STM32 failed to build.
 [EW21179,EW21184]
- In EWARM 5.40.4: 
 Some of the examples for Analog Devices did not have the flash loader enabled.
 [EW21208]
- In EWARM 5.40.4: 
 The LPC2468 flash loader was wrongly built in debug mode, causing debug messages to be sent over the serial port.
 [EW21216]
- In EWARM 5.40.4: 
 You cannot use the Output converter on library files. This option is now excluded from the EWARM Category list for library projects.
 [EW21291]
- New Cortex-M3 debug features 
 Several new presentation methods are available for display and analysis of Cortex-M3 SWV/SWO data
- Information Center 
 An integrated navigation system that gives easy access to tutorials, product documentation, and example projects. Select Help>Information Center to display the Information Center.
- Cortex-R4 
 Support for code generation and debugging of ARM Cortex-R4 cores.
- Cortex-M0 
 Support for code generation and debugging of ARM Cortex-M0 cores. Debugging on Cortex-M0 hardware is supported using the J-Link probe.
- J-Trace for Cortex-M3 
 Using the J-Trace for Cortex-M3 debug, the debugger can now take advantage of the ETM trace port available on some Cortex-M3 devices. Instruction trace can be started and stopped based on conditions like code locations and data accesses. This feature requires the J-Trace for Cortex-M3 trace probe.
- Trace start and stop triggers 
 The instruction trace can be started and stopped based on conditions like code locations and data accesses. This feature requires the J-Trace for Cortex-M3 trace probe.
- Direct flash erase and download 
 Flash erase and download can be performed without starting the debugger.
- Debugging multiple images 
 C-SPY is now capable of debugging several independently built images during one debug session. Under Project options>Debugger>Images you specify the location of the images to 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 will be displayed.
- Cortex-M3 data breakpoint enhancements 
 A data breakpoint in Cortex-M3 is now able to break on a specific value in addition to the address of the accessed variable.
- Auto refresh in the debugger memory window 
 The debugger memory window can be refreshed during program execution, both manually and periodically.
V5.30 2009-01-23
Program corrections- 
    In EWARM 5.30.2: 
 All files were opened in the IAR Embedded Workbench editor, even if an external editor had been set up and should have been used instead.
 [EW20794]
- 
    In EWARM 5.30.2: 
 A library project could not be built without a preceding Clean command.
 [EW20812]
- 
    In EWARM 5.30.2: 
 A C/C++ macro definition containing a '#' character no longer causes the Embedded Workbench IDE to exit unexpectedly.
 [EW20823]
- 
    In EWARM 5.30.2: 
 Downloading to AT91SAM7S64 failed.
 [EW20858]
- 
    In EWARM 5.30.2: 
 In some cases, during initialization of the Stack plugin immediately after downloading the ELF/DWARF input file, the Embedded Workbench IDE exited unexpectedly.
 [EW20903]
- 
    Previously, there was no way to select the checksum algorithm sum32 in Project>Options>Linker>Checksum. 
 [EW20236]
- 
    The flash loader for Atmel AT91SAM9260EK was missing. 
 [EW20301]
- 
    Previously, the display of the SD-card size in the example arm\examples\ST\STR91x\STR912-SK-IAR\MassStoragewas incorrect.
 [EW20333]
- 
    The Toshiba TMPA910CR header file iotmpa910cr.hpreviously defined some of the peripheral registers incorrectly.
 [EW20364]
- 
    Interrupt handlers in Atmel examples failed to align the stack on an 8-byte boundary before calling the AICinterrupt vector function.
 [EW20412]
- 
    If an input expression in the Linker configuration file editor dialog box contained space or tab characters, the expression could incorrectly be evaluated to 0. 
 [EW20424]
- 
    A debugger description file ( .ddf) for Atmel AT91SAM7A1 and AT91SAM7A2 was previously missing. it is now available.
 [EW20418]
- 
    Flash download to NXP LPC2364 did not work. 
 [EW20456, 20566]
- 
    The ILINK checksum fields Alignment and Initial value are now correctly enabled and disabled. 
 [EW20487]
- 
    Go to definition did not work for functions declared with the __noreturnkeyword.
 [EW20605]
- 
    The system startup files cstartup_M.sandcstartup_M.chave been added to the evaluation version.
 [EW20670]
- 
    It is no longer necessary to update ilinkarm options when debugging an externally built project. 
 [EW20707]
- 
    The Embedded Workbench could crash if a large selection in the text edtor was right-clicked. 
 [EW20751]
- New Cortex-M3 debug features
 Several new presentation methods are available for display and analysis of Cortex-M3 SWV/SWO data- Function profiler.
- Disassembly window with instruction trace count.
- Data Log window that logs accesses to up to four different memory locations or areas, including time information. A condensed summary for each memory location is also available.
- Interrupt Log window that logs entrances and exits to and from interrupts, including time information. A condensed summary for each interrupt source is also available.
- Interrupt Graph window that shows interrupt activity on a time scale for each interrupt source.
- Enhanced SWO trace window.
- J-Link download speed using the SWD interface have been improved by 40%.
 For more information see the Debugging guide. 
- Compiler size optimizations
 The compiler optimizer has been tuned to generate industry-leading code size for Cortex-M3 code.
- Compressed initializers
 The linker can compress initialized data to minimize flash use. The compressed data will be atomatically uncompressed when moved from flash to RAM by the startup code. For more information see the Development guide.
- MISRA C:2004 support
 IAR Embedded Workbench now supports checking of source code for conformance to the MISRA C:2004 standard.
- ST ST-LINK debug probe
 Support for the ST ST-LINK JTAG debug probe.
- ARM7EJ-S
 Support for the ARM7EJ-S core.
- The fields and content in the Linker configuration file editor is dynamically adapted to the type of the core, classical ARM or Cortex.
V5.20 2008-06-24
Program corrections- The definitions - SPI_CSR0-SPI_CSR3have been restored to the file- ioat91sam7s64.ddf.
 [EW16853]
- The - UDP_CSR0-3and- UDP_FDR0-3definitions for the USB interface have been restored to the C header and DDF files for Atmel AT91SAM7S64, 128, and 256.
 [EW17163]
- The IDE no longer freezes or crasches, if the extension of any output file from the linker or output converter is a valid extension for an input file to the assembler or compiler. 
 [EW17515]
- Using the IDE variable - TARGET_DIRto reach a parent directory, for example- $TARGET_DIR$\..\.., caused the IDE to crash.
 [EW17756]
- The - AIC_SMR0-AIC_SMR31and- AIC_SVR0-AIC_SVR31definitions have been restored to the files- ioat91sam7s64.ddfand- ioat91sam7xc256.ddf.
 [EW17830,19000]
- Atmel example projects can now be opened from the Startup screen. 
 [EW17869]
- Paths containing dollar sign characters '$' are now handled correctly. 
 [EW18252]
- Recursive macros can now be used in a preprocessor expression with the "Generate browse information" option selected in the IDE options dialog box. 
 [EW18721]
- Circular #include preprocessor directives can now be used. 
 [EW19037]
- The fill pattern can now be of any length as long as it is composed of full bytes, but it must be given in hexadecimal notation, starting with 0x. 
 [EW19697]
- Texas Instruments example projects can now be opened from the Startup screen. 
 [EW19795]
- The str91x-isc.mac debugger macro file did not work correctly with G and H revisions of the STR91x. 
 [EW19931]
- Some STM32 application layouts could cause errors when downloading code to flash. 
 [EW20027]
- Missing SPI and AIC registers have been added to - ioat91sam7s256.ddf.
 [EW20028]
- In - iostr912f.h, the- UART_RSECRregister is no longer incorrectly named- UART0_RSR.
 [EW20074]
- An incorrect preprocessor directive in the form of 
 - #define X(y) #x
 could make the Embedded Workbench IDE terminate abnormally. This has been corrected.
 [EW20096]
- The - --BE32command line option is now sent to the linker if BE32 is selected in the option dialog.
 [EW20118]
- Multiple definitions of - HECC_CR, HECC_MR, HECC_SR, HECC_PR, HECC_NPR, HECC_VRhave been removed from the file- ioat91sam9260.ddf.
 [EW20121]
- Multi-file compilation
 It is now possible to use the IDE to define compilation units with multiple files that will be compiled as one unit, giving the compiler a larger scope for code optimizations.
- Cortex-M3 SWV/SWO
 Cortex-M3 SWV (Single Wire Viewer) trace packets sent over the Cortex-M3 SWO channel can be presented by the debugger. The user have full control over the selection of trace packet types. The communication rate is 6 MHz when using J-Link v7 or newer (500 kHz for older J-Link versions)
- Printf via SWO at the click of a button
 For Cortex-M3, printf output can be sent via the SWO channel (that is part of the SWD interface), and displayed in the debugger terminal I/O window. The advantage is real-time performance for debug log messages because the CPU does not need to be halted.
 To enable: Project Options>General Options>Library Configuration>Via SWO.
- Printf via DCC
 For ARM7 and ARM9, printf output can be sent via the DCC channel, and displayed in the debugger terminal I/O window. The advantage is real-time performance for debug log messages because the CPU does not need to be halted.
 Further information can be found here.
- Flash breakpoints
 Flash breakpoints allows an unlimited number of breakpoints to be active even when locating code in flash. Flash breakpoints is available for the J-Link probe and available as a separate product.
- Compiler speed optimizations
 The compiler optimizer has been tuned to generate industry-leading execution speed for Cortex-M3 code.
- VFP
 Support for the VFPv1 and VFPv2 floating point coprocessors.
- Linking with references to other link images
 Symbols from one link image can be used as input when linking another image. This is useful when an application depends on code in a resident (ROM) image. See the description of the ISymExport tool for more information.
- J-Link control panel
 When a debug session is active, the J-Link control panel can be activated using the J-Link button in the Windows notification area. The control panel gives access to J-Link setup parameters and shows J-Link status information.
- $CONFIG_NAME$
 A new argument variable $CONFIG_NAME$ has been added. It expands to the name of the current build configuration, for example Debug or Release.
- IAR proprietary variant of semihosting
 An IAR proprietary variant of semihosting can be selected that does not use the SVC instruction and thus does not need to set a breakpoint on the SVC vector. This is an advantage for applications which require the SVC vector for their own use, for example an RTOS.
V5.11 2007-11-28
Program corrections- Changing the default object file output directory no longer causes the IDE to link two copies of the output file. 
 [EW17458]
- The Texas Instruments HET assembler - het470.execould in some cases fail to generate the C output files.
 The HET assembler wrapper- het470wrap.exewas provided in an attempt to create a clean environment for the HET assembler- het470.exe.
 In addition, the custom build rule in the examples was modified with the dummy argument- -iii, which was been observed to reduce the problem in some environments.
 The problem is now completely solved by an updated het470.exe.
 [EW18098]
- Default flash loader command line arguments can be read from device configuration ( - i79) files.
 [EW18713]
- The AT91SAM7S512 flash loader can now handle the dual Embedded Flash Controllers. 
 [EW19036]
- The function browser in the editor window now recognizes functions within a 'namespace' block. 
 [EW19230]
- Missing registers have been added to the STR912FA device support files. 
 [EW19349]
- All example projects for the STR912-SK board now run also after a power cycle of the board. 
 [EW19353]
- The ILINK configuration file editor no longer loses data at the end of the file each time it is edited. 
 [EW19447,19401]
- Adding additional libraries using the Linker->Library option dialog box now works. 
 [EW19477]
- The TMS470R1M1B cannot have an - LDRinstruction at the reset vector due to the chip protection mechanism, it must be a- Binstruction. A specific- cstartup.sfile has been added to the relevant examples.
 [EW19479]
- When copying a project configuration, the 'exclude from build' status of the files in the project is copied now. 
 [EW19482]
- All header files for NXP LPC devices now correctly define - IO0PINand- IO1PINas read-only.
 [EW19489]
- The LPC2378 and LPC2468 flash loaders now make use of the last 4-Kbyte of flash. 
 [EW19524]
- Division by 0 within preprocessor directives no longer causes IAR Embedded Workbench to terminate abnormally. 
 [EW19549]
- Changing output directories no longer results in build problems. 
 [EW19551]
- STM32 examples no longer give verify errors on 4 bytes from - 0x20000004.
 [EW19680]
- Checksum fill patterns in the range - 0x00-0x0Fnow work. However, patterns larger than- 0xFFwith 0 in the most significant nibble still do not work.
 [EW19697]
- The Treat all warnings as errors option on the Linker > Diagnostics page no longer causes linker failure. 
 [EW19699]
- The flash loader for the i.MX21 now supports the Spansion S29WS128N0PBFW01 used on the RoHS compliant i.MX21 ADSE. 
 [EW19706]
- Incorrect bit struct definitions in - iomcimx27.hhave been corrected.
 [EW19728]
- The - readme.txtin- arm\examples\ST\STR91x\STR91xlibrary\examples\UARTnow correctly specifies a male/female PC RS232 cable.
 [EW19732]
- Cortex-M1
 Support for code generation and debugging of ARM Cortex-M1 cores. Debugging on Cortex-M1 hardware is supported using the J-Link probe.
- ARM11 debug with J-Link
 The J-Link driver now supports ARM11.
- 
    Expanding system environment variables
 System environment variable can now be expanded from within the IDE in the same way as the built-in argument variables.
 Syntax:<$_environment variable name_$
 For example, to use the system environment variableHOMEPATHin a path inside the IDE:
 $_HOMEPATH_$\CONFIG\linkerconf.icf.
- 
    Editor background color
 You can now select a background color for the text editor.
 
- 
    J-Link STR9 Commander (Command line tool)
 J-Link Commander (arm\bin\JLinkSTR91x.exe) is a tool that can be used to configure ST STR91x cores. It permits some STR9 specific commands, like setting the flash configuration register and erasing the flash. This tool can be used to erase the flash of the controller even if a program is in flash, which causes the ARM core to stall. The tool is described in the J-Link/J-Trace User Guide.
 
V5.10 2007-05-25
Program corrections
- It is possible to select Arm/Thumb mode on each individual C/C++ source code file in the IDE. 
 [EW14209]
- In a custom build rule, the files listed in Additional input files were not always selected correctly when determining if the rule should be applied during a build operation. 
 [EW18659]
- The DDF files for NXP LPC2xxx devices contained redundant instances of the fast IO registers. 
 [EW18720]
- The example AT91SAM7S-Interrupt did not enable flash download in the FLASH_Debug configuration. 
 [EW18733]
- A startup error in the Atmel FlashAT91SAM7Sx flash loader has been corrected. 
 [EW18734]
- The - iomc9328mx1.hfile now defines UART3.
 [EW18748]
- The - iomc9328mx1.hfile now defines the- SSI2_CLK_ENand- UART3_CLK_ENbits.
 [EW18766]
- The LPC2148 Audiodevice example used the wrong configuration of - PINSEL1_bit.P0_17and- PINSEL1_bit.P0_18for capture mode.
 [EW18817]
- The - iotms470r1a288.hfile now defines the- C2SIBregisters.
 [EW18834]
- Corrected problems with the STR750 and STR912 mass storage examples. 
 [EW18897,EW18941,EW18942]
- Corrected the definition of IC2 for MAC7121. 
 [EW18905]
- The - iolpc2210.hfile now defines the- U0TER,- U1TER,- T0CTCR,- T1CTCRand- SCSregisters.
 [EW18928]
- The - default.i79file was corrupt.
 [EW18952]
- The Nohau NXP LPC288x example failed to load to flash memory. 
 [EW18953]
- Corrected the LPC214x USB uart virtual com example. 
 [EW18965]
- Corrected the Freescale i.MX21 flash loader. 
 [EW18985]
- The - iolpc2138.hfile now defines P0_26-P0_31 in the- __pinsel1_bitsstruct.
 [EW19002]
- Corrected the addresses of AD0 and AD1 in the header file - iolpc2138.h.
 [EW19075]
- The Additional include directories list in the IDE options dialog box, Project->Options->C/C++ Compiler->Preprocessor, was not saved between sessions, if the list started with a blank line. 
 [EW19084]
- The - iotms470r1b1m.hfile now defines- DWCTRL,- DWKEYand- DWPRLD.
 [EW19131]
- ARM EABI compliance
 The IAR C/C++ compiler, assembler, linker and debugger comply with ARM EABI 2.0 - the Embedded Application Binary Interface for ARM - based on ELF/DWARF 3.0. The advantage of AEABI compliance is that any such module can be linked with any other AEABI compliant module, even modules provided by other vendors. This will for example allow modules created by GNU, ARM RealView and IAR Embedded Workbench for ARM to be linked together. For more information, see http://www.arm.com/products/DevTools/ABI.html.
- ETB
 The debugger can now display trace data from the ETB (Embedded Trace Buffer) available on some ARM devices. This is supported when the J-Link probe is used.
- Data breakpoints
 Data breakpoints is now supported on real hardware. The data breakpoint feature is supported by the J-Link, RDI, Macraigor, and Luminary FTDI debugger drivers.
- GDB server connectivity
 A debugger driver for connection to GDB server is included. It is intended for use with the ST STR9-comStick development kit. All other uses are considered experimental.
- I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (C and assembler) and during debugging. Additional files in this release are provided for:- Freescale MCIMX27, MCIMX31
- Luminary LM3S317, LM3S617, LM3S618, LM3S817, LM3S818, LM3S2110, LM3S2139, LM3S2410, LM3S2412, LM3S2432, LM3S2533, LM3S2620, LM3S2637, LM3S2651, LM3S2730, LM3S2739, LM3S2939, LM3S2948, LM3S2950, LM3S2965, LM3S6100, LM3S6110, LM3S6420, LM3S6422, LM3S6432, LM3S6610, LM3S6633, LM3S6637, LM3S6730, LM3S6938, LM3S6952, LM3S6965
- NXP LPC2109
- NXP SJA2020
- ST STM32F101, STM32F103, STR751, STR752, STR755, STR910FA, STR911FA, STR912FA
- Winbond W90P710
 
V4.41A 2006-12-08
Program corrections
- The ST STR71x flash loader will fill gaps in the code with ones instead of skipping over them. 
 [EW18036]
- Fast GPIO definitions, for example - FIODIR, were missing in- iolpc2148.hand- iolpc2101.h.
 [EW18315]
- Adding a trailing semicolon to the File types list box in the Find in Files dialog box, no longer causes the Embedded Workbench IDE to exit unexpectedly. 
 [EW18357]
- Incorrect definitions for - ENET_MAH,- ENET_MAL,- ENET_MAH_BUFand- ENET_MAL_BUFin- iostr912.hhave been corrected.
 [EW18397]
- The flash loader for Analog Devices ADuC702x did not work for the latest revision of the device. 
 [EW18412]
- The - Makecommand will no longer always rebuild the whole project if the application output file is located outside the project directory.
 [EW18441]
- Interrupt simulation was always incorrectly enabled after reload of a project. 
 [EW18480]
- There was a problem in all NXP LPC2xxx flash loaders. Writing code with gaps to the flash memory could earlier fail if the gap spanned more than 512 bytes into a sector, in that case the sector failed to be erased. 
 [EW18546]
- The definition of the - SCSregister for NXP LPC23xx has been corrected.
 [EW18599]
- Incorrect core setting for TI OMAP5910 and Atmel AT91SAM9260. 
 [EW18602]
- The code for the FIQ handler has been corrected in NXP - LPC213x\IAR-P213x\app\demo.c.
 [EW18618]
- The watchdog was not disabled in the - ARM\examples\Philips\LPC3180\Phytec\Gettingstarted\main.cfile. This caused the watchdog to time out and jump to an unknown address.
 [EW18619]
- IAR PowerPac for ARM
 IAR PowerPac for ARM is an integrated middleware family that combines a small memory footprint RTOS and a versatile file system. The bundled evaluation version of PowerPac supports three tasks for the RTOS and one open file in the file system.
- Live watch on target hardware
 The debugger supports ARM DCC (ARM Debug Communication Channel) to display live watch of global/static variables, memory, and peripherals.
- Code coverage using J-trace
 The execution data captured with J-Trace can be presented in a code coverage view.
- I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (C and assembler) and during debugging. Additional files in this release are provided for:- Atmel AT91SAM7X512, AT91SAM7XC512, AT91SAM9260, AT91SAM9263
- Freescale MC9328MX31
- Hilscher netX50, netX100, netX500
- Luminary LM3S328, LM3S601, LM3S610, LM3S611, LM3S612, LM3S613, LM3S615, LM3S628, LM3S801, LM3S811, LM3S812, LM3S815, LM3S828
- NXP LPC2364, LPC2366, LPC2368, LPC2378, LPC2458, LPC2468, LPC2880, LPC2888, LPC3180
- Samsung S3C2510A
- ST STR750
- Winbond W90P710, W90N740, W90N745.
 
- New Find commands
 Two new search commands have been added, Find Next (Selected) and Find Previous (Selected). If there is a non-empty selection, that text is immediately searched for. Otherwise, if the insertion point is placed in a word, that word is searched for.
- New source browser filter
 A new filter, Non-member functions & variables has been added to the source browser context menu. This filter will limit the display to functions and variables that are not members of a class.
 
V4.40A 2006-05-18
Program corrections
- None.
New features
- Cortex M3
 Support for code generation and debugging for ARM Cortex M3 cores. Debugging on Cortex M3 hardware is supported using the J-Link probe or the Luminary FTDI solution.
- Macraigor usb2Demon and usb2Sprite
 The Macraigor usb2Demon and usb2Sprite JTAG probes are supported.
- µC/OS-II RTOS plugin
 The Micriµm µC/OS-II kernel awareness plugin is now included in the product.
- Memory save/restore
 Transfers memory contents from/to file in intel-hex or motorola format.
- Full control over hardware and software breakpoint selection
 The type of individual breakpoints and the default breakpoint type can now be controlled. Available breakpoint types are auto, hardware and software.
 The type of a specific breakpoint is displayed in a tool tip.
- Statics watch window
 Displays global and static variables, including function and class statics.
- Symbolic memory window
 Displays memory content annotated with global symbols.
- Stack check window.
 The stack check window has been enhanced with more configuration capatibilities.
 The selected options are now stored at the project level instead of at Embedded Workbench level.
V4.31A 2006-02-03
Program corrections
- The addresses of the - PEDRand- PEDDRregisters were incorrect in- ioep73xx.h.
 [EW17024]
- The vector area size for the Freescale MAC7100 example was incorrect. 
 [EW17149]
- There was an error in the definition of the - RCPC HCLKPrescaler register in- iolh75401.hand- iolh75400.h.
 [EW17183]
- The Philips flash loader did not disable the PLL prior to programming flash. This could cause data errors due to a too high (PLL) system clock. 
 [EW17242]
- The - T0CTCRand- T1CTCRregisters were missing in- iolpc2130.h,- iolpc2131.h,- iolpc2132.h,- iolpc2134.h,- iolpc2136.h,- iolpc2138.h,- iolpc2142.hand- iolpc2148.h.
 [EW17243]
- The file declaring intrinsic functions was incorrectly named - intrinsic.h, the correct name is- intrinsics.h.
 [EW17253]
- Pressing the Toggle Source button in the Trace window could under certain circumstances crash the debugger. 
 [EW17256]
- Incorrect address definition for the - BCONregisters in- iostr710.hand- iostr710.ddf.
 [EW17378]
- Definition of the register - DYNMRCONhas been added to- iolh79524.hand- iolh79525.h.
 [EW17493]
- The flash loader for STR71x devices, - FlashSTR71xF.d79, did not program bank 1 correctly.
 [EW17494]
- A linker output file with a - .sfile name extension could cause the IDE to hang during build.
 [EW17509]
- "First Record" appeared as tooltip for variables in the debugger editor windows until an explicit focus was made on the editor window. 
 [EW17564]
- The LPC2148 LCD example failed to service more than one UART interrupt. 
 [EW17632,EW17652]
- Changed the definition of - REVto- _REVin- iomac7100.hand- iomac7200.hto avoid name conflicts in the assembler.
 [EW17767]
- J-Trace support
 J-Trace is an advanced trace probe that can capture trace data from ARM devices with ETM (Embedded Trace Macrocell) support. J-Trace is fully supported by the C-SPY debugger.
- J-Link JTAG probe download speed
 J-Link and J-Trace now achieves download speeds of up to 580 Kbyte/sec for ARM7 and 370 Kbyte/sec for ARM9.
 J-Link and J-Trace also supports adaptive clocking using theRTCKJTAG signal.
- Multi-core debugging
 The C-SPY debugger and J-Link supports debugging of multiple ARM cores with multiple instances of the IAR Embedded Workbench IDE. There can be multiple cores on the same JTAG scan chain, multiple J-Links on the same host computer, or a combination of the two.
- 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 then the application 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; 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.
- ADS and RealView migration guides
 Migration guides to help you migrate from the ARM ADS and RealView tools to IAR Embedded Workbench for ARM.
- embOS C-SPY plugin
 A C-SPY debugger plugin for the embOS realtime operating system from Segger Microcontroller Systems is included in this release. The plugin provides embOS awareness during debugging sessions and enables you to inspect the state of several embOS primitives such as the task list, resource semaphores, mailboxes, or timers. For more information, see embOS plugin for IAR Embedded Workbench.
- 
    Compatible with the SMX RTOS from Micro Digital
 The IAR Embedded Workbench for ARM now supports the SMX RTOS, and a plugin for the IAR C-SPY Debugger is available from Micro Digital. Please visit Micro Digital at http://www.smxrtos.com for details about SMX RTOS and their IAR C-SPY Debugger plugin.
- 
    Compatible with the NORTi RTOS from MISPO
 The IAR Embedded Workbench for ARM now supports the NORTi, and a plugin for the IAR C-SPY Debugger is available from MISPO. Please visit MISPO at http://www.mispo.co.jp for details about NORTi and their IAR C-SPY Debugger plugin.
- I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (C and assembler) and during debugging. New additions in this release are:- Analog Devices ADuC7019, ADuC7030, ADuC7031, ADuC7032, ADuC7033, ADuC7128, ADuC7129, ADuC7229
- Atmel AT91SAM7A1, AT91SAM7A2, AT91SAM7S321, AT91SAM7X128, AT91SAM7XC128, AT91SAM7X256, AT91SAM7XC256, AT91SAM9261, AT91FR40162S, AT91C140
- Freescale MAC7116
- Freescale MC9328MX21, MC9328MXL, MC9328MXS
- NetSilicon NS9360
- OKI ML696201, ML69Q6203, ML696500, ML69Q6501
- Philips LPC2101, LPC2102, LPC2103, LPC2141, LPC2144, LPC2146, LPC2210, LPC2220, LPC3100
- ST STR730, STR911, STR912, SpearNet
- Texas Instruments TMS470R1A64, TMS470R1A288, TMS470R1B1M
 
- It is now possible to specify the segment alignment and the initial start value for the CRC checksum calculation. These settings are available on the Processing page under Project>Options>Linker.
- A block selected in the editor can be commented/uncommented by single commands.
- The editor now indicates an appropriate line width for printing, either based on a user-configurable fixed number of characters or on the current printer page width.
- Workspace and project files are now optionally saved before a project is built.
- Improved Find, Find and Replace, and Incremental Search dialog boxes.
- Custom file types are now available in the Find in Files dialog box.
- A parameter to filter build messages has been added to the command-line 
      build utility iarbuild.
- To make pre- and post-build actions easier, browse buttons have been added.
V4.30A 2005-06-23
Program corrections
- Removed ; at end of macro definitions in io_macros.h. ; are already present at end of register definitions in chip header files. This resulted in many unnecessary remarks about double semicolons, if remarks were enabled. 
 [EW16428]
- If a project was placed in the Embedded Workbench installation directory, Find in Files regarded the project's files as system include files. This meant that when the option "Project files and user include files" (i.e. no system include files) was selected, no files were searched through. 
 [EW16441]
- The Memory window now displays "--" for each individual memory unit that cannot be read-accessed, as opposed to the whole row. 
 [EW16446]
- The MAM registers were missing and the GPIO and SPI0 registers had the wrong names in the header files iolpc2131.h, iolpc2132.h and iolpc2138.h. 
 [EW16459,EW16463]
- Some interrupt vector numbers were missing in the header files iolpc2119.h, iolpc2129.h, iolpc2194.h, iolpc2292.h and iolpc2294.h. 
 [EW16460]
- Errors and missing fields in the header files ioat91sam7s32.ddf and ioat91sam7s64.ddf. 
 [EW16504,EW16583,EW16693]
- In debugger windows, bitfields are now shown with the correct value, instead of the value of the whole encompassing integer. 
 [EW16524]
- If you selected a cursive font like "Monotype Corsiva", all fonts selected thereafter also became cursive. 
 [EW16604]
- AT91SAM7 flash programming could give a verification error even when the flash memory was correctly programmed. 
 [EW16610]
- Variable names in SAM7 macro files could easily conflict with global variables in the application, causing confusion when displaying such variables in the debugger watch window. 
 [EW16643]
- A problem with source code control operations on Embedded Workbench projects connected to Microsoft Visual SourceSafe has been corrected. Now all operations can be performed on the projects. 
 [EW16644]
- Loading of large projects, or specifically projects with large dependency files (.dep), has been speeded up considerably. 
 [EW16731]
- The XTI_CTRL and XTI_SR registers had incorrect address definitions in the header files iostr710.h, iostr711.h, and iostr712.h. 
 [EW16746]
- The bitfields urxint1, utxint1, urxint2 and utxint2 were incorrectly defined in the header file ioep73xx.h. 
 [EW16794]
- Bit names have been added to the definition of PINSEL2 in the header files iolpc2212.h and iolpc2214.h. 
 [EW16884]
- The bit EN_HALT has been added to the definition of the RCCU_CCR register in the header files iostr710.h, iostr711.h, and iostr712.h. 
 [EW16912]
- Creating a new project gave the warning: 
 Chip config file $TOOLKIT_DIR$\config\chip\ not found.
 [EW16922]
- ARM11
 Support for code generation and debugging for ARM11 cores. With this new addition, EWARM supports the ARM families ARM7, ARM9, ARM9E, ARM10 and ARM11 (ARM instruction set v4, v5 and v6). The Intel XScale architecture (excluding co-processors) is also supported.
- Speed optimizations
 The compiler speed optimizations have been improved. In addition, the floating point library have been rewritten and is about twice as fast as the previous version.
- Multi-file compilation
 Several source files can be combined and compiled at the same time by the compiler. This allows the optimizer to operate on a larger set of code and can result in smaller code.
- OSEK Run Time Interface (ORTI) support
 The ORTI Interface specifies a way to inform the debugger about all the internals of an OSEK OS. Based on this interface, C-SPY now provides sophisticated debug awareness for any ORTI-compliant OS.
- OSE Epsilon RTOS plugin
 The OSE Epsilon Kernel Awareness plugin is delivered and installed as a part of the IAR Embedded Workbench® IDE.
- Multiple flash loaders
 Multiple flash loaders can be configured to support systems with more than one flash memory.
- Generic flash loader
 The generic flash loader mechanism was introduced in version 4.10.
 The document IAR Embedded Workbench flash loader developer guide describes the flash loader functionality, the API and how to develop a flash loader. The source code for supported flash loaders can be found in the...\arm\src\flashloaderdirectory.
- I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (C and assembler header files) and during debugging. New additions in this release are:- Atmel AT91SAM7S128, AT91SAM7S256, AT91SAM7A3, AT91RM3400
- Cirrus EP9302, EP9307
- Freescale MAC7106, MAC7126, MAC7136, MAC7202, MAC7212, MAC7222, MAC7242, MAC7252
- NetSilicon NS9360
- OKI ML67Q4050, ML67Q4051, ML67Q4060, ML67Q4061
- Philips LPC2131, LPC2134, LPC2136, LPC2142, LPC2148
- Samsung S3C2410, S3C2440A, S3C2440X, S3F445HX
- ST STR715, STR730
- Texas Instruments TMS470R1A1M
 
- Editor features
 - Code templates in the editor allow for quick insertion of commonly used code constructs. You can add your own customized code templates.
- Include files can be conveniently accessed via a context menu.
- Automatic parenthesis matching.
 
- Trace
 New trace handling. In addition to hardware trace, the new trace mechanism is also available in the simulator.
- J-Link TCP/IP server
 The debugger can connect remotely to a J-Link JTAG interface on another PC running the J-Link TCP/IP server.
- 
    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.
 
- 
    It is now possible to launch the interactive debugger with a
    given debug file, and pass command line parameters. 
 
V4.20A 2005-01-10
Program corrections
- Adding multiple source files with the same name would cause valid but annoying repeating error messages in the Build log window. This has been corrected and now the error message doesn't appear until an actual build operation is performed (and it only appears once). 
 [EW15483]
- The option to choose project files has been put back in the Find in Files dialog box. The dialog box has also been redesigned. 
 [EW15634]
- Errors in custom build settings could cause annoying repeating error messages in the Build log window. Also, certain custom build errors could cause some problems with subsequent builds even after being corrected. 
 [EW15638 (EW15636)]
- The SSI2 and UART3 registers were missing in the file - iomc9328mx1.h.
 [EW15658,EW15677]
- Incorrect bit definitions were used for the ICR registers of the GPIO module in the file - iomc9328mx1.h.
 [EW15662]
- DMA channel registers were numbered 1-11 instead of 0-10 in the file - iomc9328mx1.h.
 [EW15572]
- An icon in the workspace window looked confusingly like a check box. It has been replaced by a less ambiguous icon. 
 [EW15688]
- The option dialog box allowed settings that are incompatible with the chosen chip ( - .i79) file.
 [EW15724]
- The file - low_level_init.s79could not be assembled.
 [EW15809]
- The GPIO2 and GPIO3 registers were missing in the files - iolpc2212.hand- iolpc2214.h.
 [EW15999, EW16189]
- The Philips flash loaders have changed names to - FlashPhilipsLPC128k.d79for 128 Kbytes devices and- FlashPhilipsLPC256k.d79for 256 Kbytes devices. LPC2212 now uses the 128 Kbytes variant and LPC2124 uses the 256 Kbytes flash loader.
 [EW16057]
- The derivative support files - iolpc2294.hand- iolpc2292.hwere missing definitions for the registers IO2PIN, IO2SET, IO2DIR, IO2CLR, IO3PIN, IO3SET, IO3DIR and IO3CLR.
 [EW16141]
- A few register definitions in the PIO modules were missing in - ioat91rm9200.hand- ioat91rm9200.ddf.
 [EW16163]
- Some interrupt sources were incorrect, and some were missing in the files - iolpc2114.h,- iolpc2124.h,- iolpc2212.hand- iolpc2214.h.
 [EW16190]
- Integration with source code control systems
 IAR Embedded Workbench can identify and access any third-party source code control system that conforms to the SCC interface published by Microsoft.
- MISRA C support
 The Motor Industry Software Reliability Association (MISRA) has developed a set of guidelines for C programming of safety-related embedded automotive systems. IAR Embedded Workbench now supports automatic checking of most of these rules. For more information, see the IAR Embedded Workbench MISRA C Reference Guide.
- Multiple and virtual inheritance
 Support for C++ multiple inheritance and virtual inheritance.
- Source browser
 The source browser has been improved. New features include filtering and sorting of symbols.
- Linking of raw binary images
 The linker can link raw binary images directly. This is useful for linking large binary data like multimedia files.
- Compiler optimizations
 Improved optimizations will give faster target code execution and smaller code size.
- Improved context-sensitive help
 Context-sensitive compiler reference information is now available in the online help system, for example on intrinsic functions and extended keywords.
- Generic flash loader
 The generic flash loader mechanism was introduced in version 4.10.
 The document IAR Embedded Workbench flash loader developer guide describes the flash loader functionality, the API and how to develop a flash loader. The source code for supported flash loaders can be found in the...\arm\src\flashloaderdirectory.
- Flash loaders
 Flash loaders for the following devices are included in the installation- Analog Devices ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026, ADuC7027
- Atmel AT91SAM7S32, AT91SAM7S64
- Freescale MAC7101, MAC7111, MAC7112, MAC7121, MAC7122, MAC7131, MAC7141, MAC7142
- Philips LPC2104, LPC2105, LPC2106, LPC2114, LPC2124, LPC2212, LPC2214, LPC2119, LPC2129, LPC2194, LPC2292, LPC2294
- ST STR710, STR711, STR712
- Texas Instruments TMS470R1A128, TMS470R1A256, TMS470R1A384
 
- I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (C and assembler header files) and during debugging. New additions in this release are:- Atmel AT91SAM7S32, AT91SAM7S64
- Philips LPC2132, LPC2138
- ST STR710, STR711, STR712, STR720
- Texas Instruments TMS470R1A128, TMS470R1A256, TMS470R1A384
 
- Example projects
 Example projects for various evaluation boards, including evaluation boards from IAR Systems, Analog Devices, Aiji Systems, ARM, Atmel, Cirrus Logic, Freescale, Keil, OKI, Olimex, Pasat, Philips, Phytec, ST and Texas Instruments, are included in the installation, see the...\arm\examplesdirectory.
- 
    Find in files
 The find in files search mechanism has been improved. Various search scopes can be specified like project files, directory and file groups.
- 
    Drag and drop to project manager
 Drag and drop of files to the project manager, and project files to the workspace.
- 
    Auto indent
 The editor can auto indent according to C syntax.
- 
    Pre and post build
 Pre and post build commands can be configured.
- 
    File viewers
 Files in a project can now be opened with another application than the built-in editor. Choose Tools>Configure Viewers and configure which application to use with a certain filename extension.
- 
    File properties
 You can now right-click a file in the Workspace window to display the file properties.
- 
    File status
 File name and line number are now displayed in the Build log window.
- 
    Compiling a selection of source files
 The Compile command can now be applied to a selection of source files.
- 
    Editing in the 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.
- 
    Editor removal of trailing blanks
 The editor now removes trailing blanks when text files are saved. To turn off this feature choose Tools>Options and click the Editor tab and select Remove trailing blanks.
 
V4.11A 2004-06-10
Program corrections
- The context help did not work for the debugger option dialogs associated with JTAG and ROM monitors. 
 [EW15001]
- Converting a project file (.pew) created with the old project manager (3.30 and older) could crash the IDE. 
 The conversion actually succeeded and completed before the IDE crashed. The workaround was to restart the Embedded Workbench and add the new project file (.ewp) to the workspace.
 Note that the new project file (.ewp) was created just before the crash of the IDE when converting the old project (.pew).
 [EW15027]
- Pressing F1 in the C-SPY Live Watch window displayed help for the Watch window. 
 [EW15100]
- The flash loader API documentation was missing from the product installation. 
 [EW15397]
- The GPIO address in iolh75401.h had the wrong value. 
 [EW15399]
- The obsolete segment HUGE_Z was used in swi_handler.s79 instead of DATA_Z. 
 [EW15415]
- The file - arm\src\sim\stack.xclcontained obsolete segment names.
 [EW15416]
- 
    Compiler optimizations
 Improved speed optimizations will give faster target code execution.
- 
    More C99 features
 The following C99 features can now be used in the C language if language extensions (-e) are enabled:
- The inlinekeyword. It works as the C++ inline keyword (and the#pragma inlinedeclaration).
- Mixing declarations and statements within the same scope.
- Having a declaration in the initialization expression of a for-loop.
- 
    CMX Tiny+ RTOS plugin
 A CMX Tiny+ RTOS plugin for the IAR C-SPY Debugger is now included in the product. When used together with the CMX Tiny+ RTOS, which is available separately from CMX Systems, the plugin facilitates powerful RTOS-aware debugging. Visit the http://www.cmx.com web site for details about CMX Tiny+.
- 
    Macraigor USBdemon
 The Macraigor USBdemon JTAG interface is supported.
- 
    Generic flash loader
 The generic flash loader mechanism was introduced in version 4.10. The API has been improved in 4.11 to facilitate the development of custom flash loaders.
 The document IAR Embedded Workbench flash loader developer guide describes the flash loader functionallity, the API and how to develop a flash loader. The source code for supported flash loaders can be found in the...\arm\src\flashloaderdirectory.
- 
    Flash loaders
 Flash loaders for the following devices are included in the installation- Analog Devices ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026, ADuC7027
- Philips LPC2104, LPC2105, LPC2106, LPC2114, LPC2124, LPC2212, LPC2214, LPC2119, LPC2129, LPC2194, LPC2292, LPC2294
 
- 
    I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (C/assembler header files) and during debugging. New additions in this release are- Analog Devices ADuC7020, ADuC7021, ADuC7022, ADuC7024, ADuC7025, ADuC7026, ADuC7027
- Atmel AT91SAM7S64
- Cirrus EP9301, EP9315
- Motorola MAC7100, MAC7101, MAC7111, MAC7112, MAC7121, MAC7122, MAC7131, MAC7141, MAC7142
- Philips LPC2130
 
- 
    USB dongles
 The license management system now supports USB dongles. Parallel port dongles will continue to be supported.
- 
    NDEBUG
 The project manager by default defines the symbolNDEBUGfor release projects.
- 
    Log of build output
 The build messages generated when a project is built can be logged to a file.
V4.10B 2004-03-09
Program corrections
- Small windows close to the screen end could become inaccessible when moving a project to a computer with lower screen resolution. 
 [EW13210]
- The default linker control file produced by the command file configuration tool generated a link error. 
 [EW14942]
- The selection of the default flash loader did not work. Even if the path was correct it would fail. 
 [EW14999]
- The source browser could in some situations fail, the failing mode could vary. The Workbench could hang, consume too much CPU power or use large amounts of memory. 
 [EW15000]
- 
    Compiler optimizations
 Improved optimizations will give up to 10% smaller code in both ARM and Thumb mode.
- 
    Easier window management
 Dockable windows make it easier to organize windows. Windows can be organized in tab groups.
- 
    Source browser
 Builds a catalog of functions, variables, macros, classes and member functions. The source browser allows quick navigation to definitions and declarations.
- 
    Improved context sensitive help
 In addition to standard context help functions, it is now possible to click on keywords and library functions in the editor and quickly get to the help page.
- 
    Generic flash downloader framework
 Flash loaders can be loaded by the IAR C-SPY Debugger to handle code download to flash memory. A set of flash loaders for various chips is provided with the EWARM distribution. Due to the vast amount of flash solutions in the ARM marketplace it is likely that more flash loaders will be provided by chip manufacturers, third party vendors and end users. Flash loader API, documentation and an example loader in source form is provided to make it easy for developers to implement flash algorithms.
- 
    IAR/Segger J-Link JTAG interface
 The IAR/Segger J-Link JTAG interface is supported by the debugger.
- 
    ETM trace
 The IAR C-SPY Debugger now supports the ARM ETM (Embedded Trace Macrocell) trace when using the EPI Majic JTAG interface.
- 
    Compatible with the RTXC Quadros from Quadros Systems
 The IAR Embedded Workbench for ARM now fully supports the RTXC Quadros, and a plugin for the IAR C-SPY Debugger is available from Quadros Systems. Please visit Quadros Systems at http://www.quadros.com for details about RTXC Quadros and their IAR C-SPY Debugger plugin.
- 
    Optimized handling of large applications
 Large applications which are larger than 4 MB in Thumb mode and larger than 32 MB in ARM mode, need relay functions to branch/call functions outside that area. The linker will automatically use the optimal way of branching. Because of this, there is no need for the small/large code models used in previous versions.
- 
    VFP floating-point support
 The ARM VFP floating-point coprocessors are supported. The whole tool chain is VFP aware; the compiler, assembler, and debugger.
- 
    Coprocessor intrinsic functions
 New intrinsic functions make it possible to access ARM coprocessors from C/C++ without having to revert to assembler or inline assembler.
- 
    Easy configuration of the C/C++ libraries
 The C/C++ libraries come in two variants, normal and full. Each variant can be further customized to reach an optimum balance between functionality and size. To allow even more detailed tuning of the libraries, the library configuration and individual source files can be modified. A template project is available to make it easy to rebuild the whole C/C++ library.
- 
    I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (header files) and during debugging. New additions in this release are Atmel AT91RM9200, Intel XScale PXA255, OKI ML674000, ML674001, ML67Q4002, ML67Q4003, ML675001, ML67Q5002, ML67Q5003, Motorola Dragonball MC9328MX1, Philips LPC2114, LPC2124, LPC2212, LPC2214, LPC2119, LPC2129, LPC2194, LPC2292, LPC2294, Sharp LH7A400, LH7A404, LH75400, LH75401, LH75410 and LH75411.
- 
    New example projects
 Example projects for various evaluation boards, including boards from IAR Systems, Aiji Systems, ARM, Atmel, Cirrus Logic, OKI, and Philips, are included in the installation, see the ...\arm\examples directory.
- 
    Nested interrupts
 A new compiler keyword,__nested, will generate interrupt function code that allows nested interrupts.
- 
    Smart display of STL containers during debugging
 Allows objects in STL containers to be viewed and manipulated.
- 
    New auto-display debugger window
 Displays currently active variables and objects.
- 
    Startup screen
 The workbench optionally displays a startup screen where projects can be opened and created. New projects can be based on templates to get started quickly.
- 
    Template projects
 When creating a project, you can base it on a project template. Project templates can be C, C++, assembler or library projects. Template projects can also be used to prefabricate project configurations that can be used in development groups.
- 
    Improved debugger plugin management
 Gives an overview of available plugins and the possibility to enable/disable individual plugins.
V4.10A 2004-02-21
- Executing a "Memory Fill" command for very large chunks of memory could take a long time and occasionally lead to debugger crashes. 
 [EW14252]
- Mixing Embedded Workbench products based on different generations of internal platforms could cause the wrong Workbench IDE to be opened when double clicking on old project files (.pew). EWARM version 4.x is installed in a separate directory, thereby solving this problem. 
 [EW14254]
- The Embedded Workbench can now be closed and the workspace can be changed even when the debugger is running. 
 [EW14375]
- Opening a workspace in the EWARM-LE limited edition opened an error dialog box with the message 
 - Failed to locate the Debugger package "DebuggerGui.dll"
 - No debugger will be present
 [EW14512]
V3.40C 2003-12-15
- The linker file configurator did not start.
 [EW14240,EW14242]
V3.40A 2003-07-03
Program corrections
- Extra command line options did not allow space. 
 [EW12324]
- 
    New Embedded Workbench project manager
 In the new project manager the workspace concept is introduced. It gives you the possibility to collect all your related projects in the same workspace.
 The new project manager also gives easy access to compiler and assembler list files.
- 
    Express Logic ThreadX RTOS plugin
 A ThreadX RTOS plugin for the IAR C-SPY debugger is now included in the product. When used together with the ThreadX RTOS, which is available separately from Express Logic Systems, the plugin facilitates powerful RTOS-aware debugging. Please visit http://www.expresslogic.com for details about ThreadX.
- 
    VFP floating point support
 The ARM VFP floating point coprocessors are now supported. The whole tool chain is VFP aware; the compiler, assembler, and debugger.
- 
    Macraigor mpDemon JTAG interface
 The Macraigor mpDemon JTAG interface is supported. All possible connections (Ethernet, parallel, and serial) are supported.
- 
    Macraigor on ARM9
 The Macraigor C-SPY debugger driver now supports ARM9 cores.
- 
    Support for EPI's Jeeni over ethernet
 The IAR C-SPY debugger now supports connection to the Jeeni JTAG emulator from EPI over Ethernet in addition to the serial port connection.
- 
    I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (header files) and during debugging. New additions in this release are Cirrus EP9312, Philips LPC210x, OKI ML674001, ML67Q4002 and ML67Q4003.
- 
    New example projects
 Example projects for various evaluation boards, including boards from Aiji Systems, ARM, Atmel, Cirrus Logic, OKI, and Philips, are included in the installation, see the ...\arm\examples directory.
V3.30A 2003-02-18
- 
    CMX-RTX RTOS plugin
 A CMX-RTX RTOS plugin for the IAR C-SPY debugger is now included in the product. When used together with the CMX-RTX RTOS, which is available separately from CMX Systems, the plugin facilitates powerful RTOS-aware debugging. Please visit http://www.cmx.com for details about CMX-RTX.
- 
    Compatible with the uC/OS-II RTOS
 The IAR Embedded Workbench for ARM now fully supports the uC/OS-II RTOS, and a plugin for the IAR C-SPY debugger is available from Micriµm. Please visit Micriµm at http://www.micrium.com for details about uC/OS-II and their IAR C-SPY debugger plugin.
- 
    Extended EC++ support
 Support for EC++ has been extended with templates and STL. Now it is possible to use advanced C++ features such as templates, namespaces, mutable, static cast, reinterpret cast, and const cast.
- 
    Support for Angel
 The IAR C-SPY debugger now supports the Angel ROM-monitor protocol, which is very popular on evaluation boards. Now you can connect directly to those boards by simply connecting a serial cable between your PC and the evaluation board.
- 
    Support for EPI's Jeeni
 The IAR C-SPY debugger now supports the Jeeni JTAG emulator from EPI. Now you can create your application in the IAR Embedded Workbench, download it using Jeeni, and use the debug features of C-SPY.
- 
    I/O register definition files
 I/O register definition files for symbolic access to registers are used both when programming (header files) and during debugging. New additions in this release are Intel XScale IOP321, PXA210, and PXA250, Cirrus EP73xx.h, and Samsung S3C4530A. It has also been verified that the Atmel chips AT91F40816, AT91FR40162, AT91FR4042, and AT91FR4081 are supported through existing definition files.
- 
    Multibyte character support in compiler
 The compiler now supports multibyte characters, which makes it possible to write strings and comments in Asian languages.
- 
    Linker setup editor
 A user friendly graphical tool which generates the linker configuration file (.xcl) is now integrated into the IAR Embedded Workbench for ARM.
- 
    File I/O debugger support
 Support for file I/O now allows the target application to access the host PC file system.
- 
    Simulator trace module
 A new trace module now allows tracing of applications which are executing in the IAR C-SPY simulator.
- 
    Example Projects
 Example projects for various evaluation boards, including boards from Aiji Systems, ARM, Atmel, Cirrus Logic, and OKI, are included in the installation.
V3.21A 2002-09-27
- The wrong library was selected when generating code for XScale. 
 [EW12344]
V3.20A 2001-12-04
Program corrections
- The XLINK option '-ysa' could not be specified. 
 [EW11518]
- ARM instruction set version 5TE is supported in addition to version 4T.
- IAR Launcher is an application that searches your computer for installed IAR applications and then displays them in a convenient menu for quick access. IAR Launcher resides in your system tray as an icon until you activate it by clicking on it. Please see the separate readme file in the Start menu for more information.
- Example projects for a few evaluation boards are available in the directory ...\ARM\src.
The ARM families ARM7, ARM9, ARM9E and ARM10 are supported.
The Intel XScale architecture (excluding co-processors) is supported.
V3.11A 2001-12-04
- Source files with the .cpp or .cc extension are now treated as source files. 
V3.10A 2001-10-04
- This version of the IAR Embedded Workbench introduces C-SPY 3.2, a new debugger generation. Some of the principal features are:
- Tight integration with the IAR Embedded Workbench IDE
- Support for real stack backtrace
- Support for RTOS-aware debugging
- A modular and extensible architecture
- This product is supported on Windows 98, NT, ME, 2000 and XP.
- IAR UML State Chart Design and Simulation Tool is a collection of software tools for designing and simulating real-time applications. This tool is installed separately from the product CD.
- Support for Embedded C++.
- Support for the ARM9TDMI core.
- Support for the big-endian byte order.