This release note covers the changes between v3.0r1 and v3.1r1 of the TASKING VX-toolset for ARM.
Between v3.0r3 an v3.1r1 a major overhaul of the device support has been made. This will require attention to existing projects that were using the following product resources:
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.
In v3.1r1 board support has been added. The following boards are supported using the SEGGER J-Link ARM, J-Link ARM Pro and J-Trace ARM debug probes:
Before using the SEGGER debug probes it is required to install the drivers for these probes. These can be downloaded from http://www.segger.com/cms/jlink-software.html.
The debugger supports programming the on-chip flash when downloading the application. See the section "2.7. Configuring the Target" in the Getting Started with the TASKING VX-toolset for ARM guide for information on selecting the target board for your project.
With v3.1r1 a full range of Cortex-M0 and Cortex-M3 devices from NXP, STMicroelectronics and TI (Luminary Micro) have been added. These devices can now easily be selected from the processors properties page in Eclipse.
The SFR files are now CMSIS header files located in the cmsis directory in the product installation.
Standard linker script files (LSL files) are included for each device. When using the new template.lsl file Eclipse will control automatically the inclusion of the device specific LSL file. New projects will automatically get a copy of this template added to the project. For existing projects you may choose to update the project's LSL file with contents of the template.lsl file from the product's include.lsl directory.
Several improvements to the optimization have been made:
When the compiler has an overview of all modules in an application, more, global, optimizations can be performed. This is now supported by the TASKING compiler by linking the intermediate code (MIL) of all the modules in an application. The option to enable this can be found in Eclipse in the "C/C++ Build > Settings > C/C++ Compiler > Optimization" properties page. See for more information about MIL linking the User's Guide section "4.5.1. Generic Optimizations".
This optimization, often called reverse inlining, has been added to the compiler. With this optimization the compiler creates functions for code that multiply occurs, and replaces the original code with a call to the created function. This is a code size optimization and its effect depends on the trade-off between size and speed setting (--tradeoff). Code compaction is enabled by default.
When this option is enabled the compiler will cluster global data into a single section, allowing it to use a single base register for all data in the in that section. As a result the constant pool will be smaller and more registers become available to the compiler. The global data clustering can be enabled by switching to the highest optimization level (-O3)
The trade-off between size and speed has been changed from speed (--tradeoff=0) to size (--tradeoff=4).
The linker has been extended with global type checking. When enabled, the linker checks if the global C level definitions match with the external declarations. Only types can be checked for modules that are translated with a minimal set of symbolic debug information (-g1). The C libraries are built with this option.
The C compiler in the VX-toolset now has support for checking CERT C Secure Coding Standard rules and recommendations.
All level 1 checks that can be performed by a compiler without significantly impacting the compilation time are supported, as well as some checks
at other levels.
The compiler can check for the following rules and recommendations:
Category | Implemented Checks |
---|---|
01. Preprocessor | PRE01, PRE02, PRE10, PRE11 |
02. Declarations and Initialization | DCL30, DCL31, DCL32, DCL35 |
03. Expressions | EXP01, EXP12, EXP30, EXP32, EXP33, EXP34, EXP37, EXP38 |
04. Integers | INT30, INT34, INT35 |
05. Floating Point | FLP30, FLP35, FLP36 |
06. Arrays | ARR01, ARR34, ARR35 |
07. Characters and Strings | STR30, STR33, STR34, STR36 |
08. Memory Management | MEM00, MEM08, MEM30, MEM31, MEM32, MEM33, MEM34, MEM35 |
10. Environment | ENV32 |
11. Signals | SIG30, SIG32 |
49. Miscellaneous | MSC32 |
See the CERT site for more information: https://www.securecoding.cert.org/confluence/display/seccode/CERT+C+Secure+Coding+Standard
A new high level dump tool has been added, hldumparm. This tool can be used to dump the contents of an absolute file with high level symbolic information in an easy to read format. It's output includes:
The output can be generated in plain text format or as XML. See for details section "12.9. HLL Object Dumper Options" in the User's Guide.
The map file viewer in Eclipse has been improved to make it easier to analyze the results of your build. The following improvements have been made:
See the User Guide, section "14.2. Linker Map File Format" for a detailed description of the map file viewer
The list of open issues for v3.1r1 can be found on the internet.
The list of open issues for v3.0r3 can be found on the internet.
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.