Unified Arch. Hardware Interrupt Context Instrumentation
The UIAHWICtx module defines context change events
and methods that allow tooling to identify hardware interrutp context
switches and to enable HWI-aware filtering, trace and
analysis.
enum UIAMetaData_UploadMode |
 |
typedef enum UIAMetaData_UploadMode {
UIAMetaData_UploadMode_SIMULATOR,
UIAMetaData_UploadMode_PROBEPOINT,
UIAMetaData_UploadMode_JTAGSTOPMODE,
UIAMetaData_UploadMode_JTAGRUNMODE,
UIAMetaData_UploadMode_NONJTAGTRANSPORT,
UIAMetaData_UploadMode_CUSTOM
} UIAMetaData_UploadMode;
Module-Wide Built-Ins |
 |
// Get this module's unique id
Bool UIAMetaData_Module_startupDone();
// Test if this module has completed startup
// The heap from which this module allocates memory
Bool UIAMetaData_Module_hasMask();
// Test whether this module has a diagnostics mask
Bits16 UIAMetaData_Module_getMask();
// Returns the diagnostics mask for this module
Void UIAMetaData_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
enum UIAMetaData.UploadMode |
 |
XDCscript usage |
meta-domain |
values of type UIAMetaData.UploadMode
const UIAMetaData.UploadMode_SIMULATOR;
const UIAMetaData.UploadMode_PROBEPOINT;
const UIAMetaData.UploadMode_JTAGSTOPMODE;
const UIAMetaData.UploadMode_JTAGRUNMODE;
const UIAMetaData.UploadMode_NONJTAGTRANSPORT;
const UIAMetaData.UploadMode_CUSTOM;
C SYNOPSIS
metaonly config UIAMetaData.common$ // module-wide |
 |
Common module configuration parameters
XDCscript usage |
meta-domain |
DETAILS
All modules have this configuration parameter. Its name
contains the '$' character to ensure it does not conflict with
configuration parameters declared by the module. This allows
new configuration parameters to be added in the future without
any chance of breaking existing modules.
metaonly UIAMetaData.genXmlComment() // module-wide |
 |
add an XML style comment to the active xml file
XDCscript usage |
meta-domain |
UIAMetaData.genXmlComment(Any indent, Any comment) returns Any
metaonly UIAMetaData.genXmlEntry() // module-wide |
 |
write an entry into an xml file
XDCscript usage |
meta-domain |
UIAMetaData.genXmlEntry(Any indent, Any tag, Any value) returns Any
DETAILS
e.g. <myTag>myValue</myTag>\n
metaonly UIAMetaData.genXmlEntryClose() // module-wide |
 |
write an entry into an xml file with a key field
XDCscript usage |
meta-domain |
UIAMetaData.genXmlEntryClose(Any indent, Any tag) returns Any
DETAILS
e.g. </myTag>\n
metaonly UIAMetaData.genXmlEntryOpen() // module-wide |
 |
write an entry into an xml file with a key field
XDCscript usage |
meta-domain |
UIAMetaData.genXmlEntryOpen(Any indent, Any tag) returns Any
DETAILS
e.g. <myTag myKeyName=myKeyValue>
metaonly UIAMetaData.genXmlEntryOpenWithKey() // module-wide |
 |
write an entry into an xml file with a key field
XDCscript usage |
meta-domain |
UIAMetaData.genXmlEntryOpenWithKey(Any indent, Any tag, Any keyName, Any keyValue, Any value) returns Any
DETAILS
e.g. <myTag myKeyName=myKeyValue>
metaonly UIAMetaData.genXmlEntryWithKey() // module-wide |
 |
write an entry into an xml file with a key field
XDCscript usage |
meta-domain |
UIAMetaData.genXmlEntryWithKey(Any indent, Any tag, Any keyName, Any keyValue, Any value) returns Any
DETAILS
e.g. <myTag myKeyName=myKeyValue>myValue</myTag>\n
metaonly UIAMetaData.generateXML() // module-wide |
 |
XDCscript usage |
meta-domain |
UIAMetaData.generateXML() returns Any
metaonly UIAMetaData.setTransportFields() // module-wide |
 |
Function to populate the transport fields
XDCscript usage |
meta-domain |
UIAMetaData.setTransportFields(Any isMultiCoreTransport, Any uploadMode, Any transportType, Any format, Any supportControl, Any customFields) returns Any
ARGUMENTS
isMultiCoreTransport
Boolean whether it is a multicore
transport. If true, then multiple
cores route their events through
the transport on this core.
transportType
The type of transport (e.g. UART)
format
The format of the data (e.g. UIAPACKET)
supportControl
Boolean whether the transport can receive
control messages from the instrumentation
host.
customFields
Custom fields. Fields are comma separated.
Field name/values are separated by an
'='.
DETAILS
This function is used to populate the UIA XML file with
transport information. It writes <transport2> entries.
The <transport2> is supported by System Analyzer in 5.2
and later.
The parameters map directly to individual fields in the
<transport2> entries. For example
EXAMPLE
UIAMetaData.setTransportFields(false, "UART", "UIAPACKET",
true, "timestamps=32bits,sequence=disabled");
would yield
<transport2>
<isMultiCoreTransport>false</isMultiCoreTransport>
<supportControl>true</supportControl>
<format>UIAPacket</format>
<transportType>UART</transportType>
<customFields>
<timestamps>32bits</timestamps>
<sequence>disabled</sequence>
</customFields>
</transport2>
This function can be called multiple times.