PMI Instrumentation Library API Reference Guide
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator
PMI Instrumentation Library API Reference Guide Documentation

The PMI Library provides a PMI Module programming API. This library also provides PMI specific STM logging capabilities.

PMI Library Revision History
Revision Date Notes
0.1 2/7/2010 PMI Library Alpha Release - no support for PMI_Mark functions.
0.2 2/18/2010 PMI Library Beta Release - All functions work per this documentation.
0.3 5/21/2010 Combined PMI/CMI Library Release
0.4 6/07/2010 Fixed PCMI_ModuleClockEnable() to poll module status and added _STMLogging build option
1.0 8/10/2010 Modified:
  • PMI_OpenModule to use a config structure
  • Eliminated PMI_SetSampleWindow from API
  • PMI_GetSampleWindow modified to return both components of the sampel window

Note: The PMI and CMI Libraries share version numbers since there are shared elements between the libraries.

Conventions
The following public naming conventions are used by the API
  • PMI_ - Prefix for public PMI Library functions
  • ePMI - Prefix for public PMI enumerations
  • ePCMI - Prefix for public shared enumerations used by both PMI and CMI Libraries.
Build Notes
The PMI Library supports the following pre-defined symbols that if defined enable the functionality at compile time.
  • _OMAP4430 - Include device specific parameters.
  • _PMI - Compile for PMI specific instance of shared components (verses a CMI build).
  • _STMLogging - If defined the following APIs, that require the library be opened with a valid STM Library handle, are included in the build:
  • _NoMark - May be defined to exclude the mark functions. These functions require _STMLogging and _OMAP4430 to also be defined.
  • _UsingTITools - Includes TI specific pragmas that may not be compatible with other build tools such as gcc. Not defining this symbol will simply exclude the use of TI specific pragmas in the library. The following sections are created with pragmas:
    • Code => .text:PCMILibrary
    • Error strings => .dataImageErrStrings:PCMILib
    • Internal STM message strings => .dataImageMsgStrings:PCMILib
      Note: The Internal STM messages strings can be placed in non-existent memory. Only pointers to these strings are transferred over the STM.
PMI Export Notes
If you are using CCS to capture STM data (with either a trace enabled emulator or ETB) you should enable the PMI module's STM messages through the CSS 4.x Breakpoint view by creating a Trace job and settings the following Trace Properties:
  • Trace Type: System
  • STM Trace Type: Trace Export Configuration
  • Enable HW Message Sources:
  • PM Event Profiling: True Note that PMI Event Profiling by default is enabled. CMI Event profiling is not.
If you are working remotely from CCS and using the ETB to capture STM data then you must provide your own application code to enable the CMI module's STM messages.