- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
- Symbol names for interrupts
In version 3.50, symbol names for interrupts in the debugger device description files are slightly changed compared to previous releases. This is due to that we now use Renesas original SFR files as input for our own device files. - Enable extended memory
For some devices, internal area expansion bits like PM13 and IRON bit must be set to utilize the whole internal memory area. It is important to use #pragma location="CSTART" before the __low_level_init routine called by cstartup to make sure that the initilization code is always located in non-extended memory. See source code example in src\c\set_pm13_iron.c for details.
New features
Parallel build
IAR Embedded Workbench can now build projects using multiple parallel processes. This can improve build performance significantly on multi-core or multiple processor computers. To control parallel build, choose Tools>Options>Project>Enable parallel build.Building all configurations with iarbuild
By specifying a wildcard character (*) as the configuration name, it is now possible to clean/build/make all configurations defined in the project file by calling iarbuild.exe only once.
Known Problems
- EW17254
When attempting to paste (Ctrl+V) a string from the IDE editor into the Help page field for keyboard entries, the string is inserted into the IDE editor instead. - EW16484
Some debugger settings cannot be preserved when opening an older project and the project handler keeps giving a warning for this until you make a debugger option change (any). - EW18653
If you change case on the name of a source file that was already compiled, the output (.r34) file will not change case automatically. - IAR Embedded Workbench IDE - Known problems
Program Corrections
User guide corrections
- None
Miscellaneous
- Segment DATA_FLASH
For devices with Data Flash memory, a segment called DATA_FLASH exists in the linker configuration file.
Example on how to put things there:
#pragma constseg=DATA_FLASH
__root const char buf1[ 6 ] = { 0 , 1 , 2 , 3 , 4 , 5 } ;
__root const char buf2[ 5 ] = { 10 , 11 , 12 , 13 , 14 } ;
#pragma constseg=default
- Additional RAM area for R8C
Some recent R8C devices have the RAM memory divided in two separate memory areas. The corresponding linker files are configured so that CSTACK, ISTACK and HEAP are placed in the upper RAM area and variables are placed in the low RAM area. One method to force variables to either one of these areas is to add a segment in the linker file and use #pragma dataseg in your application.
Example:
#pragma dataseg=MYDATASEG
__no_init int call_count2;
#pragma dataseg=default
Release history
3.70.1, October 2014
New features
- External analyzers
A flexible mechanism to invoke external analyzers for project files. This is typically used as an interface to static analysis tools like PC-lint. - Custom argument variables
Custom argument variables can be used in the IAR Embedded Workbench IDE whenever there is a need for a macro-like expansion that depends on the current context. This could for example be in arguments to an external build tool.
3.60.1, June 2010
Program corrections
- EW20863
The editor function Go To Function in the lower left corner of the editor does not show all function names for certain source code. - EW17709, EW17710
The editor Auto indent function might fail for comments or code containing a semicolon.
New features
- New text editor and source browser
A new text editor and source browser are introduced in this version. The new features include auto completion, parameter hint, code folding, block select, block indent, bracket matching, zoom and word/paragraph navigation. The new source browser adds features like Go to Declaration and Find All References to symbols. - New licensing management system (LMS) introduced
The new LMS used with this release introduces new features like commuter licenses, automatic license activation and support for virtual servers. It is easier to administer and a new single CD concept enables all variants of IAR Embedded Workbench for a certain product to be included in one and the same installer. - Subversion
The version control integration has been extended with support for Subversion (SVN). - Call Graph window
A new Call Graph window has been added. It is browsable and displays all calls made to and from each function from any source file in the active project.
3.50.1, November 2010
New features
- Enhanced device support
Due to a new method where Renesas original SFR header files are used as base for IAR header files, the number of supported devices has increased significantly. This also simplifies porting code written for the Renesas compiler.
Program corrections
- Interrupt definitions were missing in some of the R8C header files. [EW23053]
- The address of the OFS2 register was wrong for R8C devices. The correct address is 0xFFDB. [EW21851]
- The interrupt vector for Timer B4 was incorrectly defined as TMR_B6 instead of TMR_B4. This has been corrected. [EW21508]
- Some of the CAN bus SFR definitions were wrong in the M16C/5L device file. [EW21479]
- IAR Embedded Workbench IDE - Corrected problems
3.40.5 - Patch release - 2010-10-29
New features
- Device files for the M16C/6C family have been added.
- The embOS examples and C-SPY plug-in have been updated.
- The OFS2 register value can now be set in the linker file via a symbol.
Program corrections
- EW21371
The default linker files have been changed so that the -Z directive is now used instead of -P for the CSTART segment. This, to assure that the module order is kept.
3.40.4 (update), September 2009
- EW21181
The Option Function Select Register 2 (OFS2) was always written even for devices where this is not allowed. This has been corrected. - EW21292
The location of the CSTACK segment in the default linker files has been changed to avoid the RAM expansion area which is not accessible at all times. - EW21202
The reserved RAM and ROM areas have been adjusted for some device families to correspond to the E8a firmware location. - EW21276
The definition of the interrupt vector for Timer B4 was not correct for the M16C/65 family.
3.40, July 2009
- EW21000
The example project for R8C/2D voltage detection did not work properly. - EW20882
Errors have been corrected in the SFR header file iom16c5l.h. - EW20691
Version 1.36 projects were not converted and opened correctly when using EWM16C v3.30A.
3.30A, June 2008
- EW19921
If the IDE is closed when it is minimized, some of the windows inside the IDE will be shown minimized the next time the same project is opened again. - EW19849
The OFS-register has been removed from all R8C I/O files as it is not located in the SFR area. - EW19346
The SFR register definitions CSR and CSE were missing in the header files iom16c6nk.h, iom16c6nl.h, iom16c6nm.h, and iom16c6nn.h. - EW19079
The SFR bit FMR16 in the FMR1 register had the wrong name in the files iom16c62p.h, iom16c6n4.h, iom16c6n5.h, iom16c6nk.h, iom16c6nl.h, iom16c6nm.h, and iom16c6nn.h. - EW18122
Errors have been corrected in the C-SPY macro SetupAdvanced.mac used in the interrupt tutorial.
3.21A, December 2006
- EW18304
In the R8C11/13 device files, the following register names have changed according to the Renesas hardware manual: CMP2IC changed to CMP1IC (address 0x50h) CMP1IC changed to CMP0IC (address 0x5Ch). The corresponding change has been made for the interrupt vectors. - EW17931
The PCLK register definition (0x25E) was missing in iom16c6n.h.
3.20A, March 2006
- EW17743
An SFR definition for the CAN interrupt control register was missing in the M16C29 and M16C6N4/6N5 I/O-header files. - EW17635
The bit definition of PRC2 was missing in the PRCR register in the R8C20/21, 22/23 and 24/25 header files. - EW17584
In all R8C header files, the A/D register is defined as "AD". The interrupt vector #define was also called "AD" which lead to an error when using the A/D register. - EW17488
The iom16c10.h header file had errors and missing information. - EW17066
When source browse information generation was enabled, saving a text editor file could sometimes fail. - EW16775
The 16-bit SFR's C0ICR and C1ICR was defined as 8-bit registers instead of a 16-bit both in iom16c6n.h, iom16c6n4.h and iom16c6n5.h. - EW17289
The iom16c26a.h header file had errors and missing information.
3.10A, December 2004
The files string.h and stdlib.h included in the product contained errors.
The definition of C_task in the file migration.h was not correct.
The I/O header files iom16c62p.h and iom16c6n4.h had the wrong addresses for the SFR's U0BCNIC and U1BCNIC.
The byte at 0xffff is no longer initiated by cstartup as an SFR is located there for some R8C derivatives.
The I/O header file iom16c28.h had errors which are corrected in revision 1.3 of the file.
The intrinsic __istate_t had the wrong name in file intrinsics.h.
The DLIB libraries for --data_model=near, --variable_data=near, --constant_data=near and -u1 (Byte align objects), where not correct built.
The files cdebug.s34, clib.s34, ddebug.s34 and dlib.s34 where missing in the template library project.