TASKING VX-toolset for Arm v8.0r1
Release Note
Scope
This release note covers the changes between v7.1r1 and v8.0r1 of the TASKING VX-toolset for Arm.
For release notes prior to v8.0r1, please visit the TASKING
Arm support website.
Contents
This release of TASKING VX-toolset for Arm supports mainly newer devices.
The product includes the following features:
- Support for several new devices, see: New in v8.0r1
- Support for the winIDEA debugger. You can start the winIDEA debugger from the TASKING Eclipse environment.
Note 1: The winIDEA debugger included in the product will be installed the first time you create a new debug configuration.
You can also start the installation manually. From the Window->Preferences dialog, select TASKING winIDEA and click the
Install button. This Install button changes into an Update button after installation is done. The Update button is enabled
when a new version of the winIDEA debugger is available.
Note 2: The winIDEA debugger is not supported under Linux.
- The Safety & Cybersecurity Manual is included in the product.
- TASKING VX-toolset for Arm is a 64-bit product. Only Windows 64-bit and Linux 64-bit hosts are supported.
- The Eclipse/CDT distribution version 2025-03 is shipped with the product.
- The Eclipse/CDT distribution includes a plugin containing the JustJ Java Runtime Environment.
This JRE is used during the execution of the TASKING Eclipse environment.
The following devices are no longer supported:
- Atmel SAM devices.
- Freescale Kinetis devices.
- Infineon XMC devices.
- NXP LPC devices.
- Silicon Labs EFM and EZR devices.
- Spansion FM devices.
- STMicroelectronics STM devices.
- Texas Instruments Stellaris, MSP and TM4C devices.
All executable files in this release have the following build number: Build 25121674.
- Support for Armv8-M Baseline architecture.
- Support for Arm Cortex-M23 CPU.
- Support for Renesas device: U5L.
- Support for GigaDevice devices: GD32A71x, GD32A72x and GD32A74x.
- Support for TongXin devices: THA6104, THA6206 and THA6412.
- Support for Elmos devices: E53306A, E52362A and E52363A.
- Support for Infineon device: TLE9893.
- Support for ThinkTech devices: TTA8, TTA8Lite and TTA9.
- Support for NXP devices: S32M27x and S32K566. Note that support for S32K566 could not be tested on hardware!
- The Arm C++ compiler supports the ISO C++17 standard.
- ELF patch utility: elfpatch.
- New assembler command line (sub-)options:
--cpu=ARMv8M-Baseline Assemble for Armv8-M Baseline architecture.
--allow-deprecated Allow deprecated instructions of the selected Arm architecture.
--concatenate-sections Set section attribute concatenate (default=separate).
- New archiver command line option:
--zero-timestamp Set timestamps to zero.
- New C compiler command line (sub-)options:
--cpu=ARMv8M-Baseline Compile for Armv8-M Baseline architecture.
--optimize=+wrap Enable shrink wrapping.
--optimize=-wrap Disable shrink wrapping.
--optimize=+adv-jump-thread Enable advanced jump threading.
--optimize=-adv-jump-thread Disable advanced jump threading.
--optimze=+clone Enable function cloning.
--optimze=-clone Disable function cloning.
--optimize=+merge-funcs Enable merging identical functions.
--optimize=-merge-funcs Disable merging identical functions.
--optimize=+unswitch Enable simple loop unswitching.
--optimize=-unswitch Disable simple loop unswitching.
--clone-max-incr=value Maximum size increment cloning (in %).
--inline=all Inline all functions without the __noinline qualifier.
--inline=non-strict Keyword inline only increases the likeliness of inlining.
--inline=strict Keyword inline forces inlining. Default behavior.
--inline Alias for --inline=all.
--no-clear Do not clear uninitialized global/static variables.
- New C++ compiler command line sub-option:
--cpu=ARMv8M-Baseline Compile for Armv8-M Baseline architecture.
- New linker command line sub-option:
--cpu=ARMv8M-Baseline Link for Armv8-M Baseline architecture.
Fixed Problems
- ARMVX-39678
- Archiver option -w/--warning does nothing
- ARMVX-39712
- Linker error F006: read error: .\<library name> has no size
- ARMVX-39749
- C compiler: VLA: error S911: internal consistency check failed - please report
- ARMVX-39850
- Missing diagnostic for an empty include file name
- ARMVX-39853
- Constant expressions are more general than defined by the C standard
- ARMVX-39854
- Missing diagnostic for some cases with name redeclaration
- ARMVX-39855
- Missing diagnostic for some uses of the _Alignof operator
- ARMVX-39872
- Incorrect loop unrolling
- ARMVX-39876
- Packed structure is initialized with normal store instead of __unaligned store
- ARMVX-39878
- Enabling C compiler warning level 2 might provoke S900 internal error
- ARMVX-39884
- Compiler errors E276 and E333 using designated initializers with a non constant value
- ARMVX-39886
- Clustering optimization generates code with an incorrect relocation
- ARMVX-39889
- Aliasing not detected for static variables
- ARMVX-39890
- Incorrect forward store optimization
- ARMVX-39891
- Missing MISRA C:2012 rule 9.1 violation error for conditional initialized automatic with -OP
- ARMVX-39893
- Long symbol and section names are spread across multiple lines within a map file
- ARMVX-39898
- Zero size value for output section definitions in LSL file is not permitted
- ARMVX-39900
- Incorrect aliasing analysis of restrict pointer expression after PRE
- ARMVX-39599
- Arm libc floating-point exception access not working
- ARMVX-39839
- Different debug labels generated when the same file is compiled multiple times
- ARMVX-39851
- Missing diagnostic for *&non_lvalue
- ARMVX-39863
- Propagation error in some compile time constant computations involving loops with iterator wrap-around
- ARMVX-39892
- Linker may select a veneer template section in LSL
- ARMVX-39910
- Erroneous struct size using __packed__ attribute in a type definition which uses bitfields
- ARMVX-39921
- A 'tst' instruction after an 'and' instruction can be incorrectly optimized away
- ARMVX-39924
- Inline assembly constraint 'i' is not supported despite being described in the user guide
- ARMVX-39940
- Undetected aliases generated by function calls on local pointers
- ARMVX-39941
- Incorrect aliasing analysis of restrict pointer expression after PRE while strength reduction is disabled
- ARMVX-39943
- Assembler : asarma / asarm E101: unknown option: "--allow-deprecated"
- ARMVX-39949
- Constant pools are placed out of reach when large amount of inline assembly is used
- ARMVX-39953
- Pointsto analysis can get confused by aliases
- ARMVX-39957
- Run-time comparison to a floating-point NaN returns true in some cases
- ARMVX-39959
- Identical calls or other side effects can be dropped in a range test
- ARMVX-39975
- Erroneous data access when cluster global variables optimization is enabled
- ARMVX-39979
- Error E110 with Signed and Unsigned Extend instructions with 24-bit rotation
- ARMVX-39980
- USAT and USAT16 assembler instructions produce wrong opcode
- ARMVX-39986
- Alias analysis can fail when stores are merged and MIL linking is used
For a quick start, just start the IDE from the Start menu.
This will start the Eclipse based development environment. You will be asked to select a workspace. In
case you used Eclipse before it is recommended to select a new workspace. After clicking OK, you will see the 'Welcome' view.
On this view you will see icons that link to specific information.
TASKING products are protected with TASKING license management software.
License key
You need a license key when you install a TASKING product on a computer. When you order a TASKING
product from TASKING or one of its distributors, a license key will be sent to you by email or on paper.
See the TASKING License Management (TLM) Support page
for information on obtaining a license.
Verbose Logging
You can set the TSK_LOG_VERBOSE option in licopt.txt,
or as an environment variable, to different verbose levels.
With level 3 or higher, detailed license configuration information is shown, which
is useful for debugging licensing problems. For example, it shows the environment variables
or options used, the license key and the search path.
Support for wait for a free license
You can set the TSK_LICENSE_WAIT option in licopt.txt to a
configurable time period to wait for a free license seat to become available instead of directly
terminating when a license request is denied.
See section Wait for a Free License
in the TASKING License Management online documentation.
Wait for Available Process
If your license specifies a maximum number of processes you are allowed to use,
you can set the TSK_PROCESS_WAIT option in licopt.txt,
or as an environment variable, to the parallel process time-out (default: unlimited).
This specifies the number of seconds the system is allowed to wait for a process to
run if the maximum number of parallel processes permitted by the license is already
running.