TASKING VX-toolset for C166 v3.1r2
Release Note
Scope
This release note covers the changes between v3.0r1 and v3.1r2 of the TASKING VX-toolset for C166.
Contents
This section gives an overview of the most important new features and improvements in v3.1. See the sections with fixed issues for a complete list.
Installation and license manager
The installed Java Run Time environment is updated to version 7 update 9.
On some PCs it may look like the installer hangs while showing Updating configuration. This is
caused by the long installation times of the Infineon DAS software installation, required for hardware debugging.
The license manager package in the installer is updated to v8.4ra3. This package now includes a tool to
make hanging licenses available again.
Eclipse Changes
The Eclipse distribution has been updated to Indigo: Eclipse 3.7.1 and CDT 8.0.1.
The TASKING plug-ins show the following changes in the user interface:
- An additional screen has been added to the new project dialog for selecting an evaluation
board and create a debug launch configuration immediately. A launch configuration for the simulator will no
longer be created by default
- The Debug Configuration dialog has changed. The tabs have been reorganized to make navigation
and configuration selection easier.
- The board import wizard now includes processor selection and complete definition of the board
configuration.
- When selecting another processor for a project, Eclipse will offer to set the values of the registers
initialized by the start-up code to their defaults.
- The TASKING specific preference pages are reorganized and are now all grouped under "TASKING"
- The list of views that is shown when opening a view is reorganized and all views are now grouped under
"TASKING"
- When the ELF file is updated that is used in an active debug session, the debugger will now show a pop
up to ask for a re-download.
- The profiling views are now connected to the active project instead of to the file that is open in the
editor
Control Program
When working on the command line it is now easy to get a list of supported processors by supplying the
--cpu-list option to the control program. The processors in the list now got an id which can be used
to pass to the -C/--cpu option.
High Level Object Dumper
The hldump166 object dumper now shows the copy table section, which is generated by the linker and used by the start-up code, in a readable format.
Source intermixing in disassembly has improved by showing multiple lines that belong to a single
address.
SFR files
The SFR files for the L, U, N and H series have been updated to the latest status of the manuals. The SFR
files used for the debugger now include complete description of bit-fields and bit-field values.
C compiler
The C compiler has been updated with the latest TASKING VIPER front-end. Various optimization improvements
have been made. In general code size and execution speed of the generated code shall improve with v3.1
compared to v3.0.
Two new symbol attributes are added:
__attribute__((leaf)) / __leaf__
__attribute__((flatten)) / __flatten__
C++ compiler updated to EDG 4.2
The EDG front-end in the C++ compiler has been updated from v3.8 to v4.2. STLPort libraries and user guide are updated accordingly
Major changes include:
- Supports ISO/IEC 14882:2003
- Additional C++0x Language Features Accepted with option --c++0x
- New options:
--auto-type | allow "auto" to be used as type specifier |
--c++0x-sfinae/--no-c++0x-sfinae | enable/disable the C++0x SFINAE rules |
--c++0x-sfinae-ignore-access/--no-c++0x-sfinae-ignore-access | allow/disallow access errors in C++0x SFINAE that make deduction fail |
--check-concatenations | check the result token of macro concatenations |
--compound-literals | allow compound literals in expressions |
--default-nocommon-tentative-definitions | do not place tentative definitions in common storage |
--defer-parse-function-templates / --no-defer-parse-function-templates | enable/disable deferral of prototype instantiations until first actual instantiation |
--no-exceptions | disable exception handling support |
--no-extended-variadic-macros | disallow extended variadic macros |
--no-lambdas | disable support for C++0x lambdas |
--no-nullptr | disable support for the C++0x "nullptr" keyword |
--no-rvalue-refs | disable support for r-value references |
--no-stdarg-builtin | disable special treatment for the stdarg.h header |
--no-variadic-macros | disallow variadic macros |
--nonstd-default-arg-deduction | retain default arguments as part of deduced function types |
--nonstd-instantiation-lookup | use C++98 rules for name lookup in template instantiations |
--nullptr | enable support for the C++0x "nullptr" keyword |
--rvalue-ctor-is-not-copy-ctor | do not treat an r-value constructor as copy constructor |
--rvalue-refs | enable support for r-value references |
--template-typedefs-in-diagnostics | replace typedef names in template diagnostics |
--uliterals | enable support for U-literals |
--unsigned-bitfields | treat "int" bit-fields as unsigned |
--vla | enable support for variable length arrays |
- New attributes for the __attribute__ keyword: alloc_size, always_inline, artificial, cleanup, common, error, externally_visible, flaten, gnu_inline, hot, noinline, nonnull, nothrow, strong, tls_model, vector_size, volatile, warn_unused_result, warning, weak, weakref
Updated DAS to 4.0.5
The DAS server and drivers that are (optionally) installed in the setup have been updated to version 4.0.5 to support the latest devices and boards.
Fixed Problems
- 119-38491 - Wrong result after indexing a local const array with a local struct member
The list of open issues for v3.1r2 can be found on the internet.
New Features
- 119-38284 - Move over to Indigo; Eclipse 3.7.1 and CDT 8.0.1
- 119-38289 - Dump copy table in readable format
- 119-38311 - Add option to display the list of available CPUs for the -C/--cpu option
- 119-38350 - Update DAS to v4.0.5
- 119-38381 - Add processor selection and board configuration selection to board import wizard
- 119-38409 - Update C++ compiler to EDG 4.2
Improvements
- 119-37524 - amk.exe: inaccurate descriptions for option -G and -J
- 119-37554 - Add PLL registers to the "Register" tab of the C Startup Code Editor for the XE16x derivatives
- 119-37714 - Debug error: An ORTI file also requires a KSM Module
- 119-37884 - Define the product path in make files by means of a macro
- 119-37932 - Add size column to tables on flash properties page
- 119-38145 - Select a target board and configuration when creating a new project
- 119-38174 - Show patterns at "Error Parser Options" for the TASKING error parser
- 119-38183 - Making use of the include_directories list in .debug_info sections
- 119-38200 - Add checkbox to let the assembler read the SFR file.
- 119-38248 - Add and adapt long option names of amk
- 119-38278 - Make profiling views aware of active project
- 119-38314 - Support for Tantino wiggler
- 119-38348 - Do not create a simulator launch configuration for a new project
- 119-38352 - macro FSS_MINIMAL in library make files seems to be superfluous
- 119-38372 - Extend hldump with support for displaying multiple source lines per address
- 119-38380 - Set registers to default when switching processor
- 119-38383 - Remove duplicate code sections improvement
- 119-38395 - Superfluous warning for xc16x derivatives about not saving Multiply/Divide Control register
- 119-38402 - Update SFR files to updated Infineon XML SFR file distribution
- 119-38417 - show dialog suggesting re-download when ELF file has changed on disk
- 119-38461 - update JRE to version 7
Fixed Problems
- 119-35256 - Problems view not showing external file path from error message
- 119-36661 - When importing a project the project settings are not correct
- 119-36707 - C startup editor not working when cstart.h is in sub directory
- 119-37271 - SFR register written twice
- 119-37356 - Unable to execute the flash programming application
- 119-37391 - lk166 F019: unrecoverable error: caught unknown exception
- 119-37734 - downloading fails at verification stage
- 119-37775 - Debugger cannot be started again after license error
- 119-37849 - block-like characters in debugger license error message
- 119-37955 - Undeserved MISRA C violations when a macro is being used
- 119-38088 - makefile function $(addprefix...) not documented in user guide
- 119-38130 - Debug button grayed on initial start of debug configurations menu
- 119-38148 - Flash Programming properties page does not resize decently
- 119-38155 - Disassembly view does not take into account mirroring
- 119-38176 - Random register selected in Startup Registers properties
- 119-38178 - Using --preprocessor-type=none results in: F001: ["Àÿ" 0] cannot open "Àÿ"
- 119-38191 - Missing definition for __PAGE_081_MEM_TYPE in sfr files when using peripheral U0C1
- 119-38208 - Wrong debug information showed for object defined with a typedef
- 119-38218 - Keyword highlighting is not working properly for C++ files
- 119-38224 - Standard Eclipse disassembly view pops up when switching to Instruction stepping
- 119-38228 - Some information lost when running Restore defaults on the Stack/Heap property page
- 119-38229 - Eclipse syntax error for attribute __malloc__
- 119-38230 - Sorting of non-default columns in map file table "Locate Result: Sections" does not work
- 119-38235 - Debug on KitCon167: BSL offset error in S-record file
- 119-38241 - "c166 S911: internal consistency check failed - please report" after having many MISRA-C errors
- 119-38242 - Manual correction for importing Keil/μVision projects
- 119-38243 - Problem View becomes empty after several Rebuild commands with many warnings and/or errors
- 119-38247 - Eclipse does not substitute ${ProjName} when a Workspace folder is selected at "Include paths"
- 119-38251 - Incorrect limits listed for enum type in chapter 1.1. Data Types
- 119-38256 - regxc2320d.sfr, regxc2321d.sfr: incorrect address for CAN_KSCCFG
- 119-38263 - java.lang.NullPointerException when adding debug configuration
- 119-38264 - SCU_RSTCON0 and SCU_RSTCON1 not defined in startup code
- 119-38268 - After cloning a project, the error parser still uses the original project
- 119-38270 - A loop iterator used as array index may not wrap as expected
- 119-38272 - debugger does not behave properly due to mistakes in register files
- 119-38277 - hldump166.exe does not show struct members for constant structs, volatile struct members or enum types
- 119-38279 - When using multiple jobs, make utility amk.exe does not wait for all commands to be finished
- 119-38294 - xc2237m.lsl does not contain the definition of DSRAM
- 119-38297 - Derivative XC2297H-104F has incorrect flash XC2297H-200F
- 119-38300 - Flash memory for XE164FN-16F not correct
- 119-38301 - DPRAM in LSL file incorrectly set to 0x00F600 instead of 0x00FA00
- 119-38302 - The XRAM area for C164CL is not correct at address 0xC000 and it should be at address 0xE000
- 119-38324 - Manual correction: the default for Control Program option --core should be c16x instead of xc16x.
- 119-38325 - Undeserved MISRA-C rule 17.4 violation when using an array as struct member or a 2-dimensional array
- 119-38329 - Project <project name> does not seem to be a C166 project
- 119-38331 - Memory mappings cannot be added at dialog C/C++ Build->Memory->Memory
- 119-38332 - Cannot switch processor for a library project
- 119-38337 - Halted at wrong address after a breakpoint using code compaction
- 119-38338 - Unexpected ".alignment_protection" sections in map file
- 119-38343 - The user guide does not explain how to enable wide character support
- 119-38347 - Specify in the user guide how to include a MIL library
- 119-38354 - Function "wstrftime" listed in chapter 13.1.27. "time.h and wchar.h" should be changed into "wcsftime"
- 119-38360 - Switch statement with local struct member initializations erroneously optimized away by the compiler
- 119-38362 - keil.h missing in toolset installation
- 119-38363 - c166 S903: internal consistency check failed - please report
- 119-38367 - Memory and stack/Heap dialogs cannot be opened by Eclipse when a symbol is defined inside a section_layout
- 119-38370 - printf zero padding before 0X
- 119-38375 - regxe167f.asfr inconsistencies
- 119-38386 - Linker message "lk166 E100: unexpected error: Fatal error occurred" when non-existing memory is referenced in LSL sizeof() or addressof()
- 119-38393 - section naming of C library unexpectedly applied to application code
- 119-38413 - DP7_4 to DP7_7 missing in ST10F273E sfr files
- 119-38424 - "C library support had to be shut down" when using FSS
- 119-38428 - No warning W591 for pragma label prefix
- 119-38443 - Wrong result in Variables window using bitfields
The list of open issues for v3.1r1 can be found on the internet.
Fixed Problems
- 119-38239 - Missing MEM_KSCCFG and FL_KSCCFG definitions for several register files
- 119-38240 - Register files are not totally MISRA-C 2004 compliant: MISRA-C rule 10.6 violation
- 119-38245 - assembler does not accept 'U' suffix in SFR file constants
The list of open issues for v3.0r3 can be found on the internet.
New Features
- 119-38092 - Label pragmas
- 119-38106 - Make active project selection available from the Project menu
Improvements
- 119-38032 - re-add Restart button to Debug view toolbar
- 119-38111 - Change #include __CPU__ in de template lsl file in the actual cpu
- 119-38118 - Only show debug configurations of active project
- 119-38166 - Validate the value field in the Startup Registers Property page
- 119-38167 - Show an error if the processor and the target do not match in a debug configuration
- 119-38198 - Pass -D__CPU_<CPU>__ option to linker
Fixed Problems
- 119-37471 - View Memory does not work properly for __bit variables
- 119-37517 - fpbits.h not an official header file anymore
- 119-37538 - Add __malloc__ attribute
- 119-37640 - Double quotes backslashed by amk.exe when executing cmd.exe
- 119-37681 - Bitfields of port registers for all xc16x derivatives are incorrect
- 119-37691 - Assembly HLL Debug Information missing
- 119-37754 - Wrong memory location opened when "View Memory" is used on a variable
- 119-37761 - Problems after importing TASKING C166 C/C++ ELF file for debugging
- 119-37776 - C++ compiler issues error : Segmentation fault
- 119-37793 - Eclipse update may cause error on subsequent update
- 119-37925 - Map file viewer always sets focus on "Select table"
- 119-37928 - Flash properties page table not sorted
- 119-37930 - NPE on flash properties page table double click
- 119-37934 - debugger may not recognize type __bit
- 119-37935 - incorrect handling of type __bit
- 119-38029 - Undeserved Eclipse syntax error for qualifier __packed__
- 119-38035 - Assembler list file option -wrap-lines does not list commented C source lines at all
- 119-38036 - Assembler control lines ignored in list-file
- 119-38071 - debugger may treat data qualified __bita incorrectly
- 119-38075 - very slow execution of single step with register window open
- 119-38077 - addresses of __near and __far variables incorrectly displayed
- 119-38081 - Wrong LSL file and/or cstart.c/cstart.h contents when recreating project
- 119-38082 - Set active project does not work anymore when a new window has been created
- 119-38097 - Switching processor may lead to loss of on-chip memory settings
- 119-38103 - Handle 'all configurations' properly on Memory, Stack/Heap and Vector table property pages
- 119-38137 - Add cached/not cached buttons also on memory table
- 119-38159 - Missing __PAGE_081_MEM_TYPE definition in SFR files
- 119-38160 - Previous settings in on chip items are overwritten after processor is changed and cancel button is pressed
- 119-38161 - Label job error occurs when scrolling in Registers view
- 119-38162 - Error notifying a preference change listener in profiling
- 119-38163 - DPRAM in LSL file c161pi.lsl incorrectly set to 0x00F600 instead of 0x00FA00
- 119-38164 - Error in debug configuration for imported elf file
- 119-38165 - Loop iterator register overwritten
- 119-38169 - Default include directory still being showed in the Project view when using compiler option --no-stdinc
- 119-38172 - Creating a new debug configuration for a C167CR project fails
- 119-38177 - GPT12E_KSCCFG not present in Econo Line SFR files.
- 119-38179 - Focus moved away after using "Build Selected File(s)" or "Clean Selected File(s)"
- 119-38185 - LSL file may become corrupt after changing the processor of a project
- 119-38187 - Additional keywords not recognized anymore when trial period expires
- 119-38195 - Debugger hot keys f5 (step into), f6 (step over) and f8(run) not functional
- 119-38202 - Erroneous Warning W549: condition is always true with default optimization
- 119-38209 - false MISRA W572 7.1 "octal constants (other than zero) shall not be used" for constant 0U
- 119-38210 - Constant propagation causes missing read operation
- 119-38212 - Variables and Register view problems in Lite edition for older devices
- 119-38216 - Static variable incorrectly optimized by the compiler
- 119-38234 - Cannot change name of memory map
The list of open issues for v3.0r2 can be found on the internet.
When using the product without a valid license, the tools will run in trial mode.
This means you can use the toolset 15 days with full functionality. When running in trial mode, each tool
will report the number of days left. When using a license that does not cover the full toolset, the tools
that are not covered by the license will run in trial mode.
When after installing the license file the tools that are covered by the license still report that they
are running in trial mode, this means that there is a license error. If you want to force the termination
of the trial mode to get the FLEXlm error message you can set the environment variable FORCE_NO_TRIAL
to "yes".
All TASKING products include the industry standard FLEXlm license management software. In order to be able
to run this toolset, you will need a license key, although you can use the full functionality during the 15
day trial period as described above. You can only obtain a license key if you have purchased this product.
To obtain a license key, you can start the License Administrator from the program group of your installed
TASKING toolset. In case you still need to install the toolset, you can start the License Administrator by
setting a check mark at the end of the setup/installation process. The wizard of the License Administrator
will guide you through the steps to obtain your license key.
Once you have received your license key from Altium, you can install it on your system by running the License
Administrator again. Alternatively you can simply save the license key as the file 'license.dat' in the
C:\FLEXLM folder on your PCs hard disk.
More information is available on http://www.tasking.com/support/flexlm. On this page you also
find assistance to setup a floating network license, or for installation on Linux or Sun systems.