3 – single step operation (trace), Ds4830a user’s guide – Maxim Integrated DS4830A Optical Microcontroller User Manual

Page 173

Advertising
background image

DS4830A User’s Guide

173

Table 21-4: Output from Read Register Map Command

WO

RD

REGISTER

WO

RD

REGISTER

WO

RD

REGISTER

WORD

REGISTER

WORD

REGISTER

WORD

REGISTER

WO

RD

REGISTER

0

PO2

32

64

96

MCNT

128

ADCN

160

192

A[3]

1

PO1

33

I2CST_M

65

I2CST_S

97

MA

129

SENR

161

QTCN

193

A[4]

2

PO0

34

I2CIE_M

66

MPNTR

98

MB

130

ADST

162

LTIL

194

A[5]

3

EIF2

35

PO6

67

I2CTXFST

99

MC2

131

ADST1

163

HTIL

195

A6[]

4

EIF1

36

CRC8IN

68

I2CTXFIE

100

MC1

132

164

196

A[7]

5

EIF0

37

MIIR1

69

I2CRXFST

101

MC0

133

165

197

A[8]

6

GTV1

38

EIF6

70

I2CRXFIE

102

GTCN2

134

DADDR

166

PWMCN

198

A[9]

7

GTCN1

39

EIE6

71

I2CST2_S

103

SHFT

135

MIIR4

167

PWMSYNC

199

A[10]

8

PI2

40

PI6

72

RPNTR

104

MC1R

136

TEMPCN

168

LTIH

200

A[11]

9

PI1

41

SVM

73

105

MC0R

137

SHCN

169

HTIH

201

A[12]

10

PI0

42

-

74

106

GTC2

138

ADMIS

170

QTLST

202

A[13]

11

GTC1

43

-

75

107

GTV2

139

PINSEL

171

203

A[14]

12

44

I2CCN_M

76

I2CSLA_S

108

GR_REG1

140

REFAVG

172

204

A[15]

13

EIE2

45

I2CCK_M

77

I2CSLA2_S

109

GR_REG2

141

173

205

IP

14

EIE1

46

I2CTO_M

78

I2CSLA3_S

110

MACRSEL

142

TWR

174

MIIR5

206

SP

15

EIE0

47

I2CSLA_M

79

I2CSLA4_S

111

USER_INT

143

RPCFG

175

207

IV

16

PD2

48

EIES6

80

I2CIE2_S

112

GR_REG3

144

SPICN_S

176

208

LC[0]

17

PD1

49

PD6

81

MADDR

113

GR_REG4

145

SPICF_S

177

209

LC[1]

18

PD0

50

82

MADDR2

114

GR_REG5

146

SPICK_S

178

SPICN_M

210

OFFS

19

EIES2

51

83

MADDR3

115

GR_REG6

147

I2C_SPB

179

SPICF_M

211

DPC

20

EIES1

52

84

MADDR4

116

GR_REG7

148

DEV_NUM

180

SPICK_M

212

GR

21

EIES0

53

CRC8OUT

85

CUR_SLA

117

GR_REG8

149

DACD0

181

213

BP

22

54

86

I2CIE_S

118

GR_REG9

150

DACD1

182

214

DP[0]

23

55

ADCG1

87

119

GR_REG10

151

DACD2

183

215

DP[1]

24

56

ADCG2

88

ICDT0

120

GR_REG11

152

DACD3

184

AP

APC

25

57

ADVOFF

89

ICDT1

121

GR_REG12

153

DACD4

185

PSF

IC

26

58

90

ICDC

122

GR_REG13

154

DACD5

186

IMR

SC

27

59

ADCG3

91

ICDF

123

GR_REG14

155

DACD6

187

IIR

CKCN

28

60

ADCG4

92

ICDB

124

GR_REG15

156

DACD7

188

WDCN

0

29

61

CHIPREV

93

ICDA

125

GR_REG16

157

DACCFG

189

A[0]

30

62

ICSLA2_M

94

ICDD

126

158

ADADDR

190

A[1]

31

63

95

127

159

191

A[2]

21.2.3 – Single Step Operation (Trace)
The debug engine supports single step operation in debug mode by executing a Trace command from the host. The
debug engine allows the CPU to return to its normal program execution for one cycle and then forces a debug mode
re-entry. The steps for the Trace command are:

1) Set status to 10b (debug-busy)
2) Pop the return address from the stack
3) Set the IGE bit to logic 1 if debug mode was activated when IGE=1.
4) Supply the CPU with an instruction addressed by the return address
5) Stall the CPU at the end of the instruction execution
6) Block the next instruction fetch from program memory
7) Push the return address onto the stack
8) Set the contents of IP to x8010h
9) Clear the IGE bit to 0 to disable the interrupt handler
10) Halt CPU operation
11) Set the status to debug-idle


Note that the trace operation uses a return address from the stack as a legitimate address for program fetching. The
host must maintain consistency of program flow during the debug process. The Instruction Pointer is automatically
incremented after each trace operation, thus a new return address will be pushed onto the stack before returning the
control to the debug engine. Also, note that the interrupt handler is an essential part of the CPU and a pending
interrupt could be granted during single step operation since the IGE bit state present on debug mode entry is
restored for the single step.

Advertising