147 #define AET_MAJOR_VERSION (0x4)
149 #define AET_MINOR_VERSION (0x11)
164 #ifndef _AET_DISABLE_TI_STD_TYPES
165 #ifndef _TI_STD_TYPES
167 typedef uint8_t Uint8;
168 typedef int16_t Int16;
169 typedef uint16_t Uint16;
170 typedef int32_t Int32;
171 typedef uint32_t Uint32;
172 typedef int40_t Int40;
173 typedef uint40_t Uint40;
174 typedef int64_t Int64;
175 typedef uint64_t Uint64;
178 typedef char *String;
180 typedef unsigned short Bool;
192 #if defined(_TMS320C6400_PLUS) || defined(_TMS320C6600)
193 #define ECU_CNTL TCU_CNTL
195 #define ECU_CNTL (*(int32_t*)0x1bc0134)
216 #define AET_ENABLE_RTOS_INT() \
218 if ( (ECU_CNTL & 3) == 0 ) ECU_CNTL = 0x1; \
219 if ( (ECU_CNTL & 3) == 1 ) ECU_CNTL = 0x2; \
220 ECU_CNTL = 0x000A0000; \
224 #define AET_DISABLE_RTOS_INT() \
226 ECU_CNTL = ((ECU_CNTL & ~0x00020000) | (0x00080000)); \
229 #define AET_CLEAR_RTOS_INT() \
231 ECU_CNTL = 0x00A00000; \
232 *(int32_t*)0x1bc0020 = 0x00200000; \
289 #define AET_TRACE_NONE (0x0u)
290 #define AET_TRACE_TIMING (0x1u)
291 #define AET_TRACE_PA (0x2u)
292 #define AET_TRACE_RA (0x4u)
293 #define AET_TRACE_WA (0x8u)
294 #define AET_TRACE_RD (0x10u)
295 #define AET_TRACE_WD (0x20u)
296 #define AET_TRACE_PCTAG (0x40u)
315 #define AET_TRACE_STOP_PC (0x1u)
316 #define AET_TRACE_STOP_TIMING (0x2u)
317 #define AET_TRACE_STOP_DATA (0x4u)
349 #define AET_TRACE_STRM_ENBL_NONE (0x0u)
350 #define AET_TRACE_STRM_ENBL_TIMING (0x1u)
351 #define AET_TRACE_STRM_ENBL_PC (0x2u)
352 #define AET_TRACE_STRM_ENBL_MEM_RD (0x4u)
353 #define AET_TRACE_STRM_ENBL_MEM_WT (0x8u)
391 #define AET_TRACE_STRM_PRES_NONE (0x00u)
392 #define AET_TRACE_STRM_PRES_RD_DAT (0x01u)
393 #define AET_TRACE_STRM_PRES_RD_ADDR (0x02u)
394 #define AET_TRACE_STRM_PRES_RD_PC (0x0Cu)
395 #define AET_TRACE_STRM_PRES_WT_DAT (0x10u)
396 #define AET_TRACE_STRM_PRES_WT_ADDR (0x20u)
397 #define AET_TRACE_STRM_PRES_WT_PC (0x40u)
462 AET_JOB_START_TRACE_NO_TRIGGER = 0,
463 AET_JOB_STOP_TRACE_NO_TRIGGER,
500 #ifdef _TMS320C6400_PLUS
549 AET_TRIG_TRACE_STORE_TIMING,
550 AET_TRIG_TRACE_STORE_PC,
551 AET_TRIG_TRACE_STORE_RA,
552 AET_TRIG_TRACE_STORE_WA,
553 AET_TRIG_TRACE_STORE_RD,
554 AET_TRIG_TRACE_STORE_WD,
555 AET_TRIG_TRACE_STORE_PCTAG,
556 AET_TRIG_TRACE_START_TIMING,
557 AET_TRIG_TRACE_START_PC,
558 AET_TRIG_TRACE_START_RA,
559 AET_TRIG_TRACE_START_WA,
560 AET_TRIG_TRACE_START_RD,
561 AET_TRIG_TRACE_START_WD,
562 AET_TRIG_TRACE_START_PCTAG,
563 AET_TRIG_TRACE_PCSUSPEND,
564 AET_TRIG_TRACE_TIMINGSUSPEND,
565 AET_TRIG_TRACE_DATASUSPEND
686 AET_TRACE_INACTIVE = 0,
698 AET_TRIG_LOGIC_STRAIGHTFORWARD,
699 AET_TRIG_LOGIC_INVERTED
703 AET_EVT_TRIG_EDGE_TO_HI = 0x2cc,
704 AET_EVT_TRIG_EDGE_TO_LO = 0x2aa,
705 AET_EVT_TRIG_BOTH_EDGES = 0x2ee,
706 AET_EVT_TRIG_LEVEL_HI = 0x0cc,
707 AET_EVT_TRIG_LEVEL_LO = 0x0aa,
708 AET_EVT_TRIG_LEVEL_DEFAULT = 0x244
715 AET_STATEQUAL_STATE0 = 0x0,
716 AET_STATEQUAL_STATE1,
717 AET_STATEQUAL_STATE2,
718 AET_STATEQUAL_STATE3,
722 #ifdef _TMS320C6400_PLUS
724 AET_TB_ESAC_CNT0 = 0,
727 }_AET_trigBldrEventCSelect;
732 AET_TB_ESAC_NONE = 0,
733 AET_TB_ESAC_CNT0 = 4,
737 }_AET_trigBldrEventCSelect;
818 #define AET_NUMSYSEVTS 128
819 #define AET_NUMGEMEVTS 128
820 #define AET_NUMGEMMEMEVTS 32
821 #define AET_NUMGEMSTALLEVTS 32
822 #define AET_NUMGEMMISCEVTS 32
823 #define AET_NUM_EXT_EVTS AET_NUMSYSEVTS + AET_NUMGEMEVTS
825 #define AET_GEM_EVT_START AET_NUMSYSEVTS
826 #define AET_GEM_EVT_END AET_GEM_EVT_START + AET_NUMGEMEVTS-1
828 #define AET_GEM_MEM_EVT_START AET_GEM_EVT_START+AET_NUMGEMEVTS
829 #define AET_GEM_MEM_EVT_END AET_GEM_MEM_EVT_START+AET_NUMGEMMEMEVTS-1
831 #define AET_GEM_STALL_EVT_START AET_GEM_MEM_EVT_START+AET_NUMGEMMEMEVTS
832 #define AET_GEM_STALL_EVT_END AET_GEM_STALL_EVT_START+AET_NUMGEMSTALLEVTS-1
834 #define AET_GEM_MISC_EVT_START AET_GEM_STALL_EVT_START+AET_NUMGEMSTALLEVTS
835 #define AET_GEM_MISC_EVT_END AET_GEM_MISC_EVT_START+AET_NUMGEMMISCEVTS-1
836 #define AET_EVT_NONE 0xFFFF
841 #define AET_GEM_EVT_EXCEP (AET_GEM_EVT_START + 64)
846 #define AET_GEM_EVT_NMI (AET_GEM_EVT_START + 65)
851 #define AET_GEM_CPUINT_4 (AET_GEM_EVT_START + 68)
856 #define AET_GEM_CPUINT_5 (AET_GEM_EVT_START + 69)
861 #define AET_GEM_CPUINT_6 (AET_GEM_EVT_START + 70)
866 #define AET_GEM_CPUINT_7 (AET_GEM_EVT_START + 71)
871 #define AET_GEM_CPUINT_8 (AET_GEM_EVT_START + 72)
876 #define AET_GEM_CPUINT_9 (AET_GEM_EVT_START + 73)
881 #define AET_GEM_CPUINT_10 (AET_GEM_EVT_START + 74)
886 #define AET_GEM_CPUINT_11 (AET_GEM_EVT_START + 75)
891 #define AET_GEM_CPUINT_12 (AET_GEM_EVT_START + 76)
896 #define AET_GEM_CPUINT_13 (AET_GEM_EVT_START + 77)
901 #define AET_GEM_CPUINT_14 (AET_GEM_EVT_START + 78)
906 #define AET_GEM_CPUINT_15 (AET_GEM_EVT_START + 79)
911 #define AET_GEM_IACK (AET_GEM_EVT_START + 96)
916 #define AET_GEM_EACK (AET_GEM_EVT_START + 97)
921 #define AET_GEM_IACK_4 (AET_GEM_EVT_START + 100)
926 #define AET_GEM_IACK_5 (AET_GEM_EVT_START + 101)
931 #define AET_GEM_IACK_6 (AET_GEM_EVT_START + 102)
936 #define AET_GEM_IACK_7 (AET_GEM_EVT_START + 103)
941 #define AET_GEM_IACK_8 (AET_GEM_EVT_START + 104)
946 #define AET_GEM_IACK_9 (AET_GEM_EVT_START + 105)
951 #define AET_GEM_IACK_10 (AET_GEM_EVT_START + 106)
956 #define AET_GEM_IACK_11 (AET_GEM_EVT_START + 107)
961 #define AET_GEM_IACK_12 (AET_GEM_EVT_START + 108)
966 #define AET_GEM_IACK_13 (AET_GEM_EVT_START + 109)
971 #define AET_GEM_IACK_14 (AET_GEM_EVT_START + 110)
976 #define AET_GEM_IACK_15 (AET_GEM_EVT_START + 111)
985 #define AET_EVT_MEM_L1D_RH_SRAM_A (AET_GEM_MEM_EVT_START + 0)
990 #define AET_EVT_MEM_L1D_RH_SRAM_B (AET_GEM_MEM_EVT_START + 1)
995 #define AET_EVT_MEM_L1D_RH_CACHE_A (AET_GEM_MEM_EVT_START + 2)
1000 #define AET_EVT_MEM_L1D_RH_CACHE_B (AET_GEM_MEM_EVT_START + 3)
1005 #define AET_EVT_MEM_L1D_WH_BUF_NOT_FULL_A (AET_GEM_MEM_EVT_START + 4)
1010 #define AET_EVT_MEM_L1D_WH_BUF_NOT_FULL_B (AET_GEM_MEM_EVT_START + 5)
1015 #define AET_EVT_MEM_L1D_WH_BUF_FULL_A (AET_GEM_MEM_EVT_START + 6)
1020 #define AET_EVT_MEM_L1D_WH_BUF_FULL_B (AET_GEM_MEM_EVT_START + 7)
1025 #define AET_EVT_MEM_L1D_RM_HITS_L2_SRAM_A (AET_GEM_MEM_EVT_START + 8)
1030 #define AET_EVT_MEM_L1D_RM_HITS_L2_SRAM_B (AET_GEM_MEM_EVT_START + 9)
1035 #define AET_EVT_MEM_L1D_RM_HITS_L2_CACHE_A (AET_GEM_MEM_EVT_START + 10)
1040 #define AET_EVT_MEM_L1D_RM_HITS_L2_CACHE_B (AET_GEM_MEM_EVT_START + 11)
1045 #define AET_EVT_MEM_L1D_RM_HITS_EXT_CABLE_A (AET_GEM_MEM_EVT_START + 12)
1050 #define AET_EVT_MEM_L1D_RM_HITS_EXT_CABLE_B (AET_GEM_MEM_EVT_START + 13)
1055 #define AET_EVT_MEM_L1D_RM_HITS_EXT_NON_CABLE_A (AET_GEM_MEM_EVT_START + 14)
1060 #define AET_EVT_MEM_L1D_RM_HITS_EXT_NON_CABLE_B (AET_GEM_MEM_EVT_START + 15)
1065 #define AET_EVT_MEM_L1D_WM_WRT_BUF_NOT_FULL_A (AET_GEM_MEM_EVT_START + 16)
1070 #define AET_EVT_MEM_L1D_WM_WRT_BUF_NOT_FULL_B (AET_GEM_MEM_EVT_START + 17)
1075 #define AET_EVT_MEM_L1D_WM_WRT_BUF_FULL_A (AET_GEM_MEM_EVT_START + 18)
1080 #define AET_EVT_MEM_L1D_WM_WRT_BUF_FULL_B (AET_GEM_MEM_EVT_START + 19)
1085 #define AET_EVT_MEM_L1D_WM_TAG_VIC_WRT_BUF_FLUSH_A (AET_GEM_MEM_EVT_START + 20)
1090 #define AET_EVT_MEM_L1D_WM_TAG_VIC_WRT_BUF_FLUSH_B (AET_GEM_MEM_EVT_START + 21)
1095 #define AET_EVT_MEM_CPU_CPU_BANK_CONFLICT (AET_GEM_MEM_EVT_START + 22)
1100 #define AET_EVT_MEM_CPU_SNOOP_CONFLICT (AET_GEM_MEM_EVT_START + 23)
1105 #define AET_EVT_MEM_CPU_IDMA_EDMA_BANK_CONFLICT (AET_GEM_MEM_EVT_START + 24)
1110 #define AET_EVT_MEM_L1P_RH_SRAM (AET_GEM_MEM_EVT_START + 25)
1115 #define AET_EVT_MEM_L1P_RH_CACHE (AET_GEM_MEM_EVT_START + 26)
1120 #define AET_EVT_MEM_L1P_RM_HITS_L2_SRAM (AET_GEM_MEM_EVT_START + 27)
1125 #define AET_EVT_MEM_L1P_RM_HITS_L2_CACHE (AET_GEM_MEM_EVT_START + 28)
1130 #define AET_EVT_MEM_L1P_RM_HITS_EXT_CABLE (AET_GEM_MEM_EVT_START + 29)
1144 #define AET_EVT_STALL_CPU_PIPELINE (AET_GEM_STALL_EVT_START + 0)
1149 #define AET_EVT_STALL_CROSS_PATH (AET_GEM_STALL_EVT_START + 1)
1154 #define AET_EVT_STALL_BRANCH_TO_SPAN_EXEC_PKT (AET_GEM_STALL_EVT_START + 2)
1159 #define AET_EVT_STALL_EXT_FUNC_IFACE (AET_GEM_STALL_EVT_START + 3)
1164 #define AET_EVT_STALL_MVC (AET_GEM_STALL_EVT_START + 4)
1172 #define AET_EVT_STALL_L1P_OTHER (AET_GEM_STALL_EVT_START + 5)
1177 #define AET_EVT_STALL_L1P_WAIT_STATE (AET_GEM_STALL_EVT_START + 6)
1185 #define AET_EVT_STALL_L1P_MISS (AET_GEM_STALL_EVT_START + 8)
1193 #define AET_EVT_STALL_L1D_OTHER (AET_GEM_STALL_EVT_START + 10)
1198 #define AET_EVT_STALL_L1D_BANK_CONFLICT (AET_GEM_STALL_EVT_START + 11)
1203 #define AET_EVT_STALL_L1D_DMA_CONFLICT (AET_GEM_STALL_EVT_START + 12)
1208 #define AET_EVT_STALL_L1D_WRITE_BUFFER_FULL (AET_GEM_STALL_EVT_START + 13)
1213 #define AET_EVT_STALL_L1D_TAG_UD_BUF_FULL (AET_GEM_STALL_EVT_START + 14)
1219 #define AET_EVT_STALL_L1D_LINE_FILL_B (AET_GEM_STALL_EVT_START + 15)
1225 #define AET_EVT_STALL_L1D_LINE_FILL_A (AET_GEM_STALL_EVT_START + 16)
1231 #define AET_EVT_STALL_L1D_WRT_BUF_FLUSH (AET_GEM_STALL_EVT_START + 17)
1236 #define AET_EVT_STALL_L1D_VICTIM_BUF_FLUSH (AET_GEM_STALL_EVT_START + 18)
1244 #define AET_EVT_STALL_L1D_TAG_UD_BUF_FLUSH (AET_GEM_STALL_EVT_START + 20)
1250 #define AET_EVT_STALL_L1D_SNOOP_CONFLICT (AET_GEM_STALL_EVT_START + 21)
1255 #define AET_EVT_STALL_L1D_COH_OP_CONFLICT (AET_GEM_STALL_EVT_START + 22)
1276 #define AET_EVT_MISC_EXEC_CYCLES (AET_GEM_MISC_EVT_START + 0)
1281 #define AET_EVT_MISC_STALL_PIPELINE (AET_GEM_MISC_EVT_START + 1)
1286 #define AET_EVT_MISC_MARK_INS_0 (AET_GEM_MISC_EVT_START + 2)
1291 #define AET_EVT_MISC_MARK_INS_1 (AET_GEM_MISC_EVT_START + 3)
1296 #define AET_EVT_MISC_MARK_INS_2 (AET_GEM_MISC_EVT_START + 4)
1301 #define AET_EVT_MISC_MARK_INS_3 (AET_GEM_MISC_EVT_START + 5)
1306 #define AET_EVT_MISC_ET0 (AET_GEM_MISC_EVT_START + 6)
1311 #define AET_EVT_MISC_ET1 (AET_GEM_MISC_EVT_START + 7)
1316 #define AET_EVT_MISC_IACK (AET_GEM_MISC_EVT_START + 8)
1321 #define AET_EVT_MISC_AEGEVT0 (AET_GEM_MISC_EVT_START + 9)
1326 #define AET_EVT_MISC_AEGEVT1 (AET_GEM_MISC_EVT_START + 10)
1331 #define AET_EVT_MISC_AEGEVT2 (AET_GEM_MISC_EVT_START + 11)
1336 #define AET_EVT_MISC_AEGEVT3 (AET_GEM_MISC_EVT_START + 12)
1341 #define AET_EVT_MISC_AEGEVT4 (AET_GEM_MISC_EVT_START + 13)
1346 #define AET_EVT_MISC_AEGEVT5 (AET_GEM_MISC_EVT_START + 14)
1351 #define AET_EVT_MISC_AEGEVT6 (AET_GEM_MISC_EVT_START + 15)
1356 #define AET_EVT_MISC_AEGEVT7 (AET_GEM_MISC_EVT_START + 16)
1361 #define AET_EVT_MISC_EXCEP (AET_GEM_MISC_EVT_START + 17)
1366 #define AET_EVT_MISC_EXC (AET_GEM_MISC_EVT_START + 18)
1371 #define AET_EVT_MISC_NMI (AET_GEM_MISC_EVT_START + 19)
1376 #define AET_EVT_MISC_RTDX_RX_END (AET_GEM_MISC_EVT_START + 20)
1381 #define AET_EVT_MISC_RTDX_TX_END (AET_GEM_MISC_EVT_START + 21)
1386 #define AET_EVT_MISC_DTDMA_END (AET_GEM_MISC_EVT_START + 22)
1392 #define AET_EVT_MISC_L1D_WM_HIT_L2SRAM (AET_GEM_MISC_EVT_START + 23)
1397 #define AET_EVT_MISC_L1D_WM_HIT_L2CACHE (AET_GEM_MISC_EVT_START + 24)
1402 #define AET_EVT_MISC_L1D_WM_HIT_EXT_CABLE (AET_GEM_MISC_EVT_START + 25)
1407 #define AET_EVT_MISC_L1D_WM_HIT_EXT_NONCABLE (AET_GEM_MISC_EVT_START + 26)
1412 #define AET_EVT_MISC_DIRTY_VICTIM_WRITEBACK_L2 (AET_GEM_MISC_EVT_START + 27)
1417 #define AET_EVT_MISC_DMA_SNOOP_READ (AET_GEM_MISC_EVT_START + 28)
1422 #define AET_EVT_MISC_DMA_SNOOP_WRITE (AET_GEM_MISC_EVT_START + 29)
1427 #define AET_EVT_MISC_TAG_UD_QUEUED_TAG_UD_BUF (AET_GEM_MISC_EVT_START + 30)
1432 #define AET_EVT_MISC_DIRTY_VICTIM_WRITEBACK_L1D (AET_GEM_MISC_EVT_START + 31)
1571 uint16_t eventNumber[4];
1602 int32_t reloadValue;
1604 }AET_counterConfigParams;
1611 extern far
const AET_counterConfigParams AET_COUNTERCONFIGPARAMS;
AET_traceTrigger traceTriggers
Specify which Trace Triggers to generate.
Definition: aet.h:1585
uint32_t dataStartAddress
Start Address of the interested range.
Definition: aet.h:1555
uint16_t size
Must be first field of all params structures.
Definition: aet.h:1543
AET_counters counterNumber
Specify which counter to use.
Definition: aet.h:1581
AET_error AET_claim(void)
Claims the AET unit for use by the application.
uint64_t value
Value to qualify the Read/Write with.
Definition: aet.h:1567
uint32_t dataEndAddress
End Address of the interested range.
Definition: aet.h:1557
uint32_t programRangeStartAddress
Program Address at start of range.
Definition: aet.h:1549
AET_triggerType
Definition: aet.h:518
AET_error AET_disableEmuPins(void)
Disables EMU0 and EMU1 pins for ET0/1 input/output.
uint16_t endEventNumber
Specify the number of the Miscellaneous End Event.
Definition: aet.h:1575
AET_triggerType triggerType
Type of trigger to be generated.
Definition: aet.h:1545
AET_watchReadWrite
Definition: aet.h:605
AET_error AET_enableEmuPins(void)
Enables EMU0 and EMU1 pins for ET0/1 input/output.
uint32_t programRangeEndAddress
Program Address at end of range.
Definition: aet.h:1551
AET_jobType
Definition: aet.h:461
AET_traceActive traceActive
Specify whether to start or stop trace.
Definition: aet.h:1583
AET_counterConfig
Definition: aet.h:616
Structure that holds the parameters needed to be passed to the AET_setupJob Function.
Definition: aet.h:1542
uint16_t AET_traceTrigger
Definition: aet.h:404
AET_stateQual stateQual
Specify which state to qualify job with.
Definition: aet.h:1589
int32_t AET_readCounter(AET_counters)
Read counter value.
uint64_t valueMask
Bitmask for specified value.
Definition: aet.h:1569
uint16_t startEventNumber
Specify the number of the Miscellaneous Start Event.
Definition: aet.h:1573
AET_jobIndex jobIndex
Index of the programmed job in the job table.
Definition: aet.h:1591
AET_error AET_configCounter(AET_counterConfigParams *params)
Configures the Counters used with AET.
AET_triggerLogicOrientation logicOrientation
Specify whether the trigger logic should be inverted.
Definition: aet.h:1587
AET_refSize
Definition: aet.h:594
AET_error AET_enable(void)
Enables the AET jobs that have been programmed.
AET_error AET_disable(void)
Clears all existing Counter configurations.
uint32_t traceEndAddress
Program Address to End Trace Job.
Definition: aet.h:1561
AET_evtTrigConfig eventTriggerConfig
Specify the type of triggering (Edge to high, Level Low, etc)
Definition: aet.h:1577
AET_watermarkAction startStop
Specify whether this event starts or stops the counter.
Definition: aet.h:1579
uint32_t programAddress
Desired Program Address to generate trigger.
Definition: aet.h:1547
AET_counters
Definition: aet.h:666
AET_error AET_clearCounters()
Disables the AET jobs that have been programmed.
AET_traceCacheProfilingMode
Definition: aet.h:652
uint32_t dataAddress
Address of the read/write to generate trigger.
Definition: aet.h:1553
void AET_init(void)
Initializes the application.
AET_stateQual
Definition: aet.h:714
AET_watermarkAction
Definition: aet.h:676
AET_traceActive
Definition: aet.h:685
AET_triggerLogicOrientation
Definition: aet.h:697
AET_refSize refSize
Size of data read/write.
Definition: aet.h:1563
AET_watchReadWrite readWrite
Specify watch on read or watch on write.
Definition: aet.h:1565
uint32_t traceStartAddress
Program Address to begin Trace Job.
Definition: aet.h:1559
AET_error
Definition: aet.h:416
AET_error AET_setupJob(AET_jobType jobType, AET_jobParams *params)
Programs specified AET jobs.
AET_error AET_release(void)
Release ownership of the AET resources.
AET_error AET_releaseJob(AET_jobIndex jobIndex)
Clear an AET job.
uint8_t AET_jobIndex
Type returned in the data parameters structures which indicates which entry in the jobs database that...
Definition: aet.h:1459