File: eem_defs.h

package info (click to toggle)
mspdebug 0.25-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 4,700 kB
  • sloc: ansic: 67,821; makefile: 201; xml: 19
file content (192 lines) | stat: -rw-r--r-- 7,348 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
/*
 * EEM_defs.h
 * 
 * <FILEBRIEF>
 *
 * Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/ 
 * 
 * 
 *  Redistribution and use in source and binary forms, with or without 
 *  modification, are permitted provided that the following conditions 
 *  are met:
 *
 *    Redistributions of source code must retain the above copyright 
 *    notice, this list of conditions and the following disclaimer.
 *
 *    Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the 
 *    documentation and/or other materials provided with the   
 *    distribution.
 *
 *    Neither the name of Texas Instruments Incorporated nor the names of
 *    its contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
 *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
 *  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 *  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 *  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
 *  OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.         
 */


#ifndef _EEM_DEFS_H_
#define _EEM_DEFS_H_

#define FALSE       0
#define TRUE        1

#define WRITE       0
#define READ        1

#define TRIGFLAG    0x8E
#define EEMVER      0x86
/* Definition for EEM General Clock Control Register */
#define GENCLKCTRL  0x88
/* Definitions for EEM General Clock Control Register */
#define MCLK_SEL0   0x0000
#define SMCLK_SEL0  0x0000
#define ACLK_SEL0   0x0000
#define MCLK_SEL3   0x6000
#define SMCLK_SEL3  0x0C00
#define ACLK_SEL3   0x0180
#define STOP_MCLK   0x0008
#define STOP_SMCLK  0x0004
#define STOP_ACLK   0x0002
/* Definition for EEM Module Clock Control Register 0 */
#define MODCLKCTRL0 0x8A
/* Definition for EEM General Debug Control Register */
#define GENCTRL     0x82
/* Definitions for EEM General Debug Control Register */
#define EEM_EN         0x0001
#define CLEAR_STOP     0x0002
#define EMU_CLK_EN     0x0004
#define EMU_FEAT_EN    0x0008
#define DEB_TRIG_LATCH 0x0010
#define EEM_RST        0x0040
#define E_STOPPED      0x0080
/* Defintions for Trigger Block base addresses */
#define TB0         0x0000
#define TB1         0x0008
#define TB2         0x0010
#define TB3         0x0018
#define TB4         0x0020
#define TB5         0x0028
#define TB6         0x0030
#define TB7         0x0038
#define TB8         0x0040
#define TB9         0x0048
/* Definitions for Trigger Block register addresses */
#define MBTRIGxVAL  0x0000
#define MBTRIGxCTL  0x0002
#define MBTRIGxMSK  0x0004
#define MBTRIGxCMB  0x0006
/* Definitions for MAB/MDB Trigger Control Register */
#define MAB    0x0000
#define MDB    0x0001
#define TRIG_0 0x0000 // Instruction Fetch
#define TRIG_1 0x0002 // Instruction Fetch Hold
#define TRIG_2 0x0004 // No Instruction Fetch
#define TRIG_3 0x0006 // Don't care
#define TRIG_4 0x0020 // No Instruction Fetch & Read
#define TRIG_5 0x0022 // No Instruction Fetch & Write
#define TRIG_6 0x0024 // Read
#define TRIG_7 0x0026 // Write
#define TRIG_8 0x0040 // No Instruction Fetch & No DMA Access
#define TRIG_9 0x0042 // DMA Access (Read or Write)
#define TRIG_A 0x0044 // No DMA Access
#define TRIG_B 0x0046 // Write & No DMA Access
#define TRIG_C 0x0060 // No Instruction Fetch & Read & No DMA Access
#define TRIG_D 0x0062 // Read & No DMA Access
#define TRIG_E 0x0064 // Read & DMA Access
#define TRIG_F 0x0066 // Write & DMA Access
#define CMP_EQUAL     0x0000
#define CMP_GREATER   0x0008
#define CMP_LESS      0x0010
#define CMP_NOT_EQUAL 0x0018
/* Definitions for MAB/MDB Trigger Mask Register */
#define NO_MASK       0x00000
#define MASK_ALL      0xFFFFF
#define MASK_XADDR    0xF0000
#define MASK_HBYTE    0x0FF00
#define MASK_LBYTE    0x000FF
/* Definitions for MAB/MDB Combination Register & Reaction Registers*/
#define EN0     0x0001
#define EN1     0x0002
#define EN2     0x0004
#define EN3     0x0008
#define EN4     0x0010
#define EN5     0x0020
#define EN6     0x0040
#define EN7     0x0080
#define EN8     0x0100
#define EN9     0x0200

#define STOR_CTL      0x9E
/* Definitions for State Storage Control Register */
#define VAR_WATCH0          0x0000 // Two
#define VAR_WATCH1          0x2000 // Four
#define VAR_WATCH2          0x4000 // Six
#define VAR_WATCH3          0x6000 // Eight
#define STOR_FULL           0x0200
#define STOR_WRIT           0x0100
#define STOR_TEST           0x0080
#define STOR_RST            0x0040
#define STOR_STOP_ON_TRIG   0x0020
#define STOR_START_ON_TRIG  0x0010
#define STOR_ONE_SHOT       0x0008
#define STOR_MODE0          0x0000 // Store on enabled triggers
#define STOR_MODE1          0x0002 // Store on Instruction Fetch
#define STOR_MODE2          0x0004 // Variable Watch
#define STOR_MODE3          0x0006 // Store all bus cycles
#define STOR_EN             0x0001 // enable state storage

/* Definitions for Reaction Registers */
#define STOR_REACT    0x98
#define BREAKREACT    0x80
#define EVENT_REACT   0x94

#define EVENT_CTRL    0x96
#define EVENT_TRIG    0x0001

/* Definitions for Cycle Counters */
#define CCNT0CTL      0xB0
#define CCNT0L        0xB2
#define CCNT0H        0xB4
#define CCNT1CTL      0xB8
#define CCNT1L        0xBA
#define CCNT1H        0xBC
#define CCNT1REACT    0xBE

/* Definitions for Cycle Counter Control Register */
#define CCNTMODE0     0x0000 // Counter stopped
#define CCNTMODE1     0x0001 // Increment on reaction
#define CCNTMODE4     0x0004 // Increment on instruction fetch cycles
#define CCNTMODE5     0x0005 // Increment on all bus cycles (including DMA cycles)
#define CCNTMODE6     0x0006 // Increment on all CPU bus cycles (excluding DMA cycles)
#define CCNTMODE7     0x0007 // Increment on all DMA bus cycles
#define CCNT_RST      0x0040 
#define CCNTSTT0      0x0000 // Start when CPU released from JTAG/EEM
#define CCNTSTT1      0x0100 // Start on reaction CCNT1REACT (only CCNT1)
#define CCNTSTT2      0x0200 // Start when other (second) counter is started (only if available)
#define CCNTSTT3      0x0300 // Start immediately
#define CCNTSTP0      0x0000 // Stop when CPU is stopped by EEM or under JTAG control
#define CCNTSTP1      0x0400 // Stop on reaction CCNT1REACT (only CCNT1)
#define CCNTSTP2      0x0800 // Stop when other (second) counter is started (only if available)
#define CCNTSTP3      0x0C00 // No stop event
#define CCNTCLR0      0x0000 // No clear event
#define CCNTCLR1      0x1000 // Clear on reaction CCNT1REACT (only CCNT1)
#define CCNTCLR2      0x2000 // Clear when other (second) counter is started (only if available)
#define CCNTCLR3      0x3000 // Reserved

#define GCC_NONE      0x0000 // No clock control
#define GCC_STANDARD  0x0001 // Standard clock control
#define GCC_EXTENDED  0x0002 // Extended clock control

#endif