module ti.sysbios.family.arm.ducati.CTM

Counter Timer Module Device Definitions

For Ducati SYS/BIOS applications, Counter/timer 0 is assigned to core 0's Timer 0 interrupt 18 Counter/timer 1 is assigned to core 1's Timer 0 interrupt 22 Counters 2/3 are assigned to core 0's TimestampProvider Counters 4/5 are assigned to core 1's TimestampProvider Counters 6,7 are for application use. [ more ... ]
C synopsis target-domain sourced in ti/sysbios/family/arm/ducati/CTM.xdc
DETAILS
For Ducati SYS/BIOS applications, Counter/timer 0 is assigned to core 0's Timer 0 interrupt 18 Counter/timer 1 is assigned to core 1's Timer 0 interrupt 22 Counters 2/3 are assigned to core 0's TimestampProvider Counters 4/5 are assigned to core 1's TimestampProvider Counters 6,7 are for application use.
Counters 2/3 and 4/5 are in chained mode and started simultaneously by core 0 so that both cores timestamps are in sync with each other AND both chained timers have independent SHADOW registers to guarantee 64bit counter reading coherency.
 
struct CTM_CTM

Counter Timer Module Physical Base address is 0x55080400 Auto-configured virtual Base address is 0x40000400

C synopsis target-domain
typedef struct CTM_CTM {
    UInt32 CTCNTL;
    // 0x0000
    UInt32 RES_04[7];
    // 0x0004 - 0x0020
    UInt32 CTSTMCNTL;
    // 0x0020
    UInt32 CTSTMMSTID;
    // 0x0024
    UInt32 CTSTMINTVL;
    // 0x0028
    UInt32 CTSTMSEL0;
    // 0x002C
    UInt32 CTSTMSEL1;
    // 0x0030
    UInt32 RES_34[3];
    // 0x0034 - 0x0040
    UInt32 TINTVLR[8];
    // 0x0040 - 0x0060
    UInt32 RES_60[7];
    // 0x0060 - 0x007C
    UInt32 CTNUMDBG;
    // 0x007C
    UInt32 CTDBGSGL[8];
    // 0x0080 - 0x00A0
    UInt32 RES_A0[20];
    // 0x00A0 - 0x00F0
    UInt32 CTGNBL[2];
    // 0x00F0 - 0x00F8
    UInt32 CTGRST[2];
    // 0x00F8 - 0x0100
    UInt32 CTCR[32];
    // 0x0100 - 0x0180
    UInt32 CTCNTR[32];
    // 0x0180 - 0x0200
} CTM_CTM;
 
 
extern CTM_ctm

Physical CTM Device. Short name is "CTM_ctm" Long name is "ti_sysbios_family_arm.ducati_CTM_ctm"

C synopsis target-domain
CTM_CTM CTM_ctm; // linked as extern ti_sysbios_family_arm_ducati_CTM_ctm
 
Module-Wide Built-Ins

C synopsis target-domain
Types_ModuleId CTM_Module_id();
// Get this module's unique id
 
Bool CTM_Module_startupDone();
// Test if this module has completed startup
 
IHeap_Handle CTM_Module_heap();
// The heap from which this module allocates memory
 
Bool CTM_Module_hasMask();
// Test whether this module has a diagnostics mask
 
Bits16 CTM_Module_getMask();
// Returns the diagnostics mask for this module
 
Void CTM_Module_setMask(Bits16 mask);
// Set the diagnostics mask for this module
 
Configuration settings sourced in ti/sysbios/family/arm/ducati/CTM.xdc
var CTM = xdc.useModule('ti.sysbios.family.arm.ducati.CTM');
module-wide constants & types
        obj.CTCNTL// 0x0000 = UInt32  ...
        obj.RES_04// 0x0004 - 0x0020 = UInt32[7]  ...
        obj.CTSTMCNTL// 0x0020 = UInt32  ...
        obj.CTSTMMSTID// 0x0024 = UInt32  ...
        obj.CTSTMINTVL// 0x0028 = UInt32  ...
        obj.CTSTMSEL0// 0x002C = UInt32  ...
        obj.CTSTMSEL1// 0x0030 = UInt32  ...
        obj.RES_34// 0x0034 - 0x0040 = UInt32[3]  ...
        obj.TINTVLR// 0x0040 - 0x0060 = UInt32[8]  ...
        obj.RES_60// 0x0060 - 0x007C = UInt32[7]  ...
        obj.CTNUMDBG// 0x007C = UInt32  ...
        obj.CTDBGSGL// 0x0080 - 0x00A0 = UInt32[8]  ...
        obj.RES_A0// 0x00A0 - 0x00F0 = UInt32[20]  ...
        obj.CTGNBL// 0x00F0 - 0x00F8 = UInt32[2]  ...
        obj.CTGRST// 0x00F8 - 0x0100 = UInt32[2]  ...
        obj.CTCR// 0x0100 - 0x0180 = UInt32[32]  ...
        obj.CTCNTR// 0x0180 - 0x0200 = UInt32[32]  ...
module-wide config parameters
 
 
struct CTM.CTM

Counter Timer Module Physical Base address is 0x55080400 Auto-configured virtual Base address is 0x40000400

Configuration settings
var obj = new CTM.CTM;
 
    obj.CTCNTL = UInt32  ...
    // 0x0000
    obj.RES_04 = UInt32[7]  ...
    // 0x0004 - 0x0020
    obj.CTSTMCNTL = UInt32  ...
    // 0x0020
    obj.CTSTMMSTID = UInt32  ...
    // 0x0024
    obj.CTSTMINTVL = UInt32  ...
    // 0x0028
    obj.CTSTMSEL0 = UInt32  ...
    // 0x002C
    obj.CTSTMSEL1 = UInt32  ...
    // 0x0030
    obj.RES_34 = UInt32[3]  ...
    // 0x0034 - 0x0040
    obj.TINTVLR = UInt32[8]  ...
    // 0x0040 - 0x0060
    obj.RES_60 = UInt32[7]  ...
    // 0x0060 - 0x007C
    obj.CTNUMDBG = UInt32  ...
    // 0x007C
    obj.CTDBGSGL = UInt32[8]  ...
    // 0x0080 - 0x00A0
    obj.RES_A0 = UInt32[20]  ...
    // 0x00A0 - 0x00F0
    obj.CTGNBL = UInt32[2]  ...
    // 0x00F0 - 0x00F8
    obj.CTGRST = UInt32[2]  ...
    // 0x00F8 - 0x0100
    obj.CTCR = UInt32[32]  ...
    // 0x0100 - 0x0180
    obj.CTCNTR = UInt32[32]  ...
    // 0x0180 - 0x0200
 
C SYNOPSIS
 
metaonly config CTM.common$  // module-wide

Common module configuration parameters

Configuration settings
CTM.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.
generated on Tue, 14 Feb 2017 19:59:27 GMT