- Important information
- New features
- Known problems
- Program corrections
- User guide corrections
- Miscellaneous
- Release history
Important information
- In IAR Embedded Workbench for 8051, version 10.10 and later, the option Library Builder>Output>IAR standard library name as default has been removed. If you upgrade from a version prior to 10.10 and you were using this option, the output library file will keep its name but will be placed in the output directory for executables defined by the project, instead of replacing the standard library in the IAR Embedded Workbench installation.
- If you are using multi-file compilation together with the banked memory model, you must make sure that the size of each multi-file compiled module does not exceed the size of the code bank on the device you are using.
-
If the
B
register is relocated to an address which is not bit-addressable, the runtime libraries will no longer be compatible and will not function properly. - The commands Code Coverage>Next Different Coverage and Code Coverage>Previous Different Coverage on the Disassembly window context menu are not supported. Choosing either of these commands has no effect.
New features
- None
Known problems
- [EW8051-1010] The command line utility iarbuild.exe sometimes fails after compiler execution, although the compilation itself does not generate any errors or warnings.
- [EW8051-977, IDE-4771] The IDE can sometimes crash when a list file is open in the editor and the Clean command is triggered.
- IAR Embedded Workbench IDE - Known problems
Program corrections
User guide corrections
- None.
Miscellaneous
- None.
Release history
10.30.2, November 2020
New features
-
Support for ABOV Semiconductor devices
A94B114, A96G140, A96A148, A96G148, A96G166, A96S166, A96G174, A96S174, A96G181, A96L322, A96L414, A96L416, A96T418, MC96F1206, MC96F6432, MC96F8204, MC97F6108A, MC97FG216, MC97FG316. -
Support for Nuvoton devices
ML54 and ML56 device families.
Program corrections
- [EW8051-966] The assembler instruction keyword div/DIV is not highlighted in the editor.
10.30.1, December 2018
New features
-
Support for Silicon Labs EFM8 devices
EFM8UB31F40G and EFM8UB30F40G. -
Support for Nuvoton devices
ML51 series, MS51 series and N76E013. -
Support for Texas Instruments devices
MSC1213Y2, MSC1213Y3, MSC1213Y4, MSC1213Y5, MSC1214Y2, MSC1214Y3, MSC1214Y4 and MSC1214Y5.
Program corrections
- [EW8051-955] The library dl-pli-nlpd-2h16incn.r51 is not delivered prebuilt with the product, despite being needed by some devices.
10.20.1, April 2018
New features
- Support for the Nuvoton N76E885 device has been added.
- A debugger plugin for the Segger embOS real-time operating system is now included in IAR Embedded Workbench for 8051.
Program corrections
-
[EW8051-885, EW24261]
If the Extended 1 CPU core is selected on the page Project>Options>General Options>Target but no
page register address is specified on the Project>Options>General Options>Data Pointer page, this error
will be displayed when you close the dialog box: "Fatal error: Option: '--proc_pdata_bank_ext_reg_addr N', N is missing Session aborted!".
Then the IDE stops responding and must be restarted.
Some code and data models require an address to be specified for the option Project>Options>General Options>Data Pointer>Page register address>Bit 16-23. A warning is displayed when you select one of these memory models, but you still need to specify a page register address for building and debugging to work. - IAR Embedded Workbench IDE - Corrected problems
10.10.3, October 2017
Program corrections
- [EW8051-931] Interrupt definitions and LIN0 registers are missing in device configuration files for the Silicon Labs C8051F55x family.
10.10.2, July 2017
New features
- Support for the Nuvoton N76E003 device has been added.
10.10.1, April 2017
Program corrections
-
[EW23642]
Breakpoints can end up on the wrong line when lines are added or removed during editing, and with no debug session started. (If lines are added or removed in the source code when the debugger is running, the location of breakpoints might still change.)
9.30.3, October 2016
New features
-
New examples for Silicon Labs EFM8 devices
Application examples for the EFM8 Busy Bee, Laser Bee, Sleepy Bee and Universal Bee MCUs have been added.
Program corrections
-
[EW26081]
RTC peripheral register definitions are not available in the device include files for Silicon Labs EFM8 devices. -
[EW26108]
The Project>Options>Linker>Output>Buffered terminal output option can not be enabled when using DLIB (not applicable when using CLIB). -
[EW26184]
The symbol ?CBANK is not automatically defined when the Near code model is used. However, when the library function setjmp is used, this symbol must be defined.
9.30.2, February 2016
New features
-
New example for the S8051XC3 device from CAST
An application example for the Terasic DE0-Nano evaluation kit equipped with the S8051XC3 core from CAST has been added. -
Complementary documentation about device support
A guide which describes how to add support for new devices and how to modify characteristics of already supported devices has been added.
9.30.1, December 2015
New features
-
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 the C-STAT Static Analysis Guide. -
New tool for converting Keil µVision projects
A converter tool for porting projects from the Keil µVision environment to IAR Embedded Workbench has been added together with a Migration Guide. Conversion of project files and optionally also C/C++ source code is supported. -
New examples for Silicon Labs EFM8 devices
Application examples for the EFM8 Busy Bee and Sleepy Bee MCUs have been added.
9.20.3, October 2015
New features
- Linker configuration files with support for banked XDATA memory has been added for the relevant devices from CAST. The appropriate file must be selected manually in the Project>Options>Linker>Config>Linker configuration file input field.
9.20.1, May 2015
Program corrections
-
[EW22130]
The Project>Options>Custom Build>Custom Tool Configuration page is sometimes displayed on top of the OK and Cancel buttons.
9.10.1, December 2014
Program corrections
-
[EW21811]
Find in files does not work correctly when the language for non-Unicode programs setting in Windows is not set to English. -
[EW24572]
The Embedded Workbench crashes when using the $TARGET_BNAME$ argument variable in the Library Builder settings. -
[EW24668]
Errors in the header file for the Silicon Labs device C8051F347 (ioC8051F347.h). -
[EW25086]
Target devices are selected in the general options using a file browser dialog instead of a more user friendly menu. -
[EW25128]
Errors in the header file for the Silicon Labs device Si1034 (ioSi1034.h, definition of DC0CF). -
[EW25129]
Errors in the header file for the Silicon Labs device Si1034 (ioSi1034.h, definition of REF0CN).
8.30.2, January 2014
Program corrections
-
[EW24376]
The CLIB files and corresponding library template build projects whose name indicates that the option--place_constants=CODE
is used do not have this option correctly set. The error message from XLINK is:Error[e117]: Incompatible runtime models. Module test specifies that '__location_for_constants' must be 'code'
-
[EW24396]
XLINK issues the warning"Warning[w2]: Symbol ?ESP is redefined in command-line"
when linking with linker configuration files for Texas Instruments devices. -
[EW24412]
If you are using a modified cstartup file based on an earlier version than 8.30, you might get a linker error:"Undefined external "?V1""
(or a similar error). This is because the cstartup file has been changed to optimize the usage of the virtual register area. Update your project-specific cstartup file with the new version from your installation. -
[EW24413]
Linker configuration files (with the filename extension .xcl) from version 8.20 or older contain:
-Z(DATA)VREG+_NR_OF_VIRTUAL_REGISTERS=08-7F
.
In the 8.30.1 release this internal_NR_OF_VIRTUAL_REGISTERS
symbol was deprecated. In the new version of these files, this changed to:
-Z(DATA)VREG=08-7F
.
This change is now also applied to the Texas Instruments (Chipcon) linker configuration files.
8.30.1, December 2013
Program corrections
-
[EW23773]
Incorrect SFR bit definitions on addresses 0xC8 and 0xC9 in Silicon Labs header file ioC8051F041.h. -
[EW24178]
Incorrect SFR bit definitions in Silicon Labs header file ioC8051F043.h. -
[EW24262]
The source browser sometimes fail to look up symbols.
8.20.2, February 2013
Program corrections
-
[EW23667]
The source browser did not recognize the __sfr keyword making it impossible to use go-to-definition and go-to-declaration. -
[EW23760]
Fixed a problem when you got a fatal error when selecting CY7C68xxx Cypress devices.
8.20.1, October 2012
Program corrections
-
[EW23247]
Definition of bit 3 (PADC0) in SFR EIP1 of Silicon Laboratories C8051F34x family has now been added in the device header file. -
[EW23222]
The device files for Digital Core Design - DP80390 have been corrected. -
[EW23070]
The example project for Analog Devices ADE7169Fxx now works.
8.11.1, February 2012
8.10.1, May 2011
New features
-
Find in files improvements
You can now use regular expressions in the search field. There is also a new option that allows you to search all projects in the current workspace.
Program corrections
-
[EW17696, EW18374]
The DPTR Addresses configuration dialog box sometimes failed to recognize values within the acceptable range. This has been corrected. -
[EW17898]
A : (colon) typed inside a comment no longer auto-indents the line. -
[EW20979]
The IDE does no longer terminate abnormally if a line containing a C preprocessor macro that ends with an open parenthesis is present in the file being edited. -
[EW21358]
SFR information has been corrected in several device header files in this release. -
[EW21912]
The XDATA ranges in several linker configuration files has been corrected. -
[EW22040, EW22129]
Some of the documentation links in the Information Center were broken. This has been corrected. -
[EW22110]
An issue with the setup of PDATA pages in the linker configuration files, where the symbols ?PBANK_NUMBER and the high byte in the range _PDATA0_START-_PDATA0_END were not always the same, has been corrected.
7.60.1, June 2010
Program corrections
-
[EW21372]
The command line build tool would in some circumstances display a dialog and wait for user input before proceeding. This has been corrected. -
[EW21607]
Some projects in the tutorial could not be built by variants of the product that does not allow assembly files to be created. This has been corrected. -
[EW21636]
License keys for the evaluation edition would sometimes prematurely expire. This has been corrected. -
[EW20979]
Open parenthesis in C macros no longer cause the IDE to terminate. -
[EW20978]
The tutorial section of the user guide no longer references ARM7TDMI.
7.51A, March 2009
7.50C, September 2008
Program corrections
-
[EW20344]
The end of the extended stack segment is now derived from the beginning of the segment plus the size of the extended stack. -
[EW20509]
The address of the FLSTAT register in the include files for Silabs F12x family has been corrected. -
[EW20502]
C-Spy will no longer consider __sfr declared symbols located in IDATA memory.
7.50A, June 2008
New features
-
Multi-file compilation
It is now possible to use the IAR Embedded Workbench IDE to define compilation units with multiple files that will be compiled together, resulting in more efficient code size optimization. -
visualSTATE build integration
visualSTATE design projects can now be included in an IAR Embedded Workbench project. This enables the code generation facility of visualSTATE to be run automatically when needed as part of the normal IAR Embedded Workbench build chain. - The Optimizations tab in the Options menu has been redesigned to make it easier to target your application for size or speed optimization.
7.40A, February 2008
New features
- The Code Bank page in the Options dialog box was modified to simplify the setup of projects using banked memory.
Program corrections
-
[EW19345]
During some circumstances, saving only the current project file would erroneously display the message "The project xxx.ewp has been modified on disk.Would you like to reload the project?". -
[EW19772]
Several issues related to the Source Code Control (SCC) integration has been fixed. -
[EW18511]
The source browser did not recognize some 8051-specific keywords. This has been corrected. -
[EW19415]
The Arithmetic Unit option page was never used and has been removed.
7.30A, August 2007
New Features
- The compiler preprocessor options dialog box has been updated so that the default include path now also contains the path to CLIB or DLIB. The default include path has been made aware of which library type that currently is selected.
Program corrections
-
[EW19254]
When the debugger loads a project, the following error message could be generated: "Load module failed". -
[EW19111]
The problem when converting the compiler include path into the standard include paths is now fixed. -
[EW17944]
The SFRs RCAP2L/RCAP2H where misspelled for Silabs F020 Device description files. -
[EW17374]
In some cases the calling convention option was not updated with the possible calling conventions when the "Large" data model was selected. -
[EW15973]
If you close down 8051 IAR Embedded Workbench directly after selecting a new derivative, the Device description file on the Setup page selected from the C-SPY category might not be updated.
7.21A, May 2007
Program corrections
-
[EW18919, EW18374]
The DPS value was not correctly set after choosing a derivative that has 2 or more DPTR's. -
[EW18888]
FAR_CODE and FAR_CODE_C segments are now properly paged into 64k chunks. -
[EW18887]
The missing segments CODE_N and FAR_CODE_N have been added to lnk_base.xcl. -
[EW18705,18920]
The linker file lnk51ew_C8051F410.xcl did not set up FAR_DATA_END correctly. -
[EW18414, EW18296]
The __dbg_xxxxx.c functions were not included in the product package for dlib. This also made it impossible to build the fibonacci tutorial. This has been fixed. -
[EW18240,17852]
The installation package for the Limited Edition has been corrected. Previously when the 8051 IAR Embedded Workbench was started the error message "Failed to locate the Debugger package DebuggerGui.dll - No debugger will be present" was shown. -
[EW17340]
The compiler preprocessor include path was not updated with CLIB or DLIB sub-path when the CLIB or DLIB libraries were selected. -
[EW14713]
The default include path for a project did not contain the path to CLIB or DLIB.
7.20H
Program corrections
-
[EW17571]
$PROJ_DIR$ paths in ewp file changes to $EW_DIR$.
7.20D, May 2006
Program corrections
-
[EW17897]
There was conflicting definitions of some of the interrupt vectors and the defined SFR bits in the target header files. -
[EW18051]
Corrected misspelled SFR names in the header and DDF file for the device P89C51.
7.20C, January 2006
New Features
The following configuration files has been added or updated:
-
Analog Devices
The Analog Devices family ADu848 has updated DDF and H files. -
Atmel
The Atmel family AT80C51SNDx has new DDF and H files. -
Chipcon
All H, DDF and XCL files for CC2430, CC2431 and CC2510. The devices CC2430 and CC2431 also have new XCL files for banked applications. -
Infineon
The Infineon family XC866 has updated DDF and H files. -
Philips
The Philips family P89C5x has updated DDF and H files. -
Silicon Labs
The Silicon Labs families
C8051F019, C8051F047, C8051F046, C8051F045, C8051F044, C8051F018, C8051F067, C8051F066, C8051F065, C8051F064, C8051F063, C8051F062, C8051F061, C8051F060, C8051F335, C8051F334, C8051F333, C8051F317, C8051F316, C8051F315, C8051F314, C8051F313, C8051F312, C8051F332, C8051F321, C8051F320, C8051F353, C8051F352, C8051F351, C8051F350, C8051F331, C8051F330
has updated or new DDF, I51 and H files. -
Texas Instruments
Configuration files, DDF, H and I51, for Texas Instruments families MSC1201x and MSC1202x have been added.
Program corrections
-
[EW17739]
The SFR bits in the SPI0CN bit register was declared in reversed order. -
[EW17390, EW17572]
The configuration files for Philips P89C51 family has been updated with missing SFRs, SFR bits and interrupt information. -
[EW17499]
The SFR EDARH for Analog Devices ADu848 family was misspelled. -
[EW17634]
The CHECKSUM segment definition has been corrected. -
[EW17568]
The PDATA initialization in the linker configuration files has been corrected.
7.20B, November 2005
Program corrections
-
[EW17500]
Added SFR information that was missing in the Philips P89C51/2/8 configuration files. -
[EW17533]
The Workbench GUI would pass the options entered in "Linker/Extra Options" as many times as there was translated files (C and ASM) in the application. -
CStartup updated
It was not possible to build applications that contained the CStartup.s51 source file. The CSTARTUP module was declared as PROGRAM and not MODULE as it should have been declared. All libraries has been rebuilt to included this updated CStartup.s51 code. -
CHECKSUM segment
The CHECKSUM segment was missing in the linker configuration file lnk_base.xcl.
7.20A, October 2005
New features
-
Support for C++
This is the first compiler for 8051 targets that takes full advantage of the possibilities in C++. -
Debugger driver for Chipcon CC2430 family
A debugger driver for the Chipcon CC2430 SoC ZigBee development kit has been added in this release of the 8051 Embedded Workbench. -
Generic ROM-monitor template project
A generic ROM-monitor template project is included. With this project and the delivered source files it is now possible to build your own ROM-monitor for additional 8051 boards and kits. -
ROM-monitor debug support for Analog Devices
ROM-monitor debug support for Analog Devices ADu84x family added. -
ROM-monitor debug support for Texas Instrument
ROM-monitor debug support for Texas Instrument MSC1211 family added. -
Full source code for both CLIB and DLIB included
All source code for the libraries CLIB (standard C library) and DLIB (C and C++ library) are included. This means that together with the library projects for CLIB and DLIB all libraries needed can be easily built.
Program corrections
-
[EW17338]
The default setting for ATMEL89C51ED2 did not have any pre built library. -
[EW17374]
The calling convention option is now updated with the selected calling convention when the "Large" data model is selected. -
[EW17376]
The addresses for multiple DPTR's in the "Configure..." dialog box were sometimes not updated when selecting a derivative with multiple DPTR's.
7.10A, July 2005
New features
-
Source control system
IAR Embedded Workbench can now identify and access any third-party Source Control System that conforms to the SCC interface published by Microsoft. -
Source Browser
Easy navigation to functions, types, variables and macros and with filtering possibilities. -
Find in Files
Selecting project files or file groups made easy in Find in Files. - Pre- and post-build actions added.
-
Source file navigation
A "Web navigate" type of source code navigation has been added that allows you to navigate back and forward to previously visited source locations. - Smart indentation of source code.
- Drag-and-drop of workspace (.eww) and project (.ewp) files to workspace window.
-
Open files with an external application
To open files in a project with another application than the built-in editor, choose Tools->Configure Viewers and configure which application to use for a specific filename extension. -
File properties
You can now right-click a file in the Workspace window to display the file properties. - File name and line number are now displayed in the Build log window.
- The Compile command can now be applied to a selection of files.
-
Removing 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. - Log build messages in file feature added.
- Context menu for editor tabs added.
- Import File List feature added.
-
Dockable windows
State-of-the-art window management with dockable windows and multiple views. -
Template projects
Allow a novice user to get a project that links and runs "out of the box" and specific ready-made project configurations.
Program corrections
-
[EW15825]
The SFR's SCON0 and SCON1 now have bits defined in the header and DDF files. -
[EW15977]
The context-sensitive help has been updated. -
[EW16095]
The keywords __far_rom and __huge_rom are now correctly highlighted in IAR Embedded Workbench. -
[EW16680]
The bits for Port 0-3 were defined in reversed order.
6.11A, October 2004
New features
-
You can now export the file name extensions set for one user to be applied for an
entire project. All added file name extensions are saved in the file 8051.xov.
Exporting the file name extension to an entire project can be done by moving/copying
the file 8051.xov from the local user directory to the project directory.
On Windows XP you will find 8051.xov in the directory Documents and Settings\<local-user>\Application Data\IAR Embedded Workbench\8051.
Program corrections
-
[EW15006]
Interrupt definitions for Infineon derivatives is now correct. -
[EW15023]
The segments BDATA_N and BDATA_I have been added to the default linker command file. -
[EW15113]
The address of port 1 in Atmel AT89S51 support files is now correct. -
[EW15258]
The device description file for Texas Instrument derivative MSC1210 is now opened in the debugger when the derivative is selected as the target derivative. -
[EW15815]
The order of the bits in the derivative support files for Silabs C8051F310 and C8051F311 is now correct. -
[EW15816]
The editor now does syntax highlight of assembler keywords in assembler source files. -
[EW15869]
The assembler definition of register B in the header files io8051F310.h and io8051F311.h has been removed.
6.10A, February 2004
- Initial release.