eXpress DSP Components (XDC) is a standard for reusable
software
components, optimized for real-time embedded systems. XDC 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.
None.
3.00.03
Targets
- in microsoft.targets, fixed _utils.xs to work with any
target that inherits from microsoft.targets.ITarget
- fixed the incorrect 'name' parameter in arm/Arm9t target and a
bug in rtsarm9/boot.asm in thumb mode
- added Int64 support for gnu.targets and microsoft.targets
- built runtime for c28_float target using cg_tools 5.0.0B20
- runtime built for MVArm9 and UCArm9 targets. UCArm9 is
built using gcc version 4.2.1
Platforms
- added ti.platforms.app510 platform which use DM510
- fixed evmDM355 platform to allow use with non-TI targets
Catalogs
- added DM510 catalog device to ti.catalog.c470
Runtime
- fixed bug in System_atExit(): it did not leave the system gate
in the event that it failed to save an atexit handler.
- moved Text.put* functions from internal section to public
section so eliminate use of internal Text functions by modules
outside xdc.runtime
- fixed Error.getCode() bug; SDSCM00021675
Core
- Added debug trace support to tool
- const data are now a part of the initialized section, and
therefore are not initialized through cinit; this fix solves
the problem when the actual data is not in the image, but the
cinit section contains initializers (SDSCM00018922)
- fixed a bug in which the case-insensitivity of Windows file
names were spoofing the resolution of '.'-qualified names in
.xdc specs. this allows, for instance, a package named 'test'
to contain a module named 'TEST'; this fix solves the case
where packages in different repositories with the "same" name
(module case) can be confused (SDSCM00021126).
- fixed some bugs associated with spec-time initialization of
Instance/Handle configs using a "create" expression as an
initializer; one problem surfaced when the referenced module
itself inherited from an interface with a spec'd create();
another problem surfaced when the referenced module was named
via an import statement. note that there is still an
outstanding problem with {...} initializers used with
Instance/Handle configs; while it "may" appear to work, the
underlying Mod.create() method is *not* being called, which
can in general compromise the integrity of these objects.
- fixed config generation template to properly fail when
bogus platform name is provided
- updated docs/build.ppt to reflect new target requirements
- changed -g=i option to just -g in xdc/bld/xdc_rules.mak to
avoid current bug in xs (and tconf).
- fixed default IPlatform methods to give better error message
- added the special function ModName_Module_id() for all target
modules, which returns this module's unique id; the latter is
of type Types_ModuleId. note that if common$.namedModule is
true for this module (the default), the value will actually be
a (unique) RopeId -- even if the ropes aren't loaded;
otherwise, this value will be a small serial number.
- fixed in a bug in XDCscript support for 'instanceof' which
failed to handle struct types (or typedefs that resolve to
struct types). now, one can say: cfgValue instanceof Error.Id
to determine whether a given field is an Error.Id or not.
- fixed bug in makefile generation when the same package is added
to two different repositories in a bundle; warnings were coming
from make about "ignoring old rules".
- Reduced number of disk accesses while releasing packages.
In rel.tci, added an in-memory cache of directories already
known not to be in any package.
- added Log_raise() to allow ILogger implementations to "stack"
without a proxy
- fix bogus file handling in exec
- added xdc_iargToPtr() and xdc_uargToPtr() macros to allow one
to portably conver an IArg to a Ptr without any compiler
warnings.
- added System_a{printf, vprintf,sprintf,svprintf} - a variant
of the printf functions that assumes all arguments are of
type IArg. This allows us to avoid forcing users to add
non-standard format specifiers in format strings.
- fixed Log_print* to use more efficient write4 when possible
- fixed xdc.rta.Decoder to not force JVM exit on simple errors,
added ability to enumerate modules and events, fixed access
rights for xdc.rta.HostEvent constructor
Configuro
- Fixed operation with -Dconfig.importPath. Now
adds these onto the end of the package path, so
that .tci files are searched for in the same places as
everything else. Added --bios5 flag that includes
ti.bios/include directory in generated compiler.opt
Configuro CCS 3.3 Integration
- always put selected BIOS packages/ dir on XDCPATH. Previously,
BIOS was only put on the package path if the --tcf flag was used.
This change supports DSP/BIOS 6
- renamed Tconf tab to BIOS5 tab, and added --bios5 option that
includes ti.bios/include directory in generated compiler.opt
Enhancements
The following minor enhancements were resolved:
Defects
The following defects were resolved:
SDSCM00007080 |
XDC command help message is hard to find |
SDSCM00015332 |
XDC Verbose option should print the full path to each package
it loads |
SDSCM00018922 |
xdc.runtime.Text.isLoaded = false does not work |
SDSCM00019111 |
Diags: Config Parameter "setMaskEnabled" has issues |
SDSCM00019208 |
Both HeapMin and HeapStd do not allow 0 for the size (both
static and dynamic creates). |
SDSCM00019240 |
HeapStd now keeps track of how much RTS memory it has used and
errors if too much is requested. |
SDSCM00019775 |
Configuro Fails in CreateProcess() call in WindowsXP if XDCPATH
too long |
SDSCM00019874 |
Added cdoc info for isBlocking. |
SDSCM00019875 |
Added Memory_query function. |
SDSCM00020681 |
Added assert in HeapStd_free if remainSize is greater than
startSize |
SDSCM00021010 |
'Ptr' type for ti.targets.C28_float should be 2 words (not 1) |
SDSCM00021126 |
name resolution fails on Windows |
SDSCM00021632 |
System_atexit() always returns FALSE |
SDSCM00021675 |
xdc.runtime.Error.getCode() always returns 0 |
SDSCM00021676 |
instanceof fails on structs |
SDSCM00021972 |
Bad interaction with Linux automount directory during
package release |
back to top
Warning: Beginning with XDC 2.95, XDC
modules with target content (i.e. non-meta-only) are incompatible with
non-metaonly modules from XDC 2.94 and earlier. Metaonly modules are
not affected. Non-metaonly modules require at least a recompile.
Warning: Beginning with xdc-o02, internal C
files generated when building package schemas are named
package_<package name>.c instead of
<package_name>.c. This may introduce incompatibilities
with older xdc-n and xdc-o trees (XDC 2.X products). The compatibility
with metaonly xdc-m packages (XDC 1.X products) is still maintained.
Compatibility Key Definitions
Compatibility keys are intentionally independent of Marketing
product
numbers and are intended to:
- Enable tooling to identify incompatibilities between
components, and
- Convey a level of compatibility between different releases
to set end user expectations.
Compatibility keys are composed of 3 comma-delimited numbers -
M,S,R - where:
- M = Major. A difference in M indicates a
break in compatibility.
- S = Source. A difference in S indicates
source compatibility. That is, the user's source doesn't require change,
but does require rebuilding.
- R = Radix. A difference in R indicates
an introduction of new features, but compatibility with previous
interfaces has not broken. If libraries are provided by the package, an
application must re-link with the new libraries, but not rebuild from
source.
back to top
This release supports the following hosts:
- Windows XP
- RedHat Enterprise Linux 3
back to top
This release requires the following other software components
and tools versions to successfully function:
- C6x Code Generation Tools version 5.3.0 or later. Version
6.0.13 or later is required in order to use whole_program build profile.
- C55 Code Generation Tools version 3.2.0. or later
- TMS470 (Arm) Code Generation Tools version 4.5
- GCC for x86 version 3.2.3 or later
- GCC for ARM version 3.2.3 or later
back to top
This release supports the following device families:
- C67P, C67, C64P, C64, C62
- C55P, C55, C54
- C28
- TMS470
- Native development host (Windows, Linux)
back to top
This release was built and validated against using the
following components:
- Code Composer Studio version 3.3
- C6x Code Generation Tools version 6.0.7 and 6.0.13
- C55 Code Generation Tools version 3.2.2
- GCC for x86 version 3.2.3
- GCC for ARM version 3.2.3
back to top
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, e.g. xdc_3_00.
Subsequent releases of patch upgrades will be identified by
the patch number, ex. XDC 3.00.03 with directory xdc_3_00_03.
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.
back to top
For technical support, contact rtsc_champs@list.ti.com
back to top
Last updated: Dec 21, 2007 Rev: h13