Contents |
RTSC / XDC (eXpanDed C) is a standard for reusable software components, optimized for real-time embedded systems. RTSC components have hardware-neutral formal interfaces, are configurable offline to optimize memory and performance, and support custom automation in the development environment via a scripting language.
The XDCtools product includes the following components:
xdc.*
) -
the xdc
and xs
command line utilities for
building packages and executing scripts respectively; packages that implement
the RTSC standard;xdc.tools.*
)
- command-line and graphical utilities for working with packages and
repositories;eclipse
)
- A set of integration plugins for RTSC for the eclipse platform.
These plugins are leveraged by Code Composer Studio (CCS) to provide
support for RTSC content in an integrated development environment.XDCtools releases prior to release 3.30 also included the following components:
*.targets.*
)
- definitions for using various TI and third-party compiler tool chains;*.platforms.*
)
- definitions for linking and running code on various TI and third-party
board-level hardware and simulator products.Almost all of XDCtools is released under either EPL v1.0 or dual-licensed under EPL or EDL v1.0. However, there are also a number of third-party components included which are made available under a number of other open-source licenses. A complete manifest along with export control information is detailed here.
The product documentation for this release is available in two formats:
Both formats are delivered with the product in the docs subdirectory. The most up-to-date docs can also be viewed in the RTSC-pedia.
Release notes from previous product releases are available in the relnotes_archive directory.
Over 50 issues have been addressed in this release. The following notable defects and enhancements were resolved in this release:
ID | Severity | Headline |
---|---|---|
417736 | critical | ErrorParser fails to add errors/warnings from config to Problems View |
314748 | critical | xgconf: names of new instances don't always stick; sometimes rename required |
425836 | major | Place all Big.c constants and data in their own section for GNU targets |
280867 | major | xgconf: Add module instance while script is validating is ignored |
426201 | major | GCC rtsv7M/startup.c should copy initial .data values only if load and run addresses are different |
427431 | normal | "When loading jvm.dll, xs.exe can fail to find msvcr71.dll |
425917 | normal | require new #define to access deprecated std.h types |
425832 | normal | xdc.tools.configuro -D option does not work |
424486 | normal | Products that have their own XDC runtime support need a way to disable the standard implementation |
424399 | normal | Add support for new ROM build |
423117 | normal | Add DWARF parser for ROV Mod_Construct support |
413743 | normal | New RTSC Config wizard does not use selected project to create new cfg file. |
365673 | normal | remove references to atexit(), exit() and abort() from System module |
423119 | normal | iar.tools.configuro fails when multiple .cfg files are in a project. |
324022 | normal | Time optimization for RTSC configuration |
428926 | normal | cdoc meta-domain instance creation Params structure links to target-domain Params |
427404 | normal | MSP430 rts library needs auto_init_hold_wdt to work with new --cinit_hold_wdt link option |
428830 | normal | cdoc generates 'null' name for C SYNOPSIS links of instance config params |
428953 | normal | cdoc meta-domain metaonly per-instance config parameters have broken links |
324468 | enhancement | ROV top level views |
323548 | enhancement | Reduce module list clicks in ROV |
423076 | normal | Cntrl - C and Cntrl - V functionality within ROV cells does not work. |
423341 | normal | HeapMin needs an ROV view |
428051 | normal | LoggerBuf should set it's timestamp proxy in package close() |
320943 | normal | Can't use a Module API name as a project name if xdc/cfg/globals.h is included |
309891 | minor | Viewing ROV "UArg" fields in ROV should allow choosing radix |
To see a complete list of issues fixed in this release, click here.
Beginning with the 3.30 release, all embedded targets and platforms have been removed from the default release (a.k.a. the "Core" release) so they can be delivered with middleware products, such as TI-RTOS and Grace, that have dependencies only on specific targets and platforms. This has the advantage of greatly reducing the size of XDtools for users who are only interested in a relatively small number of embedded architectures. But, it also breaks compatibility for users who expect to always have their favorite architecture's support included in XDCtools releases.
To simplify the migration to this new distribution and to support size reduced installations, XDCtools 3.30 is available in several different release bundles:
The xdc.runtime package: As part of the effort to enable xdc.runtime to more easily fit into the ROM of most devices (Bug 424399), several significant optimizations had to be made made that break strict binary compatibility with target content libraries built with XDCtools 3.25.x (or earlier). In particular, target content built against XDCtools 3.25.x xdc.runtime can be
Deprecated types: To reduce conflicts with target content produced by other groups, the deprecated types Uns, Uint, Uint16, etc. are no longer defined by default. If you still need to use these types, you must now define the symbol xdc__deprecated_types when compiling sources that reference these types. See Bug 425917 for details.
Package internal files: All generated package internal files
are backwards compatible starting from XDCtools 3.20. So, packages
created using XDCtools 3.20 or later can be consumed using
this release. Because of the addition of the target
type CString
to XDCtools 3.25.x, packages created with this release that
contain non-metaonly modules cannot be used with XDCtools
releases earlier than XDCtools 3.25.x. This includes the xdc.runtime
package.
See XDCtools Internal Version Numbers for additional details.
Package-specific APIs: Each package
has a compatibility key defined in its package.xdc
specification file. No package compatibility keys were changed in this
release.
Please note that the package compatibility keys are independent of XDCtools product release numbers (described in Versioning below). Package compatibility keys:
Package compatibility keys are composed of 4 comma-delimited numbers - M, S, R, P - where:
This release supports the following hosts:
With the exception of a C compiler, XDCtools is a fully self-contained set of development tools to create, build, run, and monitor embedded target content. If you use any of the tool sets listed below, you should use the version named in order to successfully use this version of XDCtools:
Starting with release 3.30, each release of XDCtools is available in one of several distribution bundles each supporting a varying number of device families. This allows products (such as CCS) to selectively embed a distribution that is as small as possible.
The "Core" distribution (identified by the "_core" qualifier in installation directory name) has no embedded device support. As a result, "Core" users must either use another product (such as TI-RTOS 2.0) which includes any necessary device support or explicitly add a repository containing the desired device support to the package path of their projects.
The "full" distribution (identified by the lack of any qualifier in the installation directory name) supports the following device families:
The complete list of targets supported by this release can be found here.
This release was built and validated using Code Composer Studio version 6.0.
The targets supported by this release and the versions of the compilers used to validate them are listed here.
Go to the Known Issues section of these release notes to see any issues with the supported targets that were found during the validation of this release.
To see a complete list of open XDCtools issues, go to the Eclipse RTSC project's Bugzilla database.
The following table highlights known issues of particular importance.
ID | Headline |
---|---|
399012 | ti.targets.arm.ARP32_far link may fail |
To file a new bug in this database, click here.
All releases have 4 digits (M.mm.pp.bb). This includes GA and pre-releases (engineering, release candidates, etc.). Pre-releases are denoted with a suffix (e.g. 3.15.01.51-eng) and should not be used in a production environment.
This product's version follows a version format, M.mm.pp.bb, where M is a single digit Major number, mm is 2 digit minor number, pp is a 2 digit patch number, and b is an unrestricted set of digits used as an incrementing build counter.
To support multiple side-by-side installations of the product, the product version is encoded in the top level directory, ex. xdctools_3_15_00_50.
Subsequent releases of patch upgrades will be identified by the patch number, ex. XDCtools 3.15.01.67 with directory xdctools_3_15_01_67. Typically, these patches only include critical bug fixes.
Please note that version numbers and compatibility keys are NOT the same. For an explanation of compatibility keys, please refer to the 'Upgrade and Compatibility Information' section.
Support questions on the product should be posted to the Eclipse RTSC project's newsgroup. Check the XDCtools download site for the latest releases.
Last updated: March 23, 2014 Build Ver: 3.30.00.21 Rev: t21