Advanced Event Triggering Target Library (AET)  02_70_00
aet.h
Go to the documentation of this file.
1 /*
2  * aet.h
3  *
4  * AET Library Public Definitions
5  *
6  * Copyright (C) 2013 Texas Instruments Incorporated - http://www.ti.com/
7  *
8  *
9  * Redistribution and use in source and binary forms, with or without
10  * modification, are permitted provided that the following conditions
11  * are met:
12  *
13  * Redistributions of source code must retain the above copyright
14  * notice, this list of conditions and the following disclaimer.
15  *
16  * Redistributions in binary form must reproduce the above copyright
17  * notice, this list of conditions and the following disclaimer in the
18  * documentation and/or other materials provided with the
19  * distribution.
20  *
21  * Neither the name of Texas Instruments Incorporated nor the names of
22  * its contributors may be used to endorse or promote products derived
23  * from this software without specific prior written permission.
24  *
25  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
26  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
27  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
28  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
29  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
30  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
31  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
32  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
33  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36  *
37  *
38  * =================================aet.h=====================================
39  * Revision Information
40  * Changed: $LastChangedDate: 2013-01-18 15:47:09 -0600 (Fri, 18 Jan 2013) $
41  * Revision: $LastChangedRevision: 10598 $
42  * Last Update By: $Author: KarthikRamanaSankar $
43  *
44  * Comment: updated the AET_ENABLE_RTOS_INT() macro to resolve a conflict with
45  * DSPTraceLib on claiming the TCU_CNTL unit
46  * ===========================================================================
47  */
141 #ifndef _AET_H
142 #define _AET_H
143 
146 // Note - the version definitions must have the end of line immediately after the value (packaging script requirement)
147 #define AET_MAJOR_VERSION (0x4)
148 
149 #define AET_MINOR_VERSION (0x11)
150 
152 /*
153  #include directives
154  */
155 #include <stddef.h>
156 #include <stdint.h>
157 #include <c6x.h>
158 
159 
160 #ifdef __cplusplus
161 extern "C" {
162 #endif
163 
164 #ifndef _AET_DISABLE_TI_STD_TYPES
165 #ifndef _TI_STD_TYPES
166 typedef int8_t Int8;
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;
176 typedef char Char;
177 typedef int Int;
178 typedef char *String;
179 typedef void *Ptr;
180 typedef unsigned short Bool;
181 #endif
182 #endif
183 
184 /*
185  #define directives and enums
186  */
187 
192 #if defined(_TMS320C6400_PLUS) || defined(_TMS320C6600)
193 #define ECU_CNTL TCU_CNTL
194 #else
195 #define ECU_CNTL (*(int32_t*)0x1bc0134)
196 #endif
197 
198 //
199 //#ifdef _TMS320C6400
200 // #define ECU_CNTL (*(int32_t*)0x1bc0134)
201 //#endif
202 
203 
216 #define AET_ENABLE_RTOS_INT() \
217 { \
218  if ( (ECU_CNTL & 3) == 0 ) ECU_CNTL = 0x1; \
219  if ( (ECU_CNTL & 3) == 1 ) ECU_CNTL = 0x2; \
220  ECU_CNTL = 0x000A0000; \
221 }
222 
223 
224 #define AET_DISABLE_RTOS_INT() \
225 { \
226  ECU_CNTL = ((ECU_CNTL & ~0x00020000) | (0x00080000)); \
227 }
228 
229 #define AET_CLEAR_RTOS_INT() \
230 { \
231  ECU_CNTL = 0x00A00000; \
232  *(int32_t*)0x1bc0020 = 0x00200000; \
233 }
234 
235 
236 /*
237  ==========================================================================
238  TRACE STREAM CONTROLS
239  ==========================================================================
240 */
241 
242 /* ==START TRIGGERS==*/
283 /*
284  These two sets of triggers (TRACE and TRACE STOP are completely separate and
285  should not be combined.
286  */
287 
288 /*---------TRACE TRIGGERS---------------*/
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)
297 
298 /* ==STOP TRIGGERS==*/
299 
314 /*------TRACE STOP TRIGGERS-------------*/
315 #define AET_TRACE_STOP_PC (0x1u)
316 #define AET_TRACE_STOP_TIMING (0x2u)
317 #define AET_TRACE_STOP_DATA (0x4u)
318 
348 /* ==STREAM ENABLES== */
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)
354 
390 /* == STREAM PRESENT== */
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)
398 
399 
404 typedef uint16_t AET_traceTrigger;
405 
406 /*
407  The following assignments are used to return status
408  when AET programmation is called
409  */
410 
416 typedef enum {
417  AET_SOK = 0,
454 }AET_error;
455 
461 typedef enum {
462  AET_JOB_START_TRACE_NO_TRIGGER = 0,
463  AET_JOB_STOP_TRACE_NO_TRIGGER,
500 #ifdef _TMS320C6400_PLUS
510 #endif
511  AET_JOB_NUM_JOBTYPES
512 }AET_jobType;
513 
518 typedef enum {
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
567 
568 
594 typedef enum {
599 }AET_refSize;
600 
605 typedef enum {
609 
616 typedef enum {
646 
652 typedef enum {
662 
666 typedef enum {
667  AET_CNT_0 = 0,
668  AET_CNT_1 = 1,
669  AET_NUM_AET_CNT
670 }AET_counters;
671 
672 
676 typedef enum {
680 
681 
685 typedef enum {
686  AET_TRACE_INACTIVE = 0, /* Make Trace Inactve */
687  AET_TRACE_ACTIVE /* Make Trace Active */
689 
690 
691 
697 typedef enum {
698  AET_TRIG_LOGIC_STRAIGHTFORWARD,
699  AET_TRIG_LOGIC_INVERTED
701 
702 typedef enum {
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
709 }AET_evtTrigConfig;
710 
714 typedef enum {
715  AET_STATEQUAL_STATE0 = 0x0,
716  AET_STATEQUAL_STATE1,
717  AET_STATEQUAL_STATE2,
718  AET_STATEQUAL_STATE3,
719  AET_STATEQUAL_NONE
721 
722 #ifdef _TMS320C6400_PLUS
723 typedef enum {
724  AET_TB_ESAC_CNT0 = 0,
725  AET_TB_ESAC_CNT1,
726  AET_TB_EXAC_TRCTRIG
727 }_AET_trigBldrEventCSelect;
728 
729 
730 #else
731 typedef enum {
732  AET_TB_ESAC_NONE = 0,
733  AET_TB_ESAC_CNT0 = 4,
734  AET_TB_ESAC_CNT1,
735  AET_TB_ESAC_AUX0,
736  AET_TB_ESAC_TRIG
737 }_AET_trigBldrEventCSelect;
738 
739 #endif
740 
741 
742 
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
824 
825 #define AET_GEM_EVT_START AET_NUMSYSEVTS
826 #define AET_GEM_EVT_END AET_GEM_EVT_START + AET_NUMGEMEVTS-1
827 
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
830 
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
833 
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
837 
838 /*******************************************************************************
839  GEM Events
840 *******************************************************************************/
841 #define AET_GEM_EVT_EXCEP (AET_GEM_EVT_START + 64)
842 
846 #define AET_GEM_EVT_NMI (AET_GEM_EVT_START + 65)
847 
851 #define AET_GEM_CPUINT_4 (AET_GEM_EVT_START + 68)
852 
856 #define AET_GEM_CPUINT_5 (AET_GEM_EVT_START + 69)
857 
861 #define AET_GEM_CPUINT_6 (AET_GEM_EVT_START + 70)
862 
866 #define AET_GEM_CPUINT_7 (AET_GEM_EVT_START + 71)
867 
871 #define AET_GEM_CPUINT_8 (AET_GEM_EVT_START + 72)
872 
876 #define AET_GEM_CPUINT_9 (AET_GEM_EVT_START + 73)
877 
881 #define AET_GEM_CPUINT_10 (AET_GEM_EVT_START + 74)
882 
886 #define AET_GEM_CPUINT_11 (AET_GEM_EVT_START + 75)
887 
891 #define AET_GEM_CPUINT_12 (AET_GEM_EVT_START + 76)
892 
896 #define AET_GEM_CPUINT_13 (AET_GEM_EVT_START + 77)
897 
901 #define AET_GEM_CPUINT_14 (AET_GEM_EVT_START + 78)
902 
906 #define AET_GEM_CPUINT_15 (AET_GEM_EVT_START + 79)
907 
911 #define AET_GEM_IACK (AET_GEM_EVT_START + 96)
912 
916 #define AET_GEM_EACK (AET_GEM_EVT_START + 97)
917 
921 #define AET_GEM_IACK_4 (AET_GEM_EVT_START + 100)
922 
926 #define AET_GEM_IACK_5 (AET_GEM_EVT_START + 101)
927 
931 #define AET_GEM_IACK_6 (AET_GEM_EVT_START + 102)
932 
936 #define AET_GEM_IACK_7 (AET_GEM_EVT_START + 103)
937 
941 #define AET_GEM_IACK_8 (AET_GEM_EVT_START + 104)
942 
946 #define AET_GEM_IACK_9 (AET_GEM_EVT_START + 105)
947 
951 #define AET_GEM_IACK_10 (AET_GEM_EVT_START + 106)
952 
956 #define AET_GEM_IACK_11 (AET_GEM_EVT_START + 107)
957 
961 #define AET_GEM_IACK_12 (AET_GEM_EVT_START + 108)
962 
966 #define AET_GEM_IACK_13 (AET_GEM_EVT_START + 109)
967 
971 #define AET_GEM_IACK_14 (AET_GEM_EVT_START + 110)
972 
976 #define AET_GEM_IACK_15 (AET_GEM_EVT_START + 111)
977 
982 /*******************************************************************************
983  Memory Events
984 *******************************************************************************/
985 #define AET_EVT_MEM_L1D_RH_SRAM_A (AET_GEM_MEM_EVT_START + 0)
986 
990 #define AET_EVT_MEM_L1D_RH_SRAM_B (AET_GEM_MEM_EVT_START + 1)
991 
995 #define AET_EVT_MEM_L1D_RH_CACHE_A (AET_GEM_MEM_EVT_START + 2)
996 
1000 #define AET_EVT_MEM_L1D_RH_CACHE_B (AET_GEM_MEM_EVT_START + 3)
1001 
1005 #define AET_EVT_MEM_L1D_WH_BUF_NOT_FULL_A (AET_GEM_MEM_EVT_START + 4)
1006 
1010 #define AET_EVT_MEM_L1D_WH_BUF_NOT_FULL_B (AET_GEM_MEM_EVT_START + 5)
1011 
1015 #define AET_EVT_MEM_L1D_WH_BUF_FULL_A (AET_GEM_MEM_EVT_START + 6)
1016 
1020 #define AET_EVT_MEM_L1D_WH_BUF_FULL_B (AET_GEM_MEM_EVT_START + 7)
1021 
1025 #define AET_EVT_MEM_L1D_RM_HITS_L2_SRAM_A (AET_GEM_MEM_EVT_START + 8)
1026 
1030 #define AET_EVT_MEM_L1D_RM_HITS_L2_SRAM_B (AET_GEM_MEM_EVT_START + 9)
1031 
1035 #define AET_EVT_MEM_L1D_RM_HITS_L2_CACHE_A (AET_GEM_MEM_EVT_START + 10)
1036 
1040 #define AET_EVT_MEM_L1D_RM_HITS_L2_CACHE_B (AET_GEM_MEM_EVT_START + 11)
1041 
1045 #define AET_EVT_MEM_L1D_RM_HITS_EXT_CABLE_A (AET_GEM_MEM_EVT_START + 12)
1046 
1050 #define AET_EVT_MEM_L1D_RM_HITS_EXT_CABLE_B (AET_GEM_MEM_EVT_START + 13)
1051 
1055 #define AET_EVT_MEM_L1D_RM_HITS_EXT_NON_CABLE_A (AET_GEM_MEM_EVT_START + 14)
1056 
1060 #define AET_EVT_MEM_L1D_RM_HITS_EXT_NON_CABLE_B (AET_GEM_MEM_EVT_START + 15)
1061 
1065 #define AET_EVT_MEM_L1D_WM_WRT_BUF_NOT_FULL_A (AET_GEM_MEM_EVT_START + 16)
1066 
1070 #define AET_EVT_MEM_L1D_WM_WRT_BUF_NOT_FULL_B (AET_GEM_MEM_EVT_START + 17)
1071 
1075 #define AET_EVT_MEM_L1D_WM_WRT_BUF_FULL_A (AET_GEM_MEM_EVT_START + 18)
1076 
1080 #define AET_EVT_MEM_L1D_WM_WRT_BUF_FULL_B (AET_GEM_MEM_EVT_START + 19)
1081 
1085 #define AET_EVT_MEM_L1D_WM_TAG_VIC_WRT_BUF_FLUSH_A (AET_GEM_MEM_EVT_START + 20)
1086 
1090 #define AET_EVT_MEM_L1D_WM_TAG_VIC_WRT_BUF_FLUSH_B (AET_GEM_MEM_EVT_START + 21)
1091 
1095 #define AET_EVT_MEM_CPU_CPU_BANK_CONFLICT (AET_GEM_MEM_EVT_START + 22)
1096 
1100 #define AET_EVT_MEM_CPU_SNOOP_CONFLICT (AET_GEM_MEM_EVT_START + 23)
1101 
1105 #define AET_EVT_MEM_CPU_IDMA_EDMA_BANK_CONFLICT (AET_GEM_MEM_EVT_START + 24)
1106 
1110 #define AET_EVT_MEM_L1P_RH_SRAM (AET_GEM_MEM_EVT_START + 25)
1111 
1115 #define AET_EVT_MEM_L1P_RH_CACHE (AET_GEM_MEM_EVT_START + 26)
1116 
1120 #define AET_EVT_MEM_L1P_RM_HITS_L2_SRAM (AET_GEM_MEM_EVT_START + 27)
1121 
1125 #define AET_EVT_MEM_L1P_RM_HITS_L2_CACHE (AET_GEM_MEM_EVT_START + 28)
1126 
1130 #define AET_EVT_MEM_L1P_RM_HITS_EXT_CABLE (AET_GEM_MEM_EVT_START + 29)
1131 
1136 /*
1137 #define AET_EVT_MEM_RESERVED_30 (AET_GEM_MEM_EVT_START + 30)
1138 #define AET_EVT_MEM_RESERVED_31 (AET_GEM_MEM_EVT_START + 31)
1139 */
1140 
1141 /*******************************************************************************
1142  StallEvents
1143 *******************************************************************************/
1144 #define AET_EVT_STALL_CPU_PIPELINE (AET_GEM_STALL_EVT_START + 0)
1145 
1149 #define AET_EVT_STALL_CROSS_PATH (AET_GEM_STALL_EVT_START + 1)
1150 
1154 #define AET_EVT_STALL_BRANCH_TO_SPAN_EXEC_PKT (AET_GEM_STALL_EVT_START + 2)
1155 
1159 #define AET_EVT_STALL_EXT_FUNC_IFACE (AET_GEM_STALL_EVT_START + 3)
1160 
1164 #define AET_EVT_STALL_MVC (AET_GEM_STALL_EVT_START + 4)
1165 
1172 #define AET_EVT_STALL_L1P_OTHER (AET_GEM_STALL_EVT_START + 5)
1173 
1177 #define AET_EVT_STALL_L1P_WAIT_STATE (AET_GEM_STALL_EVT_START + 6)
1178 
1182 /*
1183 #define AET_EVT_STALL_RESERVED_7 (AET_GEM_STALL_EVT_START + 7)
1184 */
1185 #define AET_EVT_STALL_L1P_MISS (AET_GEM_STALL_EVT_START + 8)
1186 
1190 /*
1191 #define AET_EVT_STALL_RESERVED_9 (AET_GEM_STALL_EVT_START + 9)
1192 */
1193 #define AET_EVT_STALL_L1D_OTHER (AET_GEM_STALL_EVT_START + 10)
1194 
1198 #define AET_EVT_STALL_L1D_BANK_CONFLICT (AET_GEM_STALL_EVT_START + 11)
1199 
1203 #define AET_EVT_STALL_L1D_DMA_CONFLICT (AET_GEM_STALL_EVT_START + 12)
1204 
1208 #define AET_EVT_STALL_L1D_WRITE_BUFFER_FULL (AET_GEM_STALL_EVT_START + 13)
1209 
1213 #define AET_EVT_STALL_L1D_TAG_UD_BUF_FULL (AET_GEM_STALL_EVT_START + 14)
1214 
1219 #define AET_EVT_STALL_L1D_LINE_FILL_B (AET_GEM_STALL_EVT_START + 15)
1220 
1225 #define AET_EVT_STALL_L1D_LINE_FILL_A (AET_GEM_STALL_EVT_START + 16)
1226 
1231 #define AET_EVT_STALL_L1D_WRT_BUF_FLUSH (AET_GEM_STALL_EVT_START + 17)
1232 
1236 #define AET_EVT_STALL_L1D_VICTIM_BUF_FLUSH (AET_GEM_STALL_EVT_START + 18)
1237 
1241 /*
1242 #define AET_EVT_STALL_RESERVED_19 (AET_GEM_STALL_EVT_START + 19)
1243 */
1244 #define AET_EVT_STALL_L1D_TAG_UD_BUF_FLUSH (AET_GEM_STALL_EVT_START + 20)
1245 
1250 #define AET_EVT_STALL_L1D_SNOOP_CONFLICT (AET_GEM_STALL_EVT_START + 21)
1251 
1255 #define AET_EVT_STALL_L1D_COH_OP_CONFLICT (AET_GEM_STALL_EVT_START + 22)
1256 
1261 /*
1262 #define AET_EVT_STALL_RESERVED_23 (AET_GEM_STALL_EVT_START + 23)
1263 #define AET_EVT_STALL_RESERVED_24 (AET_GEM_STALL_EVT_START + 24)
1264 #define AET_EVT_STALL_RESERVED_25 (AET_GEM_STALL_EVT_START + 25)
1265 #define AET_EVT_STALL_RESERVED_26 (AET_GEM_STALL_EVT_START + 26)
1266 #define AET_EVT_STALL_RESERVED_27 (AET_GEM_STALL_EVT_START + 27)
1267 #define AET_EVT_STALL_RESERVED_28 (AET_GEM_STALL_EVT_START + 28)
1268 #define AET_EVT_STALL_RESERVED_29 (AET_GEM_STALL_EVT_START + 29)
1269 #define AET_EVT_STALL_RESERVED_30 (AET_GEM_STALL_EVT_START + 30)
1270 #define AET_EVT_STALL_RESERVED_31 (AET_GEM_STALL_EVT_START + 31)
1271 */
1272 
1273 /*******************************************************************************
1274  Miscellaneous Events
1275 *******************************************************************************/
1276 #define AET_EVT_MISC_EXEC_CYCLES (AET_GEM_MISC_EVT_START + 0)
1277 
1281 #define AET_EVT_MISC_STALL_PIPELINE (AET_GEM_MISC_EVT_START + 1)
1282 
1286 #define AET_EVT_MISC_MARK_INS_0 (AET_GEM_MISC_EVT_START + 2)
1287 
1291 #define AET_EVT_MISC_MARK_INS_1 (AET_GEM_MISC_EVT_START + 3)
1292 
1296 #define AET_EVT_MISC_MARK_INS_2 (AET_GEM_MISC_EVT_START + 4)
1297 
1301 #define AET_EVT_MISC_MARK_INS_3 (AET_GEM_MISC_EVT_START + 5)
1302 
1306 #define AET_EVT_MISC_ET0 (AET_GEM_MISC_EVT_START + 6)
1307 
1311 #define AET_EVT_MISC_ET1 (AET_GEM_MISC_EVT_START + 7)
1312 
1316 #define AET_EVT_MISC_IACK (AET_GEM_MISC_EVT_START + 8)
1317 
1321 #define AET_EVT_MISC_AEGEVT0 (AET_GEM_MISC_EVT_START + 9)
1322 
1326 #define AET_EVT_MISC_AEGEVT1 (AET_GEM_MISC_EVT_START + 10)
1327 
1331 #define AET_EVT_MISC_AEGEVT2 (AET_GEM_MISC_EVT_START + 11)
1332 
1336 #define AET_EVT_MISC_AEGEVT3 (AET_GEM_MISC_EVT_START + 12)
1337 
1341 #define AET_EVT_MISC_AEGEVT4 (AET_GEM_MISC_EVT_START + 13)
1342 
1346 #define AET_EVT_MISC_AEGEVT5 (AET_GEM_MISC_EVT_START + 14)
1347 
1351 #define AET_EVT_MISC_AEGEVT6 (AET_GEM_MISC_EVT_START + 15)
1352 
1356 #define AET_EVT_MISC_AEGEVT7 (AET_GEM_MISC_EVT_START + 16)
1357 
1361 #define AET_EVT_MISC_EXCEP (AET_GEM_MISC_EVT_START + 17)
1362 
1366 #define AET_EVT_MISC_EXC (AET_GEM_MISC_EVT_START + 18)
1367 
1371 #define AET_EVT_MISC_NMI (AET_GEM_MISC_EVT_START + 19)
1372 
1376 #define AET_EVT_MISC_RTDX_RX_END (AET_GEM_MISC_EVT_START + 20)
1377 
1381 #define AET_EVT_MISC_RTDX_TX_END (AET_GEM_MISC_EVT_START + 21)
1382 
1386 #define AET_EVT_MISC_DTDMA_END (AET_GEM_MISC_EVT_START + 22)
1387 
1392 #define AET_EVT_MISC_L1D_WM_HIT_L2SRAM (AET_GEM_MISC_EVT_START + 23)
1393 
1397 #define AET_EVT_MISC_L1D_WM_HIT_L2CACHE (AET_GEM_MISC_EVT_START + 24)
1398 
1402 #define AET_EVT_MISC_L1D_WM_HIT_EXT_CABLE (AET_GEM_MISC_EVT_START + 25)
1403 
1407 #define AET_EVT_MISC_L1D_WM_HIT_EXT_NONCABLE (AET_GEM_MISC_EVT_START + 26)
1408 
1412 #define AET_EVT_MISC_DIRTY_VICTIM_WRITEBACK_L2 (AET_GEM_MISC_EVT_START + 27)
1413 
1417 #define AET_EVT_MISC_DMA_SNOOP_READ (AET_GEM_MISC_EVT_START + 28)
1418 
1422 #define AET_EVT_MISC_DMA_SNOOP_WRITE (AET_GEM_MISC_EVT_START + 29)
1423 
1427 #define AET_EVT_MISC_TAG_UD_QUEUED_TAG_UD_BUF (AET_GEM_MISC_EVT_START + 30)
1428 
1432 #define AET_EVT_MISC_DIRTY_VICTIM_WRITEBACK_L1D (AET_GEM_MISC_EVT_START + 31)
1433 
1445 /*
1446  Structure Definitions and Typedefs
1447  */
1448 
1459 typedef uint8_t AET_jobIndex;
1460 
1542 typedef struct {
1543  uint16_t size;
1547  uint32_t programAddress;
1553  uint32_t dataAddress;
1557  uint32_t dataEndAddress;
1567  uint64_t value;
1569  uint64_t valueMask;
1571  uint16_t eventNumber[4];
1575  uint16_t endEventNumber;
1577  AET_evtTrigConfig eventTriggerConfig;
1585  AET_traceTrigger traceTriggers;
1591  AET_jobIndex jobIndex;
1593 }AET_jobParams;
1594 
1595 typedef struct {
1596  uint16_t size;
1598  AET_counters counterNumber;
1600  AET_counterConfig configMode;
1602  int32_t reloadValue;
1604 }AET_counterConfigParams;
1605 
1606 
1607 /*
1608  Static data definitions
1609  */
1610 extern far const AET_jobParams AET_JOBPARAMS;
1611 extern far const AET_counterConfigParams AET_COUNTERCONFIGPARAMS;
1612 
1613 /*
1614  Static function prototypes
1615  */
1616 
1617 /*
1618  Module Function Definintions
1619  */
1620 
1639 AET_error AET_claim(void);
1653 AET_error AET_configCounter(AET_counterConfigParams* params);
1666 AET_error AET_disable(void);
1679 AET_error AET_enable(void);
1688 void AET_init(void);
1695 int32_t AET_readCounter(AET_counters);
1702 AET_error AET_release(void);
1713 AET_error AET_releaseJob(AET_jobIndex jobIndex);
1730 
1745 
1746 /*
1747  Static (internal) function definitions
1748  */
1749 
1750 /*
1751  Revision History
1752  */
1755 #ifdef __cplusplus
1756 }
1757 #endif
1758 
1759 
1760 #endif
Definition: aet.h:542
Definition: aet.h:536
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
Definition: aet.h:453
uint16_t size
Must be first field of all params structures.
Definition: aet.h:1543
Definition: aet.h:431
Definition: aet.h:476
Definition: aet.h:623
Definition: aet.h:432
Definition: aet.h:444
AET_counters counterNumber
Specify which counter to use.
Definition: aet.h:1581
Definition: aet.h:474
Definition: aet.h:492
Definition: aet.h:520
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
Definition: aet.h:501
Definition: aet.h:435
Definition: aet.h:441
uint32_t dataEndAddress
End Address of the interested range.
Definition: aet.h:1557
Definition: aet.h:677
Definition: aet.h:437
Definition: aet.h:419
Definition: aet.h:478
uint32_t programRangeStartAddress
Program Address at start of range.
Definition: aet.h:1549
Definition: aet.h:426
Definition: aet.h:490
AET_triggerType
Definition: aet.h:518
AET_error AET_disableEmuPins(void)
Disables EMU0 and EMU1 pins for ET0/1 input/output.
Definition: aet.h:643
uint16_t endEventNumber
Specify the number of the Miscellaneous End Event.
Definition: aet.h:1575
Definition: aet.h:595
Definition: aet.h:537
Definition: aet.h:525
AET_triggerType triggerType
Type of trigger to be generated.
Definition: aet.h:1545
AET_watchReadWrite
Definition: aet.h:605
Definition: aet.h:667
Definition: aet.h:596
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
Definition: aet.h:496
Definition: aet.h:482
Definition: aet.h:430
Definition: aet.h:504
Definition: aet.h:535
Definition: aet.h:528
Definition: aet.h:531
Definition: aet.h:617
Definition: aet.h:421
Definition: aet.h:521
Definition: aet.h:466
Definition: aet.h:532
AET_jobType
Definition: aet.h:461
Definition: aet.h:523
AET_traceActive traceActive
Specify whether to start or stop trace.
Definition: aet.h:1583
Definition: aet.h:420
Definition: aet.h:639
Definition: aet.h:424
Definition: aet.h:631
Definition: aet.h:543
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
Definition: aet.h:529
Definition: aet.h:597
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
Definition: aet.h:641
Definition: aet.h:429
Definition: aet.h:519
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.
Definition: aet.h:486
Definition: aet.h:434
Definition: aet.h:494
Definition: aet.h:633
Definition: aet.h:439
AET_error AET_disable(void)
Clears all existing Counter configurations.
Definition: aet.h:625
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
Definition: aet.h:423
Definition: aet.h:422
Definition: aet.h:442
Definition: aet.h:480
Definition: aet.h:440
uint32_t programAddress
Desired Program Address to generate trigger.
Definition: aet.h:1547
AET_counters
Definition: aet.h:666
Definition: aet.h:508
Definition: aet.h:452
Definition: aet.h:450
Definition: aet.h:449
Definition: aet.h:627
AET_error AET_clearCounters()
Disables the AET jobs that have been programmed.
Definition: aet.h:447
AET_traceCacheProfilingMode
Definition: aet.h:652
Definition: aet.h:448
Definition: aet.h:433
uint32_t dataAddress
Address of the read/write to generate trigger.
Definition: aet.h:1553
Definition: aet.h:438
Definition: aet.h:443
Definition: aet.h:530
void AET_init(void)
Initializes the application.
AET_stateQual
Definition: aet.h:714
Definition: aet.h:544
Definition: aet.h:425
AET_watermarkAction
Definition: aet.h:676
Definition: aet.h:668
AET_traceActive
Definition: aet.h:685
Definition: aet.h:418
AET_triggerLogicOrientation
Definition: aet.h:697
Definition: aet.h:606
Definition: aet.h:619
Definition: aet.h:464
Definition: aet.h:526
Definition: aet.h:451
Definition: aet.h:488
Definition: aet.h:607
AET_refSize refSize
Size of data read/write.
Definition: aet.h:1563
Definition: aet.h:539
Definition: aet.h:629
Definition: aet.h:540
Definition: aet.h:506
Definition: aet.h:678
AET_watchReadWrite readWrite
Specify watch on read or watch on write.
Definition: aet.h:1565
Definition: aet.h:527
Definition: aet.h:445
uint32_t traceStartAddress
Program Address to begin Trace Job.
Definition: aet.h:1559
Definition: aet.h:468
AET_error
Definition: aet.h:416
AET_error AET_setupJob(AET_jobType jobType, AET_jobParams *params)
Programs specified AET jobs.
Definition: aet.h:428
AET_error AET_release(void)
Release ownership of the AET resources.
Definition: aet.h:541
Definition: aet.h:533
Definition: aet.h:524
Definition: aet.h:545
AET_error AET_releaseJob(AET_jobIndex jobIndex)
Clear an AET job.
Definition: aet.h:637
Definition: aet.h:470
uint8_t AET_jobIndex
Type returned in the data parameters structures which indicates which entry in the jobs database that...
Definition: aet.h:1459
Definition: aet.h:538
Definition: aet.h:548
Definition: aet.h:635
Definition: aet.h:534
Definition: aet.h:436
Definition: aet.h:598
Definition: aet.h:547
Definition: aet.h:427
Definition: aet.h:546
Definition: aet.h:417
Definition: aet.h:522
Definition: aet.h:621
Definition: aet.h:446