- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
- Upgrade information
- Before you install
To avoid any problems, do not install the 9.x release in a directory where you have previously installed a 8.x, 7.x, 6.x, 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 9.x of the generic IDE component, in the same root directory.
- Before you install
- CMSIS Integration - deprecation notification
The integrated CMSIS distribution (5.7.0) located at arm\CMSIS is deprecated starting with EWARM 9.60.1 and will be removed in a future release. Refer to for the latest available CMSIS version on the CMSIS GitHub repository.
Information about the integrated version of CMSIS is found in CMSIS Release Notes and Documentation.
- Handling of CMSIS-DSP Libraries
CMSIS version 5.7.0 was the last version that included prebuilt CMSIS-DSP libraries. To build a legacy project that depends on that or an earlier version, choose Project>Options>General Options>Library Configuration and select the CMSIS (legacy) options:
  [x] Use CMSIS 5.7
    [x] DSP library.
Alternatively, to build a project using a newer version of the CMSIS-DSP library, build it directly from its source code available on GitHub, using the template project and the guidelines provided in the IAR-CMSIS-DSP repository.
- Compiler MISRA C C:1998/C:2004 support is removed in version 9.10
The Compiler MISRA C is still available through the compiler command line but will be removed in a future release.
Refer to IAR C-STAT for full MISRA C support. -
If the IDE seems to become unresponsive, before you close it or force it to exit, try moving or minimizing the main IDE window to see if there is a modal dialog box that you need to respond to, underneath the IDE window.
New features
-
CMake import
CMake projects can be imported and then built, analyzed, and debugged as standard IAR Embedded Workbench projects. This was experimental in the IAR Embedded Workbench for Arm 9.50 release, but is officially supported in this release. -
Generate cspybat command line
The iarbuild tool can generate a cspybat command line for projects. The tool output can also be generated as a Linux shell file (.sh), a Windows batch file (.bat), or a Windows Powershell file (.ps1).
Known problems
-
[EWARM-12818] The CMSIS Manager does not support multicore devices. Symmetric multicore (SMP) devices might work if the cores and setup are completely identical.
-
[EWARM-11621, TPB-3808] When using malloc or calloc to request heap memory of a size close to the full representational range of the size_t type, for example, 0xFFFF'FFFF bytes on a 32-bit architecture or 0xFFFF bytes on a 16-bit architecture, the request fails if no such continuous space is available (which is usually the case). However, input values are processed, for example, word-aligned, before the requested heap space is allocated. As a result, an enormously large input value can wrap around and become tiny, so that the request is accepted instead. This behavior is considered a bug.
The bug shows only in projects that use the no-free heap implementation, that is, using the option --no_free_heap, and particularly when heap storage is requested (using malloc or calloc) with a size close to the full representational size of a size_t type. (To be precise, any heap storage request larger than the full representational range of a size_t type minus the architecture's maximum alignment size is affected by the bug.)
The program correction is that malloc and calloc now check for integer overflows. If a memory request results in an integer overflow, these functions return a null pointer.
Workaround: Use an alternate heap handler such as --basic_heap or --advanced_heap
-
[EWARM-10895] CMSIS-Pack enabled projects cannot be built using BXARM.
-
[EWARM-10527] Building a CMSIS-Pack enabled project using iarbuild will briefly open the CMSIS Manager.
-
[EWARM-7067] Wrong device name is passed to the J-Link debug driver when using Cypress CY8C4146AZI-S455.
-
[EWARM-6288] The file STM32F446.svd does not include definitions of the following registers; FMC_BCR1, WFDIS?CPSIZE[2:0], FMC_BWTRx, and BUSTURN[3:0].
-
[EWARM-6101] The file STM32F412.svd does not define the bits MRLV DS and LRLV DS or the CR register.
-
[EWARM-6087] The file STM32F7x5.svd does not define the LSEDRV bits in the BDCR register in the RCC group.
-
[EWARM-5967] The definition of the RCC RTC enable bit (RCC_APB1ENR_RTCEN) is missing from the STM32F7x7.svd file.
-
[EWARM-5841] Register information for DFSDM and TIM1_CR2 is missing in the file STM32F7x5.svd.
-
[EWARM-5802, EW26721] The definition of the register RCC_APB2ENR is missing in the svd file for STM32F412ZG.
-
[EWARM-5753, EW26646] Definitions of the LCD peripheral registers are missing in the svd file for STM32L476VG.
-
[EWARM-5700, EW26547] The register information for the USB Host High Speed Port (UHPHS) for the Atmel SAMA5D2 series is missing.
-
[EWARM-5624, EW26436] The QUADSPI registers are missing in STM32L4x3.svd.
-
[EWARM-5362, EW25935] Incorrect definitions of USB (OTG_FS_GLOBAL) registers in the SVD file for STM32F446.
-
[EWARM-5319, EW25845] The file STM32F105xx.svd is incorrect when it comes to shared registers for CAN1 and CAN2.
-
[EWARM-4077, EW22817] If the Linker configuration file editor fails to modify a linker configuration file because it is read-only, this is not reported.
-
[EWARM-3921, EWARM-4202, EW23145] Ctrl-v in the on-line help will be sent to the editor in the IDE.
-
[EWARM-3813, EW21960] The example projects for TI RDK-IDM does not work on Rev C16 board.
Program corrections
-
[EWARM-12602] When building a project on Windows, the system path variable is only recognized if spelled PATH or Path (using exactly one of those combinations of upper and lower case).
-
[EWARM-11559] The IDE can become unresponsive in some situations when interacting with the Get Alternative File dialog box.
User guide corrections
- The Build Actions Configuration options in the IDE: The post-build command line is only executed if the project has been re-linked/re-compiled, not automatically after each successful build command.
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 |
Library source code
The full runtime library C source code delivered with the product includes routines used in the prebuilt libraries,
that correspond to assembler routines but are not provided as source code.
You can use the C variant of such a routine if you need to modify it or perform specific testing of it.
See the section "Customizing and building your own library" in the IAR Development Guide for Arm for details about this process.
Installing IAR Embedded Workbench for Arm with Autoinstall
As described in the Installation and Licensing Quick Reference Guide,
it is possible to install IAR Embedded Workbench from the command line, without
human interaction.
Note: This will not install the debug probe drivers. They must be installed
separately. Installers for debug probe drivers can be found under arm\drivers.
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
V9.50 2023-11-28
Program corrections-
[EWARM-11855] Modifications to the pack version used in a CMSIS-Pack enabled project do not persist.
-
[EWARM-11744] The default .ddf file for the ADuCM4050 device does not support all SRAM modes.
-
[EWARM-11416] Using relative paths when specifying the exe directory can trigger build failures when combined with the --checksum option.
Command line debug capability for CI/CD activities and debugging using VS Code on Linux
The C-SPY command line utility (cspybat) and the Runtime Analysis tool (C-RUN) are now available on Linux for running applications in the Simulator, or on hardware using the I-jet and I-jet Trace debug probes.
For more information see Running cspybat on Linux.
Debugging is also available on Linux when using the Visual Studio Code IAR C-SPY Debug Extension. Debugging on Linux is only available when using IAR Build Tools for Arm (BXARM).C-SPY AVH connectivity
Enables virtual prototyping using the Arm Virtual Hardware cloud service. Improvements in the GDB Server debugger driver makes it possible to connect to Arm Virtual Hardware devices. It is recommended to use this in combination with the Arm AVH Debug Accelerator software.
For more information see Debugging on Arm Virtual Hardware.Cortex A support in ST-LINK
Enables debugging ST STM32MP13x devices based on Cortex-A7 when using the ST-LINK debug probe.AMP multicore debugging with J-Link
The advanced AMP (Asymmetric Multi-Processing) multicore debugging available for I-jet and CMSIS-DAP, is now also supported also by the C-SPY J-Link driver.Generalplus G+LINK debug probe support
The Generalplus G+LINK debug probe is now natively supported by the C-SPY Debugger.CMSIS-Toolbox/csolution support
Support for CMSIS-Toolbox, a set of command line tools for working with software packs in Open-CMSIS-Pack format. A CMSIS-Toolbox project is defined by a csolution file. Csolution files can now be directly read by the IAR Embedded Workbench IDE to populate the project manager view, allowing the flexibility of CMSIS-Toolbox to be mirrored in IAR Embedded Workbench and empowering the user with the IAR C-SPY debug experience. Support for importing, building, and debugging projects based on csolution.yml as standard IAR Embedded Workbench projects.MISRA C:2012 Amendment 3
The Static Analysis tool C-STAT has extended its coverage of the MISRA C:2012 Coding Standard and now fully supports MISRA C:2012 Amendment 3. This Amendment adds one new directive and 23 new rules, as well as revising a number of existing guidelines and supporting material.New GCC C language extensions
The following GCC C language extensions are now supported by the compiler- Structures with no members: struct Empty {}
- Empty initializer: struct Color color = {};
Additional Arm ACLE support
Added support for the following Arm C Language Extensions subsets:- __ARM_FEATURE_CLZ
- __ARM_FEATURE_QBIT
- __ARM_FEATURE_DSP
- __ARM_FEATURE_SAT
- __ARM_FEATURE_SIMD32
Experimental CMake import
It is possible to import a CMake project to be built, analyzed, and debugged as a standard IAR Embedded Workbench project. This mechanism will be officially supported in the next release and is considered experimental in the EWARM 9.50 release.
V9.40 2023-05-24
Program corrections-
In EWARM 9.40.2
[EWARM-11472] The registers DCCR, CDR, and SPTR are missing from the Registers window for SCI1, SCI2, and SCI9, for Renesas R7FA2E1 devices. -
[EWARM-11137] When CMSIS Pack groups are added to a project, they are not consistently placed last in the IAR Embedded Workbench project file (.ewp).
-
When bounds checking is enabled, the compiler can exit with an internal error instead of producing a diagnostic message if a pointer to a function-declared track pointer bounds is created inside a function that is declared to not track pointer bounds. This small code example triggers the problem:
int (*b)(void); static int c(void) { return 0;} #pragma no_bounds void a() { b = c; }
-
If the source language detection in the IDE is set to Auto (extension-based), the IDE now recognizes files with the filename extensions .cpp, .cc, .cp, .cxx, and .c++ as C++ source files. To find this setting, choose Project>Options>C/C++ Compiler>Language 1.
V9.32 2022-12-13
Program corrections-
In EWARM 9.32.2
[EWARM-10523] Trying to connect to a target with a Microchip Embedded Debugger (EDBG) onboard, using the CMSIS-DAP driver, might fail with a fatal error. -
[EWARM-10367, TPB-3678] When linking projects where --rwpi is used, --ropi_cb is not used, the input files contain debug information, and at least one entry is not included in the output, the linker can terminate with an internal error: StaticBaseInfoConcrete::IsSet - index out of range: 1.
None
V9.30 2022-06-02
Program corrections-
[EWARM-9838, TPB-3625] Using C-RUN and defining __time32() or __time64() but not time(), causes a link error (Li006 duplicate definitions) for __time32() or __time64().
-
[EWARM-9813] As part of introducing the new Libc++ C++ library, the existing C++ library has been split into two. The common parts are now in a separate library. Additionally, many of the C++ libraries now have a version for cores with hardware floating-point support.
-
[EWARM-9699, TPB-3605] The library files that contain support code for running dynamic initialization manually mention the discontinued linker option --skip_dynamic_initialization instead of the current option --manual_dynamic_initialization.
-
[EWARM-8335] Passing the options --cpu and --fpu to the linker enables the linker to detect if any library or object file included in the build is not compatible with the intended CPU/FPU.
None
V9.20 2021-11-02
Program corrections-
In EWARM 9.20.2
[EWARM-8964] The flash loader for Renesas RE01 does not work with the J-Link probe. -
[EWARM-9304] The documentation for 64-bit Arm exception handlers does not mention that the SPSR_EL1 system register is not saved automatically.
SPSR_EL1 needs to be saved explicitly before interrupts are enabled in order for status flags to be preserved after exception. Doing this explicitly allows other bits of SPSR_EL1 to be manipulated.
See also EWARM-8862 -
[EWARM-9097] The documentation states that clock_t is a 64-bit integer type. This is wrong. clock_t has the same type as time_t.
-
[EWARM-7765, TPB-3372] When compiling C++ code with runtime bounds checking enabled, if #pragma default_no_bounds is used in such a way that the default is different at the end of the compilation unit from what was current when a template function was first seen, the compiler can terminate with an internal error (Internal Error: [symbol_lookup_M31: symbol not found for mode 1 (backend generating)]).
Arm Cortex-M55 support
Support for the new Cortex-M55 core based on the ARMv8.1-M architecture with features such as MVE (the Helium M-profile Vector Extension) and Low Overhead loops.IDE Editor updates
- Editor themes - a new way to set up the colors and fonts in the text editor
- Syntax feedback - instant syntax suggestions while typing
- Improved parameter hints
Additional GNU C language extensions
See the compiler release notes for more details.
V9.10 2021-02-19
Program corrections-
In EWARM 9.10.2
[EWARM-8584, TPB-3494] The compiler can generate wildly incorrect C-RUN bounds table entries for some zero-inited parts of static variables containing multiple pointers.
- None.
V8.50 2020-02-17
Program corrections-
In EWARM 8.50.6
[EWARM-7802] For all supported STM32H7* devices, except STM32H7x7_M4 and STM32H7x7_M7, the FDCAN_IE register is incorrectly shown as ReadOnly instead of the correct ReadWrite. -
In EWARM 8.50.4
[EWARM-7739] The flash loader file FlashLayoutU4KRAM20K_Cortex.out does not work correctly for LPC1518. -
In EWARM 8.50.4
[EWARM-7640] The System View Description file for STM32L4 devices with a HSI48 peripheral is missing the RCC_CRRCR register. Likewise, the System View Description file for STM32L4 devices with an I2C4 peripheral is missing the RCC_CCIPR2 register. -
In EWARM 8.50.4
[EWARM-7380] The Selected.package.template file in the bxarm-8421-236.tgz package is not complete. -
[EWARM-7443] The FlashSTM32H7xxxG.board file incorrectly specifies one bank with 1 MByte of flash memory instead of two banks with 512 kByte each.
-
[EWARM-7363] The source files ReportCheckFailedStdout.c and ReportCheckFailedStdoutOnce.c are missing from the installation directory.
-
[EWARM-7132] The bits RF0W and RF1W in the FDCAN IR and IE registers are shown in the Registers window even though they are not available.
-
[EWARM-5986] The definition of the DBGMCU_APB1_FZ register is missing from the STM32F7x7.svd file.
- None.
V8.42 2020-01-17
Program corrections-
[EWARM-7203] The definitions of the DSI registers have incorrectly been shifted in the file STM32L4R9.svd.
-
[EWARM-7067] Wrong device name passed to the J-Link debug driver when using Cypress CY8C4146AZI-S455.
-
[EWARM-6918] In Important information for I-jet driver there is a pointer to obsolete batch files with unlock utilities for EFM32, Kinetis , and LM3S devices. These batch files are no longer needed and has been removed.
-
[EWARM-6883] The FreeRTOS plugin does not correctly detect whether the device has an FPU or not, and might interpret the stack incorrectly.
-
[EWARM-6698] It is not possible to enable stack checking in the FreeRTOS RTOS awareness plugin when the Tasks window is floating.
Arm STAR processor core
The Arm China STAR is the first processor in the STAR series processor family. It is a microcontroller class processor based on the Armv8-M mainline architecture with Arm TrustZone technology.Embedded Trace Router (ETR)
The debugger can now handle trace data acquired using ETR with I-jet for devices that support that mechanism. ETR is similar to ETB but allows the user to use any RAM in the device as trace buffer memory.
V8.40 2019-05-24
Program corrections-
In EWARM 8.40.2:
[EWARM-6849, TPB-3169] The compiler can terminate with an internal error (Internal error: [Front end]: assertion failed at: "...\lower_il.c") in some cases that involve using the address of a member variable in an aggregate field initializer.Example:
#include <array>
struct XXX
{
int mI;
std::array<int *, 2> mA = { &mI, 0 };
}; -
In EWARM 8.40.2:
[EWARM-5975] The definition of the register FMPI2C1 is missing from the STM32F446.svd file. -
In EWARM 8.40.2:
[EWARM-5648, EW26470] Pressing Alt+Left Arrow or Right Arrow in an editor window (shortcuts for navigating in the insertion point history) inserts a character in the editor window. -
[EWARM-6989] When NXP LPC11C14FBD48_301 is selected as target device, INTID field value of UART IIR register is not shown in the Register window.
-
[EWARM-6769, TPB-3120] The floating-point function declarations in xtgmath.h miss the macro __ATTRIBUTES. This makes the compiler complain of incorrect re-declarations of functions declared in math.h and xtgmath.h.
-
[EWARM-5734, EW26614] The Atmel header file ...\arm\inc\Atmel\samc20\instance\gclk.h lacks definition of GCLK_SOURCE_OSC48M, and GCLK_SOURCE_DFLL48M is incorrectly defined.
- None.
V8.32 2018-10-12
Program corrections-
In EWARM 8.32.4
[EWARM-6766] The registers for the MCAN peripherals are missing from the .svd files for the Atmel ATSAMA5 series. -
In EWARM 8.32.4
[EWARM-6736] The file STM32L4x1.svd is of an older revision in version 8.32.3 compared to version 8.20.2. -
In EWARM 8.32.4
[EWARM-6711] It is not possible to download code in the boot loader area of the EFR32FG12P433F1024GL125 device. -
In EWARM 8.32.3
[EWARM-6686] Definitions of INIT_DOMAIN1 and INIT_DOMAIN2 are missing from the file 7iotms570ls3137pge.ddf. -
In EWARM 8.32.3
[EWARM-6665] The flashloader RAM configuration for NXP LPC54605J256 is wrong. -
In EWARM 8.32.2
[EWARM-6609] The debugger on-chip flash memory map for the LPC54608J512 device is incorrectly set to 256 kBytes instead of 512 kBytes. -
In EWARM 8.32.2
[EWARM-6599] The ThreadX plugin cannot handle more than 64 threads. -
In EWARM 8.32.2
[EWARM-6563] The include files and library source files provided in the Embedded Workbench installation have Unix line endings instead of Windows line endings. -
In EWARM 8.32.2
[EWARM-6556] The installer places the library source files in arm/arm/src/dlib instead of arm/src/dlib. -
[EWARM-6525] For Microchip SAMA5D3, a C-SPY setup macro disabled the RAM by mistake, causing the code download to fail.
Improved Source Browser
The following improvements have been made to the Source Browser:- The source browser data is generated faster as it is now running as a separate thread.
- New Source Browser Log window.
- Status indicator in the status bar.
- Enhanced feedback in case source browsing data cannot be generated.
Documentation Comments
The editor can distinguish comments that start with /**, /*!, /// or //! as Documentation Comments. Inside a Documentation Comment, the editor can recognize keywords that begin with \ or @. If the keyword is recognized as a doxygen keyword, the Documentation Comment will appear in tooltips and parameter hints for variables and functions. See IAR Embedded Workbench IDE Project Management and Building Guide for more information.CMSIS-Pack .gpdsc
The CMSIS-Pack Manager now supports Generator Package Description Files (.gpdsc).
V8.30 2018-06-15
Program corrections-
In EWARM 8.30.2
[EWARM-6372] The ST STM32H7 linker configuration file has incorrect RAM area definitions. -
In EWARM 8.30.2
[EWARM-6325] The Toshiba TMPM341FDXBG device has 512 Kbytes of flash memory but the linker configuration file incorrectly specifies only 256 Kbytes. -
In EWARM 8.30.2
[EWARM-6278] Debug authentication fails when trying to connect to a Renesas RZ/T1 MCU. -
In EWARM 8.30.2
[EWARM-6276] For Renesas Synergy projects, if ThreadX source code is part of the project a full rebuild is performed also when the build is up-to-date. -
In EWARM 8.30.2
[EWARM-6223] The NXP S32K116 flash loader can crash because of an exception fault triggered by uninitialized ECC RAM. -
In EWARM 8.30.2
[EWARM-6163] The .dmac file is missing for Microchip ATSAME5 devices. -
[EWARM-6350] The default linker configuration file for STM32L151CB-A defines an incorrect RAM size, 16 Kbyte instead of 32 Kbyte.
-
[EWARM-6248, TPB-2984] A C++ module with multiple inheritance and virtual functions that is compiled with stack protection can lead to internal error.
-
[EWARM-6186] Some Microchip header files, for example ioat91x40.h, cannot be used by the assembler.
-
[EWARM-6037] The macro file FlashSTM32H7xxx.mac incorrectly unlocks the flash memory, even though the flash loader has already unlocked it.
-
[EWARM-5425, EW26060] Missing definition of register ADC2 in the SVD file for STM32F334C8.
- None.
V8.22 2018-01-22
Program corrections-
[EWARM-6150] The Renesas RZ/T1 header file ior7s910xxx.h was based on an old revision. It has now been updated to revision 1.4.
-
[EWARM-6149] The NXP i.MX6 header files contain duplicate definitions of OCOTP_CTRL_ADDR_MASK.
-
[EWARM-6106] The Renesas EC-1 flash loader does not support the serial flash used in the EC-1 development kit.
-
[EWARM-6088] The linker configuration file is incorrect for the Nordic nRF52832 device.
-
[EWARM-6001] C-SPY crashes when using semihosting with an XDS110 debug probe and a board that supports Energy Trace. To avoid this, turn off Energy Trace by adding the command line option --xds_disable_powertrace on the Project>Options>Debugger>Extra Options page in the IDE.
-
In EWARM 8.22.2
[EWARM-5876] The trace configuration in STM32F7xx.dmac is incorrect for the STM32H7 devices. -
[EWARM-5992] Downloading an application to flash memory using the flash loader for a STM32H7 device will lead to a HardFault exception.
IDE performance improvements
General improvements of the IDE startup time and overall performance. Further performance improvements will be implemented in the next release in Q2 2018.Improved RTOS awareness plug-in for FreeRTOS
Now with full control of the execution at the task level and enabling display of the local execution context for each individual task.CMSIS version 5.3 including CMSIS NN for machine learning
CMSIS version 5.3 adds the CMSIS NN software library, a collection of efficient neural network kernels developed to maximize the performance and minimize the memory footprint of neural networks on Cortex-M processor cores.ST ST-LINK debug probe TCP support
ST-LINK debug driver support for ST-LINK Shared mode using a TCP server.Nuvoton Nu-Link debug probe support
Nuvoton Nu-Link debug probe support is now integrated into the IAR Embedded Workbench for Arm installation.Atollic TrueSTUDIO project converter
A project converter is now available to ease porting Atollic TrueSTUDIO projects to IAR Embedded Workbench for Arm.
V8.20 2017-10-16
Program corrections-
In EWARM 8.20.2
[EWARM-6039] The Infineon XMC4400 debugger macro file (.dmac) located in the \arm\config\debugger\Infineon directory contains a syntax error. -
In EWARM 8.20.2
[EWARM-6037] The macro file FlashSTM32H7xxx.mac incorrectly unlocks the flash memory, even though the flash loader has already unlocked it. -
In EWARM 8.20.2
[EWARM-6032] There is a J-Link syntax error when trying to debug some devices, because of some obsolete jlinkscript files. -
In EWARM 8.20.2
[EWARM-6020, IDE-3994] The Japanese message displayed when IarBuild is launched is now correct. -
In EWARM 8.20.2
[EWARM-5996] There is no device support for STM32L082CZ even though it is on the list of supported devices. -
In EWARM 8.20.2
[EWARM-5987] It is not possible to debug a TI AM5728 MCU because the JTAG-chain is not configured. -
In EWARM 8.20.2
[EWARM-5957, IDE-3749] If a debug session is aborted abnormally (due to loss of target communication, for example), the window layout for debugging is now preserved correctly for the workspace. -
In EWARM 8.20.2
[EWARM-5952] The file .\arm\config\debugger\ST\STM32H7xx.dmac has an extra ( on line 203:
if ((dbgmcu_cr &((0x3<<7) | (0x7<<0)) != ((0x3<<7) | (0x7<<0))) { -
In EWARM 8.20.2
[EWARM-5901] The definitions of the register group ADC are missing in the svd file for STM32L471RG. -
In EWARM 8.20.2
[EWARM-5870] The ID code can now be programmed with I-jet. -
[EWARM-5849] The section Veneer$$CMSE is erroneously called Veneers$$CMSE in the file v2m-mps2_s.icf.
-
[EWARM-5824] In the file STM32L4x6.svd, the registers ADC2 and ADC3 are missing at address 0x50040100 and address 0x50040200, respectively.
-
[EWARM-5790, EW26702] STM32L4x6.svd is lacking definitions of the register for ADC1, ADC2 & ADC3.[2019-03-15]
-
[EWARM-5769, EW26668] Conversion of Code Composer Studio projects crashed when trying to convert a project without a configuration name that included the words debug or release.
-
[EWARM-5735, IDE-3803] Now all debugger windows can have a black background.
-
[EWARM-5514, EW26227] nRF52 flash loader cannot overwrite SoftDevice.
Initial support for the Arm v8-R architecture
This release provides basic supports for the Arm v8-R/R52 architecture.Stack protection
The IAR C/C++ compiler for Arm now supports stack protection. A canary value will be placed between the stack variables and the return address so that the system can detect corruption of a function return address before the function returns to that address. The compiler will use heuristic to determine whether a function needs stack protection or not. If any defined local variable has the array type or a structure type that contains a member of array type, the function will need stack protection. See IAR C/C++ Development Guide for more information.Fault exception viewer
The Fault exception viewer is a new debugger window that provides useful information about the cause of a fault exception. It lists the peripheral registers in the System Control Block (SCB) that control fault exceptions and provide information of their cause. All Cortex-M processors have a fault exception mechanism included and is therefore supported by this new feature. See IAR Embedded Workbench C-SPY Debugging Guide for more information.C-STAT MISRA C
The MISRA C 2004 package in C-STAT has been updated with about 20 new checks, of which some are enabled by default.
V8.11 2017-04-11
Program correctionsBuild error in the Renesas R-IN32M3-EC Evaluation Board osless_samle example.
[EW26468]The Microchip SAMC20x18 flash loader was broken.
[EW26473]Incorrect
GCLK
definitions for Microchip SAMC20.
[EW26474]In EWARM 8.11.2:
MissingCNTP_CTL
ARM v7A/R register in the degugger register display.
[EW26500]In EWARM 8.11.2:
FEDACSTATUS
and other registers are missing for RM48 in iorm48l950zwt.h and iorm48l950zwt.ddf.
[EW26532]In EWARM 8.11.2:
The display for register TIMx DMA/Interrupt enable register (TIMx_DIER
) is incorrectly defined as write only for the STM32L151RD.
[EW26578]In EWARM 8.11.3:
The following registers are missing in stm32l4x1.svd:GPIOF
,GPIOG
,RCC.AHB2ENR.GPIOFEN
,RCC.AHB2ENR.GPIOGEN
,UART5
,SAI1
,TIM17
,SAI2
,TIM8
.
[EW26641]In EWARM 8.11.3:
The definition of theHRT
registers are missing in stm32f3x4.svd.
[EW26651]In EWARM 8.11.3:
The definition of the RAM memory range in stm32f105x8.icf and stm32f105xB.icf is incorrect, it should specify 64 KBytes of RAM.
[EW26660]In EWARM 8.11.3:
The symbol_HSRUN_mode
was used but not defined in Kxx_Trace.dmac.
[EW26379, EW26677]In EWARM 8.11.3:
TheOTG_GLPMCFG
bit in the registerOTG_FS_GLOBAL
is missing in the svd file for STM32F412ZG.
[EW26698]In EWARM 8.11.3:
NXP Kinetis devices using Kxx_Trace.dmac could not be configured to specify the trace port (portA or portE). There is now a parameter_TRACE_route
to specify ETM trace pins on portA (1) or portE (0). The default is portA.
[EW26699]In EWARM 8.11.3:
The definition of theHRTIM
register is missing in the svd file for STM32F334R8.
[EW26724]
- None.
V8.10 2017-03-10
Program correctionsError when performing a flash Erase memory operation on the NXP S32K144.
[EW26431]The NXP MKL17 header files lacked the FPGIO definitions.
[EW26437]Erratic flashloader erase operation when flashing ST STM32F72x devices.
[EW26452]
Support for the C11 language standard
The compiler and libraries add support for the latest C language standard ISO/IEC 9899:2012.
Note: The new C library binary object interface is incompatible with earlier EWARM versions. See the compiler release notes for more details.Support for the C++14 language standard
The compiler and libraries now support the latest C++ standard ISO/IEC 14882:2015.
Note: The new C++ library binary object interface is incompatible with earlier EWARM versions. See the compiler release notes for more details.Updated IDE look and feel
The IDE has new artwork, enhancements to window management and docking, customizable toolsbars, revised Information Center, and new tutorials.General support for Unicode
The whole toolchain (including compiler, IDE, editor, and debugger) now supports Unicode.CMSIS-Pack support
The project manager have been extended to read and operate with ARM CMSIS-Pack software components.Trace filtering and navigation features
Navigation in large amounts of trace data is considerably easier with the possibility to navigate forward/backward on loop, function, interrupt, and statement boundaries.
V7.80 2016-10-17
Program correctionsWrong LPC4300 CGU code in ...\examples\NXP\LPC43xx\LPC4300CMSIS\Drivers\include\lpc43xx_cgu.c/h.
[EW26235]Wrong linker file path in the Renesas RZ/T1 RZ_T1_init_serial_boot example project.
[EW26247]Change to the NXP Kinetis and S32K FTFE flashloaders:
the --partition parameter now uses an additional third byte to program the EEPROM Load on Reset bit. The data flash loader checks the Data flash and overwrites the flash layout accordingly.
In EWARM 7.80.3:
Errors when using the Atmel SAME70 flash loader were corrected. The correction also made it possible to set the device TCM configuration (ITCM/DTCM sizes) from the flash loader, via an argument in the .flash file in the IDE.
[EW26154]In EWARM 7.80.3:
The Atmel SAMG55 flashloader incorrectly assumed the existence of the IAP ROM.
[EW26287]In EWARM 7.80.3:
Atmel SAMR21 flashing of individual blocks failed.
[EW26295]In EWARM 7.80.4:
Removed Kinetis unlock script arm\bin\jet\bin\Kinetis_unlock_jtag.bat. Similar functionality is now available on debugger startup.
[EW26374]
Support for the new IAR I-jet Trace for ARM Cortex-M XL debug trace probe
I-jet Trace for ARM Cortex-M XL is a larger version of the existing trace probe for ARM Cortex-M devices with a trace memory size of 256 Mbytes.
V7.70 2016-06-17
Program correctionsOld project files using the device STM32F401xE are changed so that they use STM32F401RE.
[EW26093]Some Atmel header files referred to missing system_samxxx.h files.
[EW26097]Fixed incorrect VFP definition for SAMA5D3 devices.
[EW26107]In EWARM 7.70.2
The flash loader for ATSAMG55J19 can wrongly erase sectors outside of the write area.
[EW26106]In EWARM 7.70.2:
The 'underlying type' is sometimes incorrectly determined for the check MISRAC++2008-5-0-6.
[EW26118]In EWARM 7.70.2:
The side-effects of the++/--
operators are sometimes not propagated properly during the false positive elimination analysis.
[EW26119]In EWARM 7.70.2:
Using an element from an array consisting of boolean values as a conditional expression generates false positives claiming they are not of boolean type.
[EW26121]In EWARM 7.70.2
The definition of the RAM memory range instm32f302xC.icf
is incorrect, it should specify 40 KBytes RAM.
[EW26129]In EWARM 7.70.2
Incorrect USB base address in the STM32L4x2 SVD file.
[EW26143]In EWARM 7.70.2:
The file paths of the trace information can become inaccurate after a re-analysis.
[EW26168]
Support for the new IAR I-jet Trace for ARM Cortex-A/R/M debug trace probe
I-jet Trace for ARM Cortex-A/R/M is a powerful probe providing extensive debugging and trace functionality for devices with the ARM CoreSight debug interface. It delivers large trace memory capacities and high-speed communication via USB 3.0 and trace clocks up to 350 MHz (double data rate). I-jet Trace supports ETM, PTM and SWO trace streams with up to 16 trace data lines for Cortex-A, Cortex-R, and Cortex-M devices using MIPI-20, MIPI-60, and Mictor-38 connectors. For more information see the I-jet Trace product page and the IAR Debug Probes User Guide.Initial support for the new ARMv8-M architecture
This release supports both the ARMv8-M Baseline and Mainline implementation. The ARMv8-M architecture is focused on bringing security to applications in the embedded and IoT market. For more information see the release notes for the compiler.CADI for ARM Fastmodels
The new CADI C-SPY debugger driver supports the ARM Fast Models hardware simulation technology.Converter for Keil μVision projects
Keil μVision version 5 projects can be converted to IAR Embedded Workbench projects. Projects are converted on a best efforts basis, converting and preserving the project file hierarchy. The conversion tools allow source code pattern matching and replacement to aid in translating incompatible code constructs. The converter is started from the Tools menu. For more information see the migration guide.
V7.60 2015-03-31
Program corrections- None.
Support for the new IAR I-jet Trace for ARM Cortex-A/R/M debug trace probe
I-jet Trace for ARM Cortex-A/R/M is a powerful probe providing extensive debugging and trace functionality for devices with the ARM CoreSight debug interface. It delivers large trace memory capacities and high-speed communication via USB 3.0 and trace clocks up to 350 MHz (double data rate). I-jet Trace supports ETM, PTM and SWO trace streams with up to 16 trace data lines for Cortex-A, Cortex-R, and Cortex-M devices using MIPI-20, MIPI-60, and Mictor-38 connectors. For more information see the I-jet Trace product page and the IAR Debug Probes User Guide.Initial support for the new ARMv8-M architecture
This release supports both the ARMv8-M Baseline and Mainline implementation. The ARMv8-M architecture is focused on bringing security to applications in the embedded and IoT market. For more information see the release notes for the compiler.CADI for ARM Fastmodels
The new CADI C-SPY debugger driver supports the ARM Fast Models hardware simulation technology.
V7.60 2016-03-31
Program corrections-
The SVD file for STM32L083 is missing information about MODExx in MODER.
[EW25401] -
Removed a warning that occurred when reading the Renesas R-IN32M3 SVD file.
[EW25487] -
If more than one match is found for a function pattern using a wildcard in a stack usage control file, the linker incorrectly emits an error.
[EW25888] -
Register addresses for the Renesas RZ/A1L Clock Pulse Generator were wrongly specified in ior7s721020.h.
[EW25948] -
CC2538 SWO trace_d0 was incorrectly disabled.
[EW25952] -
The NXP TWR-K64F bare metal examples have now been changed to print to the TWR-SER board port instead of the Open SDA USB/CDC serial port.
[EW25964] -
The GPIOE registers are missing in the Register window while debugging a STM32F071VBH6 device.
[EW25965] -
The linker command file
stm32f410x.icf
has an incorrect definition of the RAM memory area.
[EW25969]
Extended functionality in C-STAT
The static analysis tool C-STAT has been extended with approximately 150 new checks including 90 new MISRA C:2012 checks and two new packages of checks. There are also new options to enable or disable the false-positives elimination phase of the analysis and to exclude files from the analysis. C-STAT message suppression can now be controlled by directives placed in comments in the source files. For more information see the release notes for the compiler.Flash breakpoints
Flash breakpoints adds an unlimited number of breakpoints for selected Cortex-M devices when using the I-jet debug probe. A flash breakpoint must be set explicitly from the context menu. To find out whether flash breakpoints are supported for your device, see the semiconductor vendor specific device lists below.TI MSP-FET support
The IAR C-SPY Debugger now supports the TI MSP-FET debug probe.cJTAG support
The IAR C-SPY Debugger now supports the cJTAG interface on the TI connectivity devices CC13xx/2538/26xx when using the I-jet debug probe.SWO support for TI XDS110
The IAR C-SPY Debugger now supports SWO trace data from the TI XDS110 debug probe.
V7.50 2015-11-10
Program corrections-
Updated the Infineon XMC library to version 2.0.0.
[EW25680] -
The wrong flash loader selected for Renesas RIN32M4.
[EW25723] -
Missing definition of the
PIO_DRIVER
register for Atmel SAMG55.
[EW25779] -
Incorrect definition of
NVIC_IP
in the MKL25Z4 header file.
[EW25786] -
In EWARM 7.50.2
No post-build action is performed if parallel build is active
[EW25327] -
In EWARM 7.50.2
The definition ofCOMP2->CSR
in the debugger register definition file is incorrect.
[EW25640] -
In EWARM 7.50.2
Information Center control files are missin for some example projects for the STM32L476RG-Nucleo board.
[EW25826] -
In EWARM 7.50.2
The definitions ofDMEN1
,DMEN5
,DMEN9
, andDMEN13
in the filetms470r1B1m_bit_definitions.h
are incorrect.
[EW25746] -
In EWARM 7.50.2
The definitions of theSRAM1
andSRAM2
memory regions are swapped in the linker configuration files for STM32L4 devices. They are also incorrectly placed together.
[EW25754] -
In EWARM 7.50.2
Added missing register bitfields for SAM9G45.
[EW25795] -
In EWARM 7.50.3
Freescale Vybrid example header file MVF50GS10MK50.h wrongly defined CNR as read-only.
[EW25662] -
In EWARM 7.50.3
Wrong IRQ assignments in the Freescale MK61F12 and MK60F12 SVD files.
[EW25812] -
In EWARM 7.50.3
Missing interrupt definitions in the Infineon XMC4500.svd file.
[EW25850] -
In EWARM 7.50.3
Missing PMC_PCER1, PMC_PCDR1, PMC_PCSR1 register definitions in the Atmel SAMG55 header files.
[EW25930]
ETMv4 trace for Cortex-M7
The IAR C-SPY Debugger now supports the ARM ETMv4 (Embedded Trace Macrocell version 4) trace used on Cortex-M7 devices. ETMv4 trace requires I-jet Trace. See the Release notes for the IAR C-SPY I-jet and JTAGjet driver.PTM trace support for recent Cortex-A cores
The IAR C-SPY Debugger now supports the PTM (Program Trace Macrocell) trace used on recent Cortex-A devices like Cortex-A7/A9. PTM trace requires I-jet Trace or an on-chip trace buffer (ETB or ETF) when using I-jet. See the Release notes for the IAR C-SPY I-jet and JTAGjet driver.Analysis report generation in C-STAT
It is now possible to generate analysis reports from C-STAT in html format. See C-STAT Static Analysis Guide for more information.
V7.40 2015-02-19
Program corrections-
Sometimes it is impossible to check in files with a file path relative to
$PROJ_DIR$
.
[EW24947] -
The Call Graph window might show incomplete results due to a change in the source browser output format.
[EW24979] -
The debugger now uses the correct SVD file for the STM32F302xB and STM32F302xC devices.
[EW25152] -
The Renesas RZ/A1 example bootloader could fail due to race condition when the debugger starts.
[EW25158] -
Trace macros for EFM32 devices are corrected.
[EW25162] -
The Freescale Kinetis flashloaders could place data in the wrong location when using Flex NVM memory as destination.
[EW25189] -
Corrected Nordicsemi memory configuration.
[EW25199] -
In EWARM 7.40.2:
Multiprocessing extensions support is added to SAMA5D.
[EW25216] -
In EWARM 7.40.2:
If you set a breakpoint in a file with a path that exceeds the maximum length of a file path in Windows, opening the Breakpoints window might crash the IDE.
[EW25247] -
In EWARM 7.40.2:
Custom argument variables that expand to an absolute path are not recognized as such when expanded as a part of an output directory path on the Project Options>General Options>Output page in the Project Options dialog box.
[EW25252] -
In EWARM 7.40.2:
If you save a newly created workspace it might still be named "Untitled Workspace" on the Overview tab in the Workspace window.
[EW25266] -
In EWARM 7.40.2
The definitions of theDebugSS_DRM
registers are missing in the fileioam3358.h
.
[EW25304] -
In EWARM 7.40.2:
For larger projects (~100 files under version control) the IDE could fail to update the Subversion status.
[EW25311] -
In EWARM 7.40.2:
In some situations toggling a breakpoint in an editor window might create a new breakpoint instead of just toggling an existing one.
[EW25316] -
In EWARM 7.40.2:
In the installer of IAR Embedded Workbench for ARM, the Choose Destination Location dialog box now precedes the USB Driver Installation dialog box, so the available disk space is checked for the relevant drive.
[EW25318] -
In EWARM 7.40.3:
Batch builds ignore the Tools>Options...>Project>Stop build operation on option.
[EW25309] -
In EWARM 7.40.3:
The Toshiba TMPM470.h header file was missing.
[EW25414] -
In EWARM 7.40.3:
The SVD file for Renesas RIN32M3-EC caused wrong values to be displayed for some GPIO and RTPORT fields.
[EW25418] -
In EWARM 7.40.3:
Corrected the number of cores in an iMX6 example project.
[EW25421] -
In EWARM 7.40.3:
The device family STM32F446 is now listed on iar.com and in the release notes.
[EW25429] -
In EWARM 7.40.3:
A dependency on loading user arguments variables meant that any failure to load a user argument variable prevented subsequent loads, this is now corrected.
[EW25455] -
In EWARM 7.40.5:
Windows could incorrectly issue the messageThere was a problem sending the command to the program
when trying to open aneww
file.
[EW23368] -
In EWARM 7.40.5:
Missing reset style for LPC15xx series added for I-jet and CMSIS-DAP.
[EW24850] -
In EWARM 7.40.5:
Incorrect PeriphUserData address range for SiLabs EFM32GG395F1024.
[EW25342] -
In EWARM 7.40.5:
cspybat
does not handle paths with spaces.
[EW25410] -
In EWARM 7.40.5:
Sector eras mismatch for Atmel SAM4S8B.
[EW25477] -
In EWARM 7.40.5:
Freescale K21/K22 devices was wrongly expected to support ETB.
[EW25484] -
In EWARM 7.40.5:
The Infineon XMC1000 family flash loader support was too simplistic in terms of specific device support.
[EW25488] -
In EWARM 7.40.5:
Flash download error occurred when downloading TMPM380-SK voice demo example.
[EW25489] -
In EWARM 7.40.5:
The Toshiba TMPM370FxFG flash loader incorrectly defined a non-existant SPI flash.
[EW25497] -
In EWARM 7.40.5:
Missing register definitions in the Freescale KV46 header file.
[EW25502] -
In EWARM 7.40.5:
Include file error in Toshiba TMPM470.h and TMPM475.h.
[EW25527] -
In EWARM 7.40.5:
The correct C-SPY macro file is now used for the device series STM32L0xx.
[EW25563] -
In EWARM 7.40.5:
The Project>Options dialog box now handles the (irrelevant) combination of Cortex-M0+ and SWO correctly.
[EW25567] -
In EWARM 7.40.5:
The NEON check box is no longer dimmed after selecting Cortex A5 with 32 D Registers and then selecting Cortex A8.
[EW25584] -
In EWARM 7.40.5:
Removed ETM clock settings from some K64 examples.
[EW25585] -
In EWARM 7.40.5:
Missing register definitions in the MSP432P401R SVD file.
[EW25611] -
In EWARM 7.40.5:
The correct flash loader is now selected for Freescale K24 with 1M flash memory.
[EW25619] -
In EWARM 7.40.5:
The Replace with field in the Replace in Files dialog box no longer has a string size limit.
[EW25642] -
In EWARM 7.40.5:
Double-clicking aneww
file did not start a new instance of IAR Embedded Workbench.
[EW25665] -
In EWARM 7.40.7:
Relative paths specified in the Output directories boxes (available by choosing Project>Options>General Options>Output) might fail.
[EW25709]
I-jet Trace 1- and 2-bit support (7.40.3)
I-jet Trace can now collect ETM trace data with 1 and 2-bit wide trace buses. Note that the I-jet Trace firmware must be upgraded to revision 5.4 to activate this feature.Enhanced support for TI XDS debug probes (7.40.3)
It is now possible to use data breakpoints, SWO trace, and vector catch when using an XDS probe in combination with a Cortex-M device in C-SPY. The configuration possibilities are also improved in the project options. The level of support for the new features depends on which XDS probe you are using and the features it provides.C-STAT
The add-on product C-STAT for static analysis is now supported. C-STAT features innovative static analysis that can detect defects, bugs, and security vulnerabilities as defined by CERT and the Common Weakness Enumeration, as well as help keeping code compliant to coding standards like MISRA C:2012/2004 or MISRA C++:2008. For more information, see C-STAT Static Analysis Guide.Parallel build
The compiler can now run in several parallel processes to better use the available processor cores in the PC. To control parallel build, choose Tools>Options>Project>Enable parallel build.Cortex-M7 devices
Device support for Cortex-M7 devices from Atmel (ATSAMx7) and ST (STM32F756), including support for the double precision floating point unit.
V7.30 2014-09-24
Program corrections-
CMSIS header file corrections.
[EW24320] -
CMSIS header file
arm_math.h
can now be compiled with C++.
[EW24663,EW24855] -
Broken flashloader for Atmel SAM3SD8C.
[EW24760] -
ioam3358.h
holds an incomplete definition ofEMIF_DDR_PHY_CTRL_1
.
[EW24927] -
The definition of the Read DQS Slave Ratio Register in
ioam3358.h
is incorrect.
[EW24951] -
Corrected RM9200 memory configuration to avoid debugger writes to read-only areas.
[EW24957] -
In EWARM 7.30.3:
An unreliable connection to the SCC server could prevent the SCC client from checking in/out files.
[EW24794] -
In EWARM 7.30.3:
The Start Debugging and Stop Debugging commands cause resource leaks.
[EW24971] -
In EWARM 7.30.3:
The SFR Setup window leaks resources.
[EW24973] -
In EWARM 7.30.3:
The source browser is not always re-enabled after having been disabled. (The source browser can temporarily be disabled, for example during a build or when a debug session is started).
[EW25018] -
In EWARM 7.30.3:
Project connection files are no longer removed unintentionally from projects when you open a workspace.
[EW25022] -
In EWARM 7.30.3:
Incorrect bitfield information forRTC.TSTR
inSTM32F427x.svd
.
[EW25024] -
In EWARM 7.30.3:
Missing bits forRTC.TAFCR
have been added to the fileSTM32L151xBA.ddf
.
[EW25057] -
In EWARM 7.30.3:
The dual core example for Vybrid cannot be built if the path to the example source code contains a space character.
[EW25066] -
In EWARM 7.30.3:
Definitions ofNMI
interrupts have been added toioam3358.h
.
[EW25087] -
In EWARM 7.30.3:
The list of Atmel devices with/without flashloader is now correct.
[EW25090] -
In EWARM 7.30.4:
The Register windows shows incorrect register names for some registers for the STM32F05x devices.
[EW24114] -
In EWARM 7.30.4:
There are numerous missing registers in C-SPY for STM32F303VC.
[EW24232] -
In EWARM 7.30.4:
There is a missing definition for GPIOE inSTM32F07xx.svd
.
[EW24643] -
In EWARM 7.30.4:
There are missing FMC definitions inSTM32F07xx.svd
.
[EW24674] -
In EWARM 7.30.4:
I2E registers are now displayed in the Register window for STM32F42x/43x.
[EW24815] -
In EWARM 7.30.4:
The Register window shows incorrect names in the FMC control register for STM32F42xxx and STM32F43xx devices.
[EW24837] -
In EWARM 7.30.4:
ADC registers are missing inSTM32F30xxx.svd
.
[EW24864] -
In EWARM 7.30.4:
C-SPY macros for Kinetis devices without ETB have been corrected.
[EW25094] -
In EWARM 7.30.4:
The default flashloaders for MK22FX512xxx12 and MK22FN1M0xxx12 devices are now correct.
[EW25119] -
In EWARM 7.30.4:
Trace clock prescaler 1/1 is used by default when using I-jet Trace on Spansion FM3 devices. This avoids certain trace decoding issues.
[EW25139]
Support for the new IAR I-jet Trace debug trace probe
I-jet Trace for Cortex-M is a powerful probe providing extensive debugging and trace functionality. It delivers large trace memory capacities and high-speed communication via USB3. I-jet Trace supports both the ETM and SWO trace streams for Cortex-M devices. For more information see the I-jet Trace product page and the user documentation.Cortex-M7 double precision
The Cortex-M7 optional double precision floating point unit is now supported.
V7.20 2014-05-19
Program corrections-
Argument variables related to the build output, e.g.
$TARGET_DIR$
and$TARGET_BNAME$
, will now be correctly expanded when the output file itself is missing.
[EW21158, EW21197] -
Files that are not members of a project can be checked out but not checked in again using the IDE SCC integration.
[EW23820] -
Some flashloaders for Freescale Kinetis have been corrected.
[EW24538,EW24617] -
The progress information when examples were downloaded was incorrect in the Japanese language mode.
[EW24640] -
Incorrect TCAP register names for Toshiba TMPM354F10TFG.
[EW24646] -
Wrong LCDC registers base address in ioam3358.ddf.
[EW24647] -
The flash loader for STM32F1xxxG is now working correctly.
[EW24704] -
In EWARM 7.20.2:
A mismatch when converting character sets using Active Code Page encoding mixed with UTF8 might make some paths unusable for the source browser.
[EW24585] -
In EWARM 7.20.2:
When accessing files in the project, Windows could display the error message: The requested operation cannot be performed on a file with a user-mapped section open. The reason was that the source browser could lock the files.
[EW24659] -
In EWARM 7.20.2:
Flash loaders for STM32F030 devices are now working correctly.
[EW24706] -
In EWARM 7.20.2:
You must click in an editor window before using shortcuts in it, if you just closed another editor window.
[EW24716] -
In EWARM 7.20.2:
Wrong reset configuration for Renesas R-IN32M3-EC Board Lite.
[EW24751] -
In EWARM 7.20.2:
Flashloader problems when using NXP LPC175x.
[EW24754] -
In EWARM 7.20.2:
Wrong register field names in the STM32L05x register RCC_IOPENR.
[EW24774] -
In EWARM 7.20.2:
Missing definition of CCR3/CCR4 for TIM3 and TIM4 in iostm32f4x5x.ddf.
[EW24775] -
In EWARM 7.20.2:
Wrong flashloader selected for NXP LPC1759.
[EW24776] -
In EWARM 7.20.2:
Wrong flashloader for ST STM32F030x4.
[EW24782] -
In EWARM 7.20.5:
Added missing FPU type definition for AM3517.
[EW24847] -
In EWARM 7.20.5:
The Workspace window leaks icon resources.
[EW24874] -
In EWARM 7.20.5:
When code completion is used in an editor window, member/function/variable names are not correctly completed with the item selected from the completion list.
[EW24877] -
In EWARM 7.20.5:
Corrected bit definitions in generic header file and register definitions for Freescale Vybrid devices.
[EW24887] -
In EWARM 7.20.5:
When processing a file with a large number of lines, the source browser might take a very long time, thus preventing the build tools from working.
[EW24905] -
In EWARM 7.20.5:
Wrong location of registers ADC_PWR2, ADC_CTRL3 and ADC_SCHLTEN in the MKV46F15 SVD file. [EW24910] -
In EWARM 7.20.5:
The text editor window could cause an unexpected termination due to a resource leak. [EW24940]
C-RUN Runtime analysis
The add-on product C-RUN for runtime analysis is now supported. C-RUN features arithmetic checks, advanced bounds checking and heap checking. See IAR Embedded Workbench C-SPY Debugging Guide for more information.
The Standard edition and the CM edition of the IAR Embedded Workbench for ARM support C-RUN in a size limited mode that can be used for evaluation.
V7.10 2014-02-21
Program corrections-
Missing definitions in the ST STM32F05xx library header file stm32f0xx_comp.h.
[EW24454] -
Errors in the header and DDF files for Freescale i.MX28.
[EW24455] -
A number of example projects failed to build due to path errors.
[EW24466] -
Auto indent now only plays a sound to indicate that the file is read-only.
[EW24467] -
If an absolute file link is opened in the text editor and then saved, the link will be replaced by a regular file.
[EW24473] -
As the erase level gets lower with time, some STM32 flash devices might be read as erased but writing to them will fail. Because of this, the option to check whether the flash memory is empty before erasing is now disabled by default, but still available as a flash loader parameter.
[EW24483] -
The Freescale X-FREEDOM-KL25Z blinking LED example did not work correctly in flash configuration.
[EW24507] -
In EWARM 7.10.3:
The CMSIS-DSP functionarm_mat_inverse_f32()
is corrected in CMSIS V4.00, which is delivered with EWARM 7.10.3.
[EW24177] -
In EWARM 7.10.3:
The flashloader for Spansion MB9A130L series has been corrected.
[EW24506] -
In EWARM 7.10.3:
Project connection between IAR Embedded Workbench and an external tool now works properly.
[EW24531] -
In EWARM 7.10.3:
The vector table was wrongly placed in some Freescale Kinetis examples.
[EW24537] -
In EWARM 7.10.3:
Flashloaders for Spansion FM4 series have been corrected.
[EW24540] -
In EWARM 7.10.3:
Architectural extension systick SFR definitions have been added to Freescale Cortex M0+ devices.
[EW24541] -
In EWARM 7.10.3:
SFR specifications for Atmel SAMD20 are corrected.
[EW24543] -
In EWARM 7.10.3:
IAR Embedded Workbench no longer terminates unexpectedly when a device with a device configuration file (.i79
) that includes an empty value ofDeviceMacros
is chosen.
[EW24547] -
In EWARM 7.10.3:
ST STM32L05x and STM32L06x devices were wrongly configured with a Cortex-M3 core instead of the correct Cortex-M0+ core.
[EW24568] -
In EWARM 7.10.3:
Some flashloaders for the Freescale Kinetis K-series have been corrected.
[EW24570] -
In EWARM 7.10.3:
Trace enabling C-SPY macros for Energy Micro EFM32xG have been corrected.
[EW24588] -
In EWARM 7.10.3:
Added missing Microsemi SFR definitions.
[EW24596]
-
CMSIS updated to version 4.0
The CMSIS-BASE run-time system and CMSIS-DSP library.
V6.70 2013-10-29
Program corrections-
The SFR Setup window now works correctly.
[EW23822] -
Using the argument variables
$TARGET_BNAME$
and/or$TARGET_BPATH$
when specifying the linker output file could lead to unexpected termination.
[EW24026] -
The NXP
lpc1788.h
header file did not compile in C++ mode.
[EW24106] -
If a project that was created using IAR Embedded Workbench installed together with visualSTATE is opened in IAR Embedded Workbench installed without visualSTATE, a warning referring to an
unknown tool 'Coder'
is no longer displayed.
[EW24176] -
The flash loader for TM4C now works also for TM4C129XNCZ.
[EW24184] -
Missing flash loader file
FlashSTM32L15x_L16x.mac
caused flash download for STM32L15x and STM32L16x devices to fail.
[EW24188,EW24203] -
Missing SSP1 bits in the NXP header file
iolpc1313_48_01.h
.
[EW24191] -
Incorrect SPIFI register specification in the header and debugger description file for NXP LPC18x0.
[EW24197] -
Autocompletion, the Go to function button, and tooltip information did not work in IAR Embedded Workbench products based on the common components version 6.6.2 and 6.6.3.
[EW24200, EW24211] -
The debugger descriprion file for STM32F205 lacked a number of interrupt priority registers.
[EW24218] -
When replacing text by clicking Replace All in the Replace in Files dialog box, truncation did not work correctly. That meant that if the replacement string was shorter than the text to replace, the resulting file would contain extra, unwanted characters at the end.
[EW24241] -
In EWARM 6.70.2:
Lines exceeding a certain length could not be viewed in their entirety in the Batch Build dialog box.
[EW23382] -
In EWARM 6.70.2:
If you created a source file using the File>New File command, code completion did not work until you closed and reopened the file in the editor.
[EW24273] -
In EWARM 6.70.2:
FPSCR was multiple defined for ST STM32F37x devices.
[EW24286] -
In EWARM 6.70.2:
Missing Trace_SAMxx.dmac files for some Atmel devices.
[EW24290] -
In EWARM 6.70.2:
Increased the maximum number of functions in the Go To Function drop-down menu from 200 to 2000.
[EW24303] -
In EWARM 6.70.2:
Broken device selection for some Atmel ATSAMxxx devices.
[EW24332] -
In EWARM 6.70.2:
Broken file link in the Atmel SAMA5D31 debugger description file.
[EW24379] -
In EWARM 6.70.2:
Selecting the option Options>C/C++ Compiler>Preprocessor>Ignore standard include directories caused the source browser to stop working.
[EW24305] -
In EWARM 6.70.3:
Wrong flashloader used for Toshiba TMPM358FDTFG.
[EW24415] -
In EWARM 6.70.3:
Register definition errors in stm32f4x5x.ddf.
[EW24418] -
In EWARM 6.70.3:
The flashloaders for STM32F2xx, STM32F3xx and STM32F4xx failed for large programs.
[EW24430,EW24435,EW24440]
Examples on demand
To increase the download and installation speed for IAR Embedded Workbench, the example projects are no longer part of the installed product. Example projects can be downloaded per chip manufacturer using the Examples page in the IAR Embedded Workbench Information Center. In case no internet access is available, the examples can also be unpacked from the DVD installation media.Improved integration with Freescale Processor Expert
The Project Connection mechanism used to seamlessly pass project content from Processor Expert to IAR Embedded Workbench has been extended to also transfer device name, linker control file and complete path information.#pragma default_variable_attributes and #pragma default_function_attributes
Two new pragma directives have been added to set default placement and attributes for variable/function declarations and definitions.This means that you can override multiple declarations and definitions by using a single #pragma.
V6.60 2013-06-27
Program corrections-
The editor now uses different colors and fonts for the preprocessor information.
[EW23316] -
The values of all Freescale Kinetis device-specific IRQs were incorrectly offset by 16 in the SVD files.
[EW23788,EW23982] -
A problem with high CPU load caused by the Workspace monitoring the time stamps of the project files (and their dependencies) too frequently has been improved.
[EW23817] -
Reloading an externally modified project file (.ewp) no longer causes the debugger to terminate unexpectedly.
[EW23824] -
Incorrect bitfields for
GPIOx_BRR
iniostm32f051x8.h
.
[EW23953] -
Incorrect flashloader block size parameter for the Atmel SAM3x2, SAM3x4, and SAM3x8 devices.
[EW23954] -
Corrected errors in the EMI and RAS register sets in the header and debugger description files for ST SPEAr320.
[EW23963] -
Using the argument variables
$DATE$
and$USER_NAME$
in, for example, a file path could lead to a Standard multi tool failed to establish output file name error.
[EW23983] -
See Important information above.
[EW23993] -
Trailing blanks were sometimes not trimmed from the name of the linker output file, which could cause problems when the extension "
.out
" was considered to be different from ".out
".
[EW24009] -
In EWARM 6.60.2:
Changed the Atmel ATSAM9XE512 flashloader to use internal RAM instead of SDRAM.
[EW23782] -
In EWARM 6.60.2:
Some Freescale Vybrid examples did not copy correctly to the user destination location.
[EW24041] -
In EWARM 6.60.2:
Template projects for rebuilding libraries are available also in Japanese.
[EW24043] -
In EWARM 6.60.2:
Fixed a problem in the Fujitsu MB9A130 flashloader.
[EW24062] -
In EWARM 6.60.2:
The Fujitsu MB9AF31xK Dual Timer example did not copy correctly to the user destination location.
[EW24064] -
In EWARM 6.60.2:
Wrong base address for some TI TMS570 peripheral registers.
[EW24065] -
In EWARM 6.60.2:
The flash value for Atmel SAM4L4C was wrongly set to 64 KB, the correct value is 256 KB.
[EW24077] -
In EWARM 6.60.2:
Find/Replace in files sometimes failed to find matches in files that contain utf-8 encoded text.
[EW24078] -
In EWARM 6.60.2:
Missing debugger macro file for the Renesas R-IN32M3 examples.
[EW24101] -
In EWARM 6.60.2:
Include paths that did not match the capitalization of the actual files and directories were ignored by the Source Browser.
[EW24115] -
In EWARM 6.60.2:
In some casesIarBuild.exe
failed to expand argument variables based on environment variables.
[EW24169]
Support for the IAR I-scope power measurement probe
I-scope is a small probe that adds higher-precision current and voltage measurement capabilities to I-jet. The measurement capability is supported on all ARM cores. Cortex-M3/M4 cores will in addition provide code correlation with the measured values.Support for Texas Instruments XDS200
Support has been added for the Texas Instruments XDS200 debug probe.External analyzers
A flexible mechanism to invoke external analyzers for project files. This is typically used to interface to static analysis tools like PC-lint.Code generation for execute-only code memory systems
The compiler can now be configured to not generate any data accesses to code memory. This is useful for systems that prohibit data accesses in code memory for security reasons.
V6.50 2012-11-10
Program correctionsA license related problem that occurred when updating IAR Embedded Workbench from 6.21 or older, to version 6.30 or later, is no longer a problem since the new license management system (LMS2) is introduced in IAR Embedded Workbench for ARM.
[EW22831]-
The example for the Freescale TWR-LCD-RGB board did not take into account the differing pixel clock depending on board revision.
[EW23546] -
The ICU DLLs are now included in the IAR Embedded Workbench for ARM installation.
[EW23563] -
In EWARM 6.50.2:
In previous versions of IAR Embedded Workbench, source browser and build status updates stopped when the IDE was not the foreground process. This behavior is now controlled by an option in the Tools>Options...>Project dialog box.
[EW23609] -
In EWARM 6.50.2:
The source browser generated incomplete information when the--preinclude
directive was used. This has been corrected.
[EW23611] -
In EWARM 6.50.2/6.50.3:
The device description file for ST STM32L152xC erroneously defined the FSMC controller.
[EW23640,EW23699] -
In EWARM 6.50.3:
The editor's Open include file command did not work correctly for include files excluded from the build. This has been corrected.
[EW23233] -
In EWARM 6.50.3:
The Freescale K70 examples did not enable the VFP properly.
[EW23561] -
In EWARM 6.50.3:
It is now only possible to select the BE32 endian mode for the TMS570LS device family.
[EW23589] -
In EWARM 6.50.3:
If a search for a regular expression in the Find in Files window produced a result containing line breaks, only the first line was displayed.
[EW23647] -
In EWARM 6.50.3:
The Go to Definition and Go to Declaration commands did not find names located in comments or inactive source code. This has been corrected.
[EW23668, EW23719] -
In EWARM 6.50.3:
The memory region at 0x0FE08000 was missing in the EnergyMicro device description files.
[EW23686] -
In EWARM 6.50.3:
The source browser no longer issues repeated warnings if undefined environment variables are part of any include path.
[EW23687] -
In EWARM 6.50.3:
The Freescale Kinetis CDC Device example was incorrectly referred to as a USB mouse example.
[EW23691] -
In EWARM 6.50.3:
If a Project>Project Connection command added an include path to the Additional include directories field on the Project>Options>C/C++ Compiler>Preprocessor options page, and that path contained any environment variables like$PROJ_DIR$
, they were expanded and the path was saved that way. Now paths are saved unconverted.
[EW23698] -
In EWARM 6.50.3:
Projects with many include files and/or many#define
statments could make the source browser slow. This has been corrected.
[EW23710] -
In EWARM 6.50.3:
The device files for STM32F205 did not include the OTG_FS registers.
[EW23724] -
In EWARM 6.50.3:
The address values for CLKSEL_TIMER2_CLK and CLKSEL_TIMER3_CLK have been corrected in the device files for TI AM335x.
[EW23729] -
In EWARM 6.50.3:
The example projects for STM32F4xx incorrectly specified the CPU clock frequency to 150 MHz instead of 168 MHz in the project options. This caused SWO trace problems.
[EW23735] -
In EWARM 6.50.3:
Auto-indentation could sometimes fail to indent a line directly after a preprocessor directive.
[EW23740] -
In EWARM 6.50.3:
Undoing an auto indentation command applied to a source block required an undo for every line in the block. Now a single undo command reverts the entire block.
[EW23742] -
In EWARM 6.50.3:
If a function was defined using thestatic
keyword but declared without it, or vice versa, a Go to definition command for this function failed.
[EW23756] -
In EWARM 6.50.3:
Because of a problem with processing paths containing..\\..
patterns, some include files could be displayed twice in the Workspace window.
[EW23775] -
In EWARM 6.50.3:
The flashloader configuration for Freescale MAC7100 devices was incorrect.
[EW23779] -
In EWARM 6.50.3:
The wrong flashloader was selected for Toshiba TMPM380FDFG and TMPM384FDFG.
[EW23781] -
In EWARM 6.50.4:
In some situations, IAR Embedded Workbench might incorrectly stop reporting build errors if you retry Project>Make several times in a row without making any changes to source files. This is, of course incorrect. The errors are still there even if they are not reported, and the build will not be successful despite being reported as such.
[EW23826] -
In EWARM 6.50.5:
The Infineon XMC45xxP14_PDISC/P15_PDISC
registers were wrongly declared as read only in the debugger description file. This has been corrected.
[EW23803] -
In EWARM 6.50.5:
The RTOS awareness plug-in for MQX has been corrected so that it now works in combination with multiple flash loaders.
[EW23808] -
In EWARM 6.50.5:
The Freescale Kinetis L flashloader failed to program parts of the flash option bytes. This has been corrected.
[EW23814] -
In EWARM 6.50.5:
Default linker control files are now selected for Energy Micro devices.
[EW23839] -
In EWARM 6.50.5:
The current position (green) arrow is now visible when stopping at a breakpoint in the Disassembly window.
[EW23852] -
In EWARM 6.50.5:
Printing more than 16,000 characters to the Terminal I/O window produced incorrect output. This has been corrected.
[EW23874] -
In EWARM 6.50.6:
Go to definition failed to find functions defined in.cpp
files if they were defined with extern 'C' linkage. This has been corrected.
[EW23809] -
In EWARM 6.50.6:
The IAR License Manager now handles paths with folder names in Japanese correctly.
[EW23854] -
In EWARM 6.50.6:
The linker control file editor did not recognize Toshiba TMPM061 as a Cortex-M device.
[EW23936]
Version 6.50.6
Support for the IAR I-scope power measurement probe
I-scope is a small probe that adds current and voltage measurement capabilities to I-jet.
Version 6.50.5
CMSIS 3.20
The run-time system and DSP software library.
Version 6.50.3
Support for ARM CMSIS-DAP
The debugger now supports development boards that use the ARM CMSIS-DAP interface over USB.
Version 6.50.2
Support for MTB (Micro Trace Buffer)
The MTB trace mechanism gives access to instruction trace on devices based on the Cortex-M0+ core.Improved uC/Probe integration
A new debugger plug-in connects uC/Probe to C-SPY over TCP/IP, making it possible to use Micrium's graphical tool uC/Probe at the same time as you debug with IAR Embedded Workbench.
Version 6.50.1
Speed optimizations
Coremark performance improved by up to 13% compared to the industry-leading IAR Embedded Workbench for ARM 6.40.JTAGjet-Trace support
Full support, including ETB and ETM, for the JTAGjet-Trace debug probe from IAR Systems.Project connection
Files or file packages generated by external code generation tools can be imported and IAR Embedded Workbench automatically detects changes in the generated file set. This enables automated integration with Freescale Processor Expert, and other device configuration tools.Source browser call graph display
The source browser can now display a call graph for easy navigation of the function hierarchy.Multi-core SWD support
Two instances of IAR Embedded Workbench can now access one core each in a multi-core device via SWD, and JTAG.New license management system (LMS2)
The new LMS that is used with this release introduces new features like commuter licenses, automatic license activation, and support for virtual servers. It is easier to administrate and a single installer concept enables easy transfer between all variants of IAR Embedded Workbench for a certain product through a license upgrade.You can now toggle expanding/collapsing code blocks in the editor.
Improved Source Browser performance.
V6.40 2012-06-05
Program corrections-
Editor line numbers exceeding 5 digits were partly displayed outside the line number column. This has been corrected.
[EW21642] -
Printing a multipage selection in the editor window that did not start at the begining of a line and/or end at the end of a line could fail to print all selected content. This has been corrected.
[EW21961] -
The source browser could cause the IDE to become unresponsive if the license for the compiler could not be verified. This no longer occurs.
[EW22350, EW22499] -
The context menu command Go to definition could fail if the function was defined in a header file. This has been corrected.
[EW22518, EW22612] -
Having a shift-left operator within a macro definition, as in:
#define RUN_LED 1<<10
caused a number of functions following such a definition to be omitted from the editor Go to Function window. This has been corrected.
[EW22809] -
The following construction:
#define INCLUDE
could cause the source browser to miss the definition of#include INCLUDE int main(void) { ...... main
. This no longer happens.
[EW22948] -
A failed post-build step was not included in the error count displayed in the status bar. This has been corrected.
[EW23110] -
Setting the editor font to "Terminal" resulted in "Courier" instead. This has been corrected.
[EW23156] -
In EWARM 6.40.2:
Reloaded editor files were incorrectly scrolled to the beginning. They are now opened at the expected location.
[EW23252, EW23280] -
In EWARM 6.40.2:
The editor no longer tries to identify special comments like//!
or///
(e.g. Doxygen or javadoc comments). Now everything after//
is handled as a normal C++ comment.
[EW23264, EW23275] -
In EWARM 6.40.2:
The Find/replace operation generated a sound for each replacement. Now a beep is emitted during a replace operation only when the document is read-only. [EW23265] -
In EWARM 6.40.2:
The caret color is now set to white if the background is dark, and black otherwise.
[EW23277, EW23291] -
In EWARM 6.40.2:
The IDE could crash when a leaf was double clicked in the Code Coverage window, because of a missing path in the editor view. This has been corrected. [EW23283] -
In EWARM 6.40.2:
The editor could become sluggish when operating on files located on a slow network drive. Speed has been improved by changing the behavior of file monitoring (i.e. detecting file changes made externally).
[EW23284] -
In EWARM 6.40.2:
Input via a non-Latin keyboard (e.g. Cyrillic) was not working. This has been corrected.
[EW23323] -
In EWARM 6.40.2:
The flash loader for Freescale MK61FN1M0xxx12 did not work.
[EW23326, EW23203] -
In EWARM 6.40.3:
Specifying the Project>Options...>General Options>Output>Executables/libraries path with a trailing space caused IAR Embedded Workbench to quit unexpectedly. This no longer occurs.
[EW23084] -
In EWARM 6.40.3:
The horizontal scrollbar in the editor window did not show all of a very long line. This has been corrected.
[EW23333] -
In EWARM 6.40.3:
Defining atypedef
and astruct
using the same identifier caused the source browser to stop working. This has been corrected.
[EW23367] -
In EWARM 6.40.3:
Wrong definition of IPU in the Freescale header file iomcimx535.h.
[EW23384] -
In EWARM 6.40.3:
The registers CCR3 and CCR4 were missing on TIM3 and TIM4 for ST STM32F407 in the debugger register view.
[EW23402] -
In EWARM 6.40.3:
The text editor will now correctly reload files that were opened as read-only.
[EW23408] -
In EWARM 6.40.3:
The definition of the registerCPSW_P2_MAX_BLKS
has been corrected in the header file and the debugger device configuration file for TI AM335x.
[EW23456] -
In EWARM 6.40.4:
Now all*_LOC
registers are present inLpc11xx.h
in the LPC11xx example projects.
[EW23395] -
In EWARM 6.40.4:
The Project>Import File List... dialog box in the Japanese version of IAR Embedded Workbench did not show*.ewp
files by default. This has been corrected.
[EW23453] -
In EWARM 6.40.4:
Missing bit field definitions RCC_CSR.LSECSSON and RCC_CSR.LSECSSD in the device files for ST STM32Lxxx.
[EW23469] -
In EWARM 6.40.4:
Strings and C/C++-style comments were not colored in assembler files. This has been corrected.
[EW23508] -
In EWARM 6.40.5:
The region 0x60000000-0x6FFFFFFF was missing in the memory map for Freescale i.MX25.
[EW23498] -
In EWARM 6.40.5:
The commands Next/Previous Bookmark now wrap at the beginning and the end of the document.
[EW23499, EW23510] -
In EWARM 6.40.5:
The ST STM32 header files lacked definitions for the ACR register.
[EW23507] -
In EWARM 6.40.5:
Incorrect meta information in the Toshiba TMPM061FWFG default linker control file.
[EW23527]
- None.
V6.30 2011-10-22
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] -
In EWARM 6.30.6:
The project manager in the IAR Embedded Workbench now behaves correctly after a massive burst of error logging in the Debug Log window.
[EW23059] -
In EWARM 6.30.7:
Previously IAR Embedded Workbench did not remember a connection to some source control systems (for example ClearCase) between sessions. This has been corrected.
[EW22968] -
In EWARM 6.30.7:
The address for FSPULLUP in ios3fn21x.h was wrongly defined.
[EW23056] -
In EWARM 6.30.7:
The Freescale K70 flashloader could fail during download.
[EW23090] -
In EWARM 6.30.8:
Wrong addresses for ADC_CSR and ADC_CCR in the header and debugger device description files for ST STM32L151xx, STM32L152xx, STM32L162xx.
[EW23119] -
In EWARM 6.30.8:
Missing definitions for RTC registers in the debugger device description file for ST STM32F4xx.
[EW23125] -
In EWARM 6.30.8:
The linker configuration editor was wrongly configured for Toshiba Cortex-M3 devices.
[EW23142] -
In EWARM 6.30.8:
Incorrect address set for Fujitsu MB9AF131K/132K internal RAM.
[EW23154] -
In EWARM 6.30.8:
Better debugger display of the ST STM32F2xx timer registers.
[EW23155] -
In EWARM 6.30.8:
Correction of the example clock setup code in system_LPC11xx.c.
[EW23166] -
In EWARM 6.30.8:
Missing bit definitions for the register RCC_AHB1ENR in the header and debugger device description file for ST STM32F2xx.
[EW23167] -
In EWARM 6.30.8:
Fixed a bug in the Freescale Kinetis USB CDC example that could cause an unexpected exception.
[EW23190] -
In EWARM 6.30.8:
The examples for the IAR-LPC-1768-SK board specified more RAM than what is available.
[EW23201] -
In EWARM 6.30.8:
Missing definition for EXTI in the debugger device description file for ST STM32F4xx.
[EW23202]
Extended XDS100v2 support (new in 6.30.4)
The XDS100v2 debugger driver now supports all TI Stellaris Cortex-M3 devices and the TI TMS470M family.Stack usage analysis
With stack usage analysis enabled, a stack usage section will be added to the linker map file with listings of the maximum stack depth for each call graph root. The analysis process can be customized to take into account such constructs as calls via function pointers and recursion. The output can optionally be generated in XML format for post-processing activities.Extended inline assembler
The inline assembler have been extended with the possiblity to take input arguments, have return values, and read or write to C symbols. The syntax is similar to the syntax used in GNU GCC.Cortex-M3/M4 speed optimizations
The compiler optimizer have been tuned to generate faster code, with special focus on the coremark and DSP library code bases.JTAGjet-Trace integration
Signum JTAGjet-Trace, an advanced debug probe for high-end applications, is now integrated with its trace module in the debugger, making it possible to take full advantage of the trace capabilities on Cortex-A and Cortex-R devices when debugging complex systems.ITM event plot function in timeline window
The Timeline window has been enhanced with a graphical event log for Cortex-M3/M4 users. To aid in analyzing the behavior of your code, place predifined macro functions at places of interest in the code, and when these points are reached during execution, event messages will be sent and appear in the Timeline window. The plotted events can be correlated with the source code, detailed context timing is also provided.Function exclude mechanism in profiler
The function profiling window has been enhanced with a function hide mechanism. Functions that are not of interest can be filtered out. This can be useful when working with an RTOS, RTOS kernel functions can be filtered out, to get a focused picture of where the execution time is spent in the actual application code.Support for Texas Instruments Stellaris ICDI (new in 6.21.3)
Support has been added for the Texas Instruments Stellaris ICDI debug interface. The same C-SPY debugger driver is used for both the FTDI- and the ICDI-interface. This debugger driver is now called TI Stellaris.RTOS awareness support for AVIX-RT (new in 6.21.2)
An RTOS awareness plug-in for AVIX-RT is now included.
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]A missing debug driver GUI DLL (WTD) might cause a warning dialog box to appear every time a project is opened.
[EW18350]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.