module ti.uia.family.c64p.TimestampC6472Timer

Implementation of ITimestampProvider using C6472 General purpose 64b timer

C synopsis target-domain sourced in ti/uia/family/c64p/TimestampC6472Timer.xdc
#include <ti/uia/family/c64p/TimestampC6472Timer.h>
Functions
Void
Functions common to all ITimestampClient modules
Bits32 
Void 
Void 
Functions common to all target instances
Functions common to all target modules
Typedefs
typedef struct
typedef struct
typedef struct
typedef enum
Constants
extern const Types_FreqHz 
extern const Types_FreqHz 
 
 
enum TimestampC6472Timer_TimerInstance

Enumeration that defines the base addresses for each timer instance of the TMS6472 device

C synopsis target-domain
typedef enum TimestampC6472Timer_TimerInstance {
    TimestampC6472Timer_TimerInstance_Timer0,
    TimestampC6472Timer_TimerInstance_Timer1,
    TimestampC6472Timer_TimerInstance_Timer2,
    TimestampC6472Timer_TimerInstance_Timer3,
    TimestampC6472Timer_TimerInstance_Timer4,
    TimestampC6472Timer_TimerInstance_Timer5,
    TimestampC6472Timer_TimerInstance_Timer6,
    TimestampC6472Timer_TimerInstance_Timer7,
    TimestampC6472Timer_TimerInstance_Timer8,
    TimestampC6472Timer_TimerInstance_Timer9,
    TimestampC6472Timer_TimerInstance_Timer10,
    TimestampC6472Timer_TimerInstance_Timer11
} TimestampC6472Timer_TimerInstance;
 
 
config TimestampC6472Timer_maxBusClockFreq  // module-wide

The highest bus clock frequency used to drive the timer

C synopsis target-domain
extern const Types_FreqHz TimestampC6472Timer_maxBusClockFreq;
 
DETAILS
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
RETURNS
the 32 MSBs of the highest bus clock frequency used to drive the timer.
 
config TimestampC6472Timer_maxTimerClockFreq  // module-wide

The highest timer clock frequency

C synopsis target-domain
extern const Types_FreqHz TimestampC6472Timer_maxTimerClockFreq;
 
DETAILS
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
RETURNS
the 32 LSBs of the highest timer clock frequency (i.e. ticksPerSecond).
 
config TimestampC6472Timer_timerBaseAdrs  // module-wide

Base address of the timer to be used as the global timer that provides a common time reference for all CPUs

C synopsis target-domain
extern const TimestampC6472Timer_TimerInstance TimestampC6472Timer_timerBaseAdrs;
 
DETAILS
This timer will be used to enable multicore event correlation.
 
TimestampC6472Timer_get32()  // module-wide

Return a 32-bit timestamp

C synopsis target-domain
Bits32 TimestampC6472Timer_get32();
 
RETURNS
Returns a 32-bit timestamp value. Use getFreq to convert this value into units of real time.
Returns a 32-bit timestamp value. Use getFreq to convert this value into units of real time.
SEE
 
TimestampC6472Timer_get64()  // module-wide

Return a 64-bit timestamp

C synopsis target-domain
Void TimestampC6472Timer_get64(Types_Timestamp64 *result);
 
ARGUMENTS
result — pointer to 64-bit result
This parameter is a pointer to a structure representing a 64-bit wide timestamp value where the current timestamp is written.
If the underlying hardware does not support 64-bit resolution, the hi field of result is always set to 0; see xdc.runtime.Types.Timestamp64. So, it is possible for the lo field to wrap around without any change to the hi field. Use getFreq to convert this value into units of real time.
pointer to 64-bit result
This parameter is a pointer to a structure representing a 64-bit wide timestamp value where the current timestamp is written.
If the underlying hardware does not support 64-bit resolution, the hi field of result is always set to 0; see xdc.runtime.Types.Timestamp64. So, it is possible for the lo field to wrap around without any change to the hi field. Use getFreq to convert this value into units of real time.
SEE
 
TimestampC6472Timer_getFreq()  // module-wide

Get the timestamp timer's frequency (in Hz)

C synopsis target-domain
Void TimestampC6472Timer_getFreq(Types_FreqHz *freq);
 
ARGUMENTS
freq — pointer to a 64-bit result
This parameter is a pointer to a structure representing a 64-bit wide frequency value where the timer's frequency (in Hz) is written; see xdc.runtime.Types.FreqHz. This function provides a way of converting timestamp values into units of real time.
pointer to a 64-bit result
This parameter is a pointer to a structure representing a 64-bit wide frequency value where the timer's frequency (in Hz) is written; see xdc.runtime.Types.FreqHz. This function provides a way of converting timestamp values into units of real time.
SEE
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId TimestampC6472Timer_Module_id();
// Get this module's unique id
 
Bool TimestampC6472Timer_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle TimestampC6472Timer_Module_heap();
// The heap from which this module allocates memory
 
Bool TimestampC6472Timer_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 TimestampC6472Timer_Module_getMask();
// Returns the diagnostics mask for this module
 
Void TimestampC6472Timer_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
Instance Object Types

C synopsis target-domain
typedef struct TimestampC6472Timer_Object TimestampC6472Timer_Object;
// Opaque internal representation of an instance object
 
typedef TimestampC6472Timer_Object *TimestampC6472Timer_Handle;
// Client reference to an instance object
 
typedef struct TimestampC6472Timer_Struct TimestampC6472Timer_Struct;
// Opaque client structure large enough to hold an instance object
 
TimestampC6472Timer_Handle TimestampC6472Timer_handle(TimestampC6472Timer_Struct *structP);
// Convert this instance structure pointer into an instance handle
 
TimestampC6472Timer_Struct *TimestampC6472Timer_struct(TimestampC6472Timer_Handle handle);
// Convert this instance handle into an instance structure pointer
Instance Config Parameters

C synopsis target-domain
typedef struct TimestampC6472Timer_Params {
// Instance config-params structure
    IInstance_Params *instance;
    // Common per-instance configs
} TimestampC6472Timer_Params;
 
Void TimestampC6472Timer_Params_init(TimestampC6472Timer_Params *params);
// Initialize this config-params structure with supplier-specified defaults before instance creation
Instance Built-Ins

C synopsis target-domain
Int TimestampC6472Timer_Object_count();
// The number of statically-created instance objects
 
TimestampC6472Timer_Handle TimestampC6472Timer_Object_get(TimestampC6472Timer_Object *array, Int i);
// The handle of the i-th statically-created instance object (array == NULL)
 
TimestampC6472Timer_Handle TimestampC6472Timer_Object_first();
// The handle of the first dynamically-created instance object, or NULL
 
TimestampC6472Timer_Handle TimestampC6472Timer_Object_next(TimestampC6472Timer_Handle handle);
// The handle of the next dynamically-created instance object, or NULL
 
IHeap_Handle TimestampC6472Timer_Object_heap();
// The heap used to allocate dynamically-created instance objects
 
Types_Label *TimestampC6472Timer_Handle_label(TimestampC6472Timer_Handle handle, Types_Label *buf);
// The label associated with this instance object
 
String TimestampC6472Timer_Handle_name(TimestampC6472Timer_Handle handle);
// The name of this instance object
 
XDCscript usage meta-domain sourced in ti/uia/family/c64p/TimestampC6472Timer.xdc
var TimestampC6472Timer = xdc.useModule('ti.uia.family.c64p.TimestampC6472Timer');
module-wide constants & types
module-wide config parameters
 
per-instance config parameters
    var params = new TimestampC6472Timer.Params// Instance config-params object;
 
 
enum TimestampC6472Timer.TimerInstance

Enumeration that defines the base addresses for each timer instance of the TMS6472 device

XDCscript usage meta-domain
values of type TimestampC6472Timer.TimerInstance
    const TimestampC6472Timer.TimerInstance_Timer0;
    const TimestampC6472Timer.TimerInstance_Timer1;
    const TimestampC6472Timer.TimerInstance_Timer2;
    const TimestampC6472Timer.TimerInstance_Timer3;
    const TimestampC6472Timer.TimerInstance_Timer4;
    const TimestampC6472Timer.TimerInstance_Timer5;
    const TimestampC6472Timer.TimerInstance_Timer6;
    const TimestampC6472Timer.TimerInstance_Timer7;
    const TimestampC6472Timer.TimerInstance_Timer8;
    const TimestampC6472Timer.TimerInstance_Timer9;
    const TimestampC6472Timer.TimerInstance_Timer10;
    const TimestampC6472Timer.TimerInstance_Timer11;
 
C SYNOPSIS
 
config TimestampC6472Timer.maxBusClockFreq  // module-wide

The highest bus clock frequency used to drive the timer

XDCscript usage meta-domain
TimestampC6472Timer.maxBusClockFreq = Types.FreqHz undefined;
 
DETAILS
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
RETURNS
the 32 MSBs of the highest bus clock frequency used to drive the timer.
C SYNOPSIS
 
config TimestampC6472Timer.maxTimerClockFreq  // module-wide

The highest timer clock frequency

XDCscript usage meta-domain
TimestampC6472Timer.maxTimerClockFreq = Types.FreqHz undefined;
 
DETAILS
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
The default ticks per second rate of the timer is calculated by dividing the timer's bus clock frequency by the cyclesPerTick config parameter.
RETURNS
the 32 LSBs of the highest timer clock frequency (i.e. ticksPerSecond).
C SYNOPSIS
 
config TimestampC6472Timer.timerBaseAdrs  // module-wide

Base address of the timer to be used as the global timer that provides a common time reference for all CPUs

XDCscript usage meta-domain
 
DETAILS
This timer will be used to enable multicore event correlation.
C SYNOPSIS
 
metaonly config TimestampC6472Timer.canCpuCyclesPerTickBeChanged  // module-wide

Indicates whether the timer's cycles per tick divide down ratio can be changed or not

XDCscript usage meta-domain
TimestampC6472Timer.canCpuCyclesPerTickBeChanged = Bool false;
 
RETURNS
true if the timer's CPU cycles per tick can be changed
true if the timer's CPU cycles per tick can be changed
 
metaonly config TimestampC6472Timer.canFrequencyBeChanged  // module-wide

Indicates whether the timer frequency can be changed or not

XDCscript usage meta-domain
TimestampC6472Timer.canFrequencyBeChanged = Bool false;
 
RETURNS
true if the timer's clock frequency can be changed
true if the timer's clock frequency can be changed
 
metaonly config TimestampC6472Timer.common$  // module-wide

Common module configuration parameters

XDCscript usage meta-domain
TimestampC6472Timer.common$ = Types.Common$ undefined;
 
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 config TimestampC6472Timer.cpuCyclesPerTick  // module-wide

The number of CPU cycles each tick of the timestamp corresponds to

XDCscript usage meta-domain
TimestampC6472Timer.cpuCyclesPerTick = UInt32 6;
 
DETAILS
A value of 0 indicates that no conversion between the timer's tick count and CPU cycles is possible.
A value of 0 indicates that no conversion between the timer's tick count and CPU cycles is possible.
Instance Config Parameters

XDCscript usage meta-domain
var params = new TimestampC6472Timer.Params;
// Instance config-params object
generated on Mon, 28 Jan 2013 17:45:35 GMT