- 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 defaultddf
file, 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.h
files 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
MS
definition intms470r1b1m_bit_definitions.h
, conflicts with theMS
definition iniotms470r1b1m.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
.out
causes 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.exe
will 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]A file corruption problem might cause dependency files (filename extension
.dep
) to describe some include files as files that generate output files (like, for example,.c
and.cpp
files). This will cause the IAR Embedded Workbench IDE to terminate unexpectedly when:
- you perform a Find in Files search with the Project files and user include files option selected
or
- you choose the editor window context menu command Open file.h on an#include "file.h"
line.
[EW22792]Having a shift-left operator within a macro definition, as in:
#define RUN_LED 1<<10
can cause a number of functions following such a definition to be omitted from the editor Go to Function window.
[EW22809]If the Linker configuration file editor fails to modify a linker configuration file because it is read-only, this is not reported.
[EW22817]If you have a network license and updates IAR Embedded Workbench to version 6.21 or later, the license key must be re-entered in the installation wizard.
[EW22831]-
The Source Browser fails when the source code includes a file which name is specified through a
#define
.
[EW22948] -
The IDE requires the SCC provider to always return a project name.
[EW22968] -
On Windows XP, the clickable area for changing language is limited to the left half of the flag icon.
[EW22976] 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.ddf
file.
[EW22680] -
RCC_APB2LPENR
andRCC_APB1LPENR
are now correctly named in the header files for STM32L15x.
[EW22683] -
TI Stellaris examples with bootloaders at address zero now work also when debugging.
[EW22753] -
In EWARM 6.30.3:
The Overwrite old file option on the Tools>Options>Messages options page now works also when the path given in the log file text box contains an argument variable, for example$PROJ_DIR$
.
[EW22709] -
In EWARM 6.30.3:
Function-like macros with zero parameters caused the Source Browser to lose the definition following the macro. For example, after this definition:#define MACRO() macro_body
x
in the following lines would not be recognized the Source Browser:MACRO() int x;
This has been corrected.
[EW22794] -
In EWARM 6.30.3:
The debugger device description file for Freescale Kinetis K20 is now included.
[EW22811] -
In EWARM 6.30.3:
The My Pages link in the Information Center now opens My Pages in an external web browser.
[EW22813] -
In EWARM 6.30.3:
TheTZIC_PRIOMASK
register in the header fileiomcimx535.h
has the correct address now.
[EW22821] -
In EWARM 6.30.3:
ThePWR_CR/LPSDSR
bit in the header fileiostm32L151xx.h
has the correct name now.
[EW22835] -
In EWARM 6.30.3:
The VFP option was greyed out for Freescale Kinetis devices with floating point unit.
[EW22860] -
In EWARM 6.30.3:
A number of register definitions were missing from the Analog devices header files ioaduc7023.h, ioaduc7060.h and ioaduc7122.h.
[EW22863] -
In EWARM 6.30.4:
The LPC2468 simple examples wrongly enabled IRQ before enabling the VIC.
[EW22870] -
In EWARM 6.30.4:
Some of the STM32f4xx examples wrongly configured the SWO clock to 120 MHz, it is now set to the correct value 150 MHz.
[EW22904] -
In EWARM 6.30.6:
The IAR Embedded Workbench integration with Subversion could misinterpret some Subversion version 1.7.x messages, which resulted in the error message:
SVN: Internal Error: SVN_Status - did not find file.
[EW22892] -
In EWARM 6.30.6:
The Source Browser failed to browse include files specified with an absolute path.
[EW22919] -
In EWARM 6.30.6:
The STM32L15x flashloader failed to handle gaps and fill values within the selected address range.
[EW22924, EW22926] -
In EWARM 6.30.6:
Header and debugger device description file corrections for NXP LPC177x and LPC178x.
[EW22934] -
In EWARM 6.30.6:
The Freescale Kinetis debugger device description files iok10xxxx.ddf and iok20xxxx.ddf were missing from the installation.
[EW22945] -
In EWARM 6.30.6:
Header and debugger device description file corrections for Fujitsu MB9EF126.
[EW22961] -
In EWARM 6.30.6:
The description of MISRA-C:2004 rule 1.1 is now correct:
1.1: [required] All code shall conform to ISO 9899:1990 'Programming languages - C', amended and corrected by ISO/IEC 9899/COR1:1995, ISO/IEC 9899/AMD1:1995, and ISO/IEC 9899/COR2:1996.
[EW22970] -
In EWARM 6.30.6:
Wrong flashloader selected for Freescale Kinetis MK10FN1M0xxx12.
[EW22986] -
In EWARM 6.30.6:
Missing definition for SYSCFG_CMPCR in the header and debugger device description file for ST STM32F2xx.
[EW22992]
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 correctionsThe 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.exe
can 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 correctionsThe
AT91C_ISRAM_SIZE
definition in the Atmel header fileioat9sam7se512.h
was incorrect, the correct value is0x00008000
.
[EW21581]-
A file path exceeding the
_MAX_PATH
Windows 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
ADEN
has been added toiotmpm370FxFG.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.c
caused 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 correctionsThe 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.h
andioat91sam3s4.h
.
[EW21511]Incorrect
ADC2_SMPR2
andADC3_SMPR2
definitions in the ST header filesiostm32f10xx4.h
,iostm32f105xx.h
,iostm32f10xxB.h
,iostm32f10xxE.h
andiostm32f107xx.h
[EW21667]Incorrect definition of
_AT91S_SYS
in the Atmel header fileioat91sam9260.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 optionCortex-M4F
in 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_SSI
iniomcimx27.h
is 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-bdc
does no longer select wrong device.
[EW21432] -
The example
arm\examples\NXP\LPC17xx\IAR-LPC-1768-SK\simple\ADC
no 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 correctionsAn '#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 dataInformation 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\MassStorage
was incorrect.
[EW20333] -
The Toshiba TMPA910CR header file
iotmpa910cr.h
previously 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
AIC
interrupt 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
__noreturn
keyword.
[EW20605] -
The system startup files
cstartup_M.s
andcstartup_M.c
have 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 correctionsThe definitions
SPI_CSR0-SPI_CSR3
have been restored to the fileioat91sam7s64.ddf
.
[EW16853]The
UDP_CSR0-3
andUDP_FDR0-3
definitions 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_DIR
to reach a parent directory, for example$TARGET_DIR$\..\..
, caused the IDE to crash.
[EW17756]The
AIC_SMR0-AIC_SMR31
andAIC_SVR0-AIC_SVR31
definitions have been restored to the filesioat91sam7s64.ddf
andioat91sam7xc256.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
, theUART_RSECR
register is no longer incorrectly namedUART0_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
--BE32
command 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_VR
have been removed from the fileioat91sam9260.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 correctionsChanging 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.exe
could in some cases fail to generate the C output files.
The HET assembler wrapperhet470wrap.exe
was provided in an attempt to create a clean environment for the HET assemblerhet470.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
LDR
instruction at the reset vector due to the chip protection mechanism, it must be aB
instruction. A specificcstartup.s
file 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
IO0PIN
andIO1PIN
as 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-0x0F
now work. However, patterns larger than0xFF
with 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.h
have been corrected.
[EW19728]The
readme.txt
inarm\examples\ST\STR91x\STR91xlibrary\examples\UART
now 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 variableHOMEPATH
in 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.h
file now defines UART3.
[EW18748]The
iomc9328mx1.h
file now defines theSSI2_CLK_EN
andUART3_CLK_EN
bits.
[EW18766]The LPC2148 Audiodevice example used the wrong configuration of
PINSEL1_bit.P0_17
andPINSEL1_bit.P0_18
for capture mode.
[EW18817]The
iotms470r1a288.h
file now defines theC2SIB
registers.
[EW18834]Corrected problems with the STR750 and STR912 mass storage examples.
[EW18897,EW18941,EW18942]Corrected the definition of IC2 for MAC7121.
[EW18905]The
iolpc2210.h
file now defines theU0TER
,U1TER
,T0CTCR
,T1CTCR
andSCS
registers.
[EW18928]The
default.i79
file 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.h
file now defines P0_26-P0_31 in the__pinsel1_bits
struct.
[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.h
file now definesDWCTRL
,DWKEY
andDWPRLD
.
[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 iniolpc2148.h
andiolpc2101.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_BUF
andENET_MAL_BUF
iniostr912.h
have been corrected.
[EW18397]The flash loader for Analog Devices ADuC702x did not work for the latest revision of the device.
[EW18412]The
Make
command 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
SCS
register 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.c
file. 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
PEDR
andPEDDR
registers were incorrect inioep73xx.h
.
[EW17024]The vector area size for the Freescale MAC7100 example was incorrect.
[EW17149]There was an error in the definition of the
RCPC HCLK
Prescaler register iniolh75401.h
andiolh75400.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
T0CTCR
andT1CTCR
registers were missing iniolpc2130.h
,iolpc2131.h
,iolpc2132.h
,iolpc2134.h
,iolpc2136.h
,iolpc2138.h
,iolpc2142.h
andiolpc2148.h
.
[EW17243]The file declaring intrinsic functions was incorrectly named
intrinsic.h
, the correct name isintrinsics.h
.
[EW17253]Pressing the Toggle Source button in the Trace window could under certain circumstances crash the debugger.
[EW17256]Incorrect address definition for the
BCON
registers iniostr710.h
andiostr710.ddf
.
[EW17378]Definition of the register
DYNMRCON
has been added toiolh79524.h
andiolh79525.h
.
[EW17493]The flash loader for STR71x devices,
FlashSTR71xF.d79
, did not program bank 1 correctly.
[EW17494]A linker output file with a
.s
file 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
REV
to_REV
iniomac7100.h
andiomac7200.h
to 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 theRTCK
JTAG 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\flashloader
directory. - 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.s79
could not be assembled.
[EW15809]The GPIO2 and GPIO3 registers were missing in the files
iolpc2212.h
andiolpc2214.h
.
[EW15999, EW16189]The Philips flash loaders have changed names to
FlashPhilipsLPC128k.d79
for 128 Kbytes devices andFlashPhilipsLPC256k.d79
for 256 Kbytes devices. LPC2212 now uses the 128 Kbytes variant and LPC2124 uses the 256 Kbytes flash loader.
[EW16057]The derivative support files
iolpc2294.h
andiolpc2292.h
were 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.h
andioat91rm9200.ddf
.
[EW16163]Some interrupt sources were incorrect, and some were missing in the files
iolpc2114.h
,iolpc2124.h
,iolpc2212.h
andiolpc2214.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\flashloader
directory. - 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\examples
directory. -
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.xcl
contained 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
inline
keyword. It works as the C++ inline keyword (and the#pragma inline
declaration). - 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\flashloader
directory. -
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 symbolNDEBUG
for 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.