1 \r
2 var ctt_registers = [\r
3 0x44e00000,\r
4 0x44e00004,\r
5 0x44e00008,\r
6 0x44e0000c,\r
7 0x44e00014,\r
8 0x44e00018,\r
9 0x44e0001c,\r
10 0x44e00024,\r
11 0x44e00028,\r
12 0x44e0002c,\r
13 0x44e00030,\r
14 0x44e00034,\r
15 0x44e00038,\r
16 0x44e0003c,\r
17 0x44e00040,\r
18 0x44e00044,\r
19 0x44e00048,\r
20 0x44e0004c,\r
21 0x44e00050,\r
22 0x44e00060,\r
23 0x44e00064,\r
24 0x44e00068,\r
25 0x44e0006c,\r
26 0x44e00070,\r
27 0x44e00074,\r
28 0x44e00078,\r
29 0x44e0007c,\r
30 0x44e00080,\r
31 0x44e00084,\r
32 0x44e00088,\r
33 0x44e000ac,\r
34 0x44e000b0,\r
35 0x44e000b4,\r
36 0x44e000bc,\r
37 0x44e000c0,\r
38 0x44e000c4,\r
39 0x44e000c8,\r
40 0x44e000cc,\r
41 0x44e000d0,\r
42 0x44e000d4,\r
43 0x44e000d8,\r
44 0x44e000dc,\r
45 0x44e000e0,\r
46 0x44e000e4,\r
47 0x44e000e8,\r
48 0x44e000ec,\r
49 0x44e000f0,\r
50 0x44e000f4,\r
51 0x44e000f8,\r
52 0x44e000fc,\r
53 0x44e00100,\r
54 0x44e0010c,\r
55 0x44e00110,\r
56 0x44e0011c,\r
57 0x44e00120,\r
58 0x44e00140,\r
59 0x44e00144,\r
60 0x44e00148,\r
61 0x44e0014c,\r
62 0x44e00150,\r
63 0x44e00400,\r
64 0x44e00404,\r
65 0x44e00408,\r
66 0x44e0040c,\r
67 0x44e00410,\r
68 0x44e00414,\r
69 0x44e00418,\r
70 0x44e0042c,\r
71 0x44e00440,\r
72 0x44e00454,\r
73 0x44e00468,\r
74 0x44e00480,\r
75 0x44e00484,\r
76 0x44e00488,\r
77 0x44e0048c,\r
78 0x44e00490,\r
79 0x44e00494,\r
80 0x44e00498,\r
81 0x44e0049c,\r
82 0x44e004a0,\r
83 0x44e004a4,\r
84 0x44e004a8,\r
85 0x44e004ac,\r
86 0x44e004b0,\r
87 0x44e004b4,\r
88 0x44e004b8,\r
89 0x44e004bc,\r
90 0x44e004c0,\r
91 0x44e004c4,\r
92 0x44e004c8,\r
93 0x44e004cc,\r
94 0x44e004d0,\r
95 0x44e004d4,\r
96 0x44e00504,\r
97 0x44e00508,\r
98 0x44e0050c,\r
99 0x44e00510,\r
100 0x44e00514,\r
101 0x44e00518,\r
102 0x44e0051c,\r
103 0x44e00520,\r
104 0x44e00528,\r
105 0x44e0052c,\r
106 0x44e00530,\r
107 0x44e00534,\r
108 0x44e00538,\r
109 0x44e0053c,\r
110 0x44e00600,\r
111 0x44e00604,\r
112 0x44e00700,\r
113 0x44e00800,\r
114 0x44e00804,\r
115 0x44e00900,\r
116 0x44e00904,\r
117 0x44e0090c,\r
118 0x44e00910,\r
119 0x44e00914,\r
120 0x44e10040];\r
121 \r
122 // Check if we're connected to the A8\r
123 var debugTarget = activeDS.getName();\r
124 var debugTargetA8 = false;\r
125 if (debugTarget.indexOf('A8') >= 0) {\r
126 var debugTargetA8 = true;\r
127 print("Connected to Cortex A8");\r
128 }\r
129 \r
130 // Check if MMU is enabled\r
131 var mmuEnabled = false;\r
132 if (debugTargetA8 == true) {\r
133 print("Getting MMU Status.");\r
134 mmuEnabled = activeDS.armAdvancedFeatures.options.getBoolean("MMUEnabled");\r
135 }\r
136 \r
137 //Build a filename that includes date/time\r
138 var today = new Date();\r
139 var year4digit = today.getFullYear();\r
140 var month2digit = ("0" + (today.getMonth()+1)).slice(-2);\r
141 var day2digit = ("0" + today.getDate()).slice(-2);\r
142 var hour2digit = ("0" + today.getHours()).slice(-2);\r
143 var minutes2digit = ("0" + today.getMinutes()).slice(-2);\r
144 var seconds2digit = ("0" + today.getSeconds()).slice(-2);\r
145 var filename_date = '_' + year4digit + '-' + month2digit + '-' + day2digit + '_' + hour2digit + minutes2digit + seconds2digit; \r
146 var userHomeFolder = System.getProperty("user.home");\r
147 var filename = userHomeFolder + '/Desktop/' + 'am335x-ctt' + filename_date + '.rd1';\r
148 \r
149 file = new java.io.FileWriter(filename);\r
150 file.write("DeviceName AM335x1.0\n");\r
151 \r
152 // helper function to create 8-digit hex numbers in ascii format\r
153 function d2h(d) {return ("00000000" + (+d).toString(16)).slice(-8);}\r
154 \r
155 // If connected to the Cortex A8 then make sure the MMU is off\r
156 // so we can read physical addresses\r
157 if (mmuEnabled == true) {\r
158 print("MMU was originally enabled.");\r
159 activeDS.armAdvancedFeatures.options.setBoolean("MMUEnabled",false);\r
160 print("MMU now disabled.");\r
161 }\r
162 \r
163 // read CTT data from physical addresses\r
164 for(i=0; i<ctt_registers.length; i++)\r
165 {\r
166 value_array = readWord(ctt_registers[i],0,1,false);\r
167 value = d2h(value_array[0]);\r
168 file.write('0x' + ("0000" + ctt_registers[i].toString(16)).slice(-8) + " 0x" + value + "\n");\r
169 }\r
170 print("Data collection complete.");\r
171 \r
172 // Restore the status of the MMU\r
173 if (mmuEnabled == true) {\r
174 activeDS.armAdvancedFeatures.options.setBoolean("MMUEnabled",true);\r
175 print("MMU now re-enabled.");\r
176 }\r
177 \r
178 \r
179 file.close();\r
180 print("Created file " + filename);\r
181 \r