This interface allows products to contribute examples to
development environments like IDE's. This is an experimental
interface and is subject to change.
struct IProductTemplate.FileDesc |
|
Structure defining properties of a file included in an example
metaonly struct FileDesc {
String path;
// Path to file
Bool excludeFromBuild;
// Indicates whether file should be
excluded from build
Bool openOnCreation;
// Indicates whether file should be
opened on project creation
Bool copyIntoConfiguration;
// Indicates whether file should be
copied into RTSC configuration
};
FIELDS
path
Path to file relative to the package
containing the implementation of
IProductTemplate
excludeFromBuild
Flag indicating whether file
should be excluded from build inside
an IDE project
openOnCreation
Flag indicating whether the file
should be opened when a project
containing the example file is created
by the IDE.
copyIntoConfiguration
Flag indicating whether the file
should be copied into RTSC
configuration. This flag
applies only when the isHybrid
flag of the template is set to
false.
struct IProductTemplate.Filter |
|
Structure defining filter properties for an example
metaonly struct Filter {
String deviceFamily;
String deviceVariant;
String deviceId;
String endianness;
String toolChain;
String outputFormat;
};
FIELDS
deviceFamily
String indicating the device family
eg. "MSP430","C6000"
deviceVariant
String indicating device variant
eg. "C674X", "CortexA8"
deviceId
String indicating the device part number
eg. "TMS320C6747"
endianness
String indicating the device endianness
eg. "little", "big"
toolChain
String indicating the tool chain
eg. "TI", "GNU"
outputFormat
String indicating the object file format
eg. "COFF", "ELF"
DETAILS
This structure allows example providers to define
constraints (like device family) for their
examples. IDEs may use the Filter properties of an example
to decide whether the example should be presented to the user.
The filter allows the user to define the NOT property by
inserting a "~" character at the start of the string. For
example if the deviceFamily field is set to "~MSP430" the example
will be displayed for all device families except MSP430.
struct IProductTemplate.TemplateGroup |
|
TemplateGroup structure
metaonly struct TemplateGroup {
String id;
String name;
String description;
String groups[];
};
FIELDS
id
Unique id for the template group
name
Name of the group
description
Description of the group
groups
Array of group ids used to specify
membership of other groups.
DETAILS
This structure maybe used to define a hierarchy of examples
for the product. Examples maybe logically organized into groups
with an unique
id and may specify membership of other groups
by referring to their ids in the
groups array. In this manner
the example producer can define a tree topology of examples for
their product. Once the template groups are defined the
individual examples may specify their membership of a template
group in the
groups array of
TemplateInfo. The example
provider may specify all the defined groups for their product in
templateGroupArr.
struct IProductTemplate.TemplateInfo |
|
TemplateInfo structure
metaonly struct TemplateInfo {
String title;
// Title of example
// List of files along with properties
for example
String description;
// Description of example
String target;
// RTSC target
String platform;
// RTSC platform
String buildProfile;
// RTSC build profile
String linkerCommandFile;
// Linker command file for the example
String requiredProducts[];
// List of products required to build
this example
String groups[];
// Array of group ids
Bool legacyTcf;
Bool configOnly;
// Indicates whether only a RTSC
configuration project should
be created for this example
Bool isHybrid;
// Indicates whether application and
configuration content exists in
one project
// Array of filters for example
};
FIELDS
title
String containing the title of the template
fileList
Array of FileDesc defining the
properties of the files contributed by this example.
description
String containing description of example
target
String containing RTSC target
platform
String containing RTSC platform
buildProfile
String containing RTSC build profile
linkerCommandFile
Linker command file for the example. If
this is set to the empty string then no
linker command file is added by the IDE
to the example. If this is not defined
then the wizard picks the default
linker command file for the selected device.
requiredProducts
Products required to build this
example. Products are identified by
their globally unique
xdc.tools.product.IProduct.id
eg. 'com.ti.bios'. Dependency on a
minimum version of a product maybe
defined in the following manner
: <product-id>:<min-version>
groups
Array of strings referring example groups
that a particular example may
belong. Example providers may want to
provide examples that are part of an
existing example group eg."Empty Projects"
that are defined elsewhere. The
groups are identified by an unique id.
configOnly
Flag indicating to the IDE
whether example contributes only
to a RTSC configuration project.
isHybrid
Flag indicating to the IDE
whether example contains RTSC
configuration and target
content files in one project.
If this field is set to true
then the IDE consuming this example will
create one project with all the
files. Otherwise multiple projects will
be created - one containing the
target content and the other containing
the RTSC configuration files. This flag
is applies only when configOnly
flag is set to false.
filterArr
Array of Filter. Used to specify
the constraints for a particular example.
config IProductTemplate.templateArr // module-wide |
|
Examples contained in the product
config IProductTemplate.templateGroupArr // module-wide |
|
Array fo template group ids
DETAILS
This maybe optionally specified by example providers who want to
organize their examples in groups.