@@ -66,23 +66,38 @@ class Protectedmem(c.LittleEndianStructure):
66
66
]
67
67
68
68
69
- class Recovery (c .LittleEndianStructure ):
69
+ class Wdtstart (c .LittleEndianStructure ):
70
70
_pack_ = 1
71
71
_fields_ = [
72
72
("ENABLE" , c .c_uint32 ),
73
- ("PROCESSOR" , c .c_uint32 ),
74
- ("INITSVTOR" , c .c_uint32 ),
75
- ("SIZE4KB" , c .c_uint32 ),
73
+ ("INSTANCE" , c .c_uint32 ),
74
+ ("CRV" , c .c_uint32 ),
75
+ ]
76
+
77
+
78
+ class SecurestorageCrypto (c .LittleEndianStructure ):
79
+ _pack_ = 1
80
+ _fields_ = [
81
+ ("APPLICATIONSIZE1KB" , c .c_uint32 ),
82
+ ("RADIOCORESIZE1KB" , c .c_uint32 ),
76
83
]
77
84
78
85
79
- class Its (c .LittleEndianStructure ):
86
+ class SecurestorageIts (c .LittleEndianStructure ):
87
+ _pack_ = 1
88
+ _fields_ = [
89
+ ("APPLICATIONSIZE1KB" , c .c_uint32 ),
90
+ ("RADIOCORESIZE1KB" , c .c_uint32 ),
91
+ ]
92
+
93
+
94
+ class Securestorage (c .LittleEndianStructure ):
80
95
_pack_ = 1
81
96
_fields_ = [
82
97
("ENABLE" , c .c_uint32 ),
83
98
("ADDRESS" , c .c_uint32 ),
84
- ("APPLICATIONSIZE " , c . c_uint32 ),
85
- ("RADIOCORESIZE " , c . c_uint32 ),
99
+ ("CRYPTO " , SecurestorageCrypto ),
100
+ ("ITS " , SecurestorageIts ),
86
101
]
87
102
88
103
@@ -104,6 +119,64 @@ class Mpcconf(c.LittleEndianStructure):
104
119
]
105
120
106
121
122
+ class SecondaryTrigger (c .LittleEndianStructure ):
123
+ _pack_ = 1
124
+ _fields_ = [
125
+ ("ENABLE" , c .c_uint32 ),
126
+ ("RESETREAS" , c .c_uint32 ),
127
+ ("RESERVED" , c .c_uint32 ),
128
+ ]
129
+
130
+
131
+ class SecondaryProtectedmem (c .LittleEndianStructure ):
132
+ _pack_ = 1
133
+ _fields_ = [
134
+ ("ENABLE" , c .c_uint32 ),
135
+ ("SIZE4KB" , c .c_uint32 ),
136
+ ]
137
+
138
+
139
+ class SecondaryWdtstart (c .LittleEndianStructure ):
140
+ _pack_ = 1
141
+ _fields_ = [
142
+ ("ENABLE" , c .c_uint32 ),
143
+ ("INSTANCE" , c .c_uint32 ),
144
+ ("CRV" , c .c_uint32 ),
145
+ ]
146
+
147
+
148
+ class SecondaryPeriphconf (c .LittleEndianStructure ):
149
+ _pack_ = 1
150
+ _fields_ = [
151
+ ("ENABLE" , c .c_uint32 ),
152
+ ("ADDRESS" , c .c_uint32 ),
153
+ ("MAXCOUNT" , c .c_uint32 ),
154
+ ]
155
+
156
+
157
+ class SecondaryMpcconf (c .LittleEndianStructure ):
158
+ _pack_ = 1
159
+ _fields_ = [
160
+ ("ENABLE" , c .c_uint32 ),
161
+ ("ADDRESS" , c .c_uint32 ),
162
+ ("MAXCOUNT" , c .c_uint32 ),
163
+ ]
164
+
165
+
166
+ class Secondary (c .LittleEndianStructure ):
167
+ _pack_ = 1
168
+ _fields_ = [
169
+ ("ENABLE" , c .c_uint32 ),
170
+ ("PROCESSOR" , c .c_uint32 ),
171
+ ("TRIGGER" , SecondaryTrigger ),
172
+ ("ADDRESS" , c .c_uint32 ),
173
+ ("PROTECTEDMEM" , SecondaryProtectedmem ),
174
+ ("WDTSTART" , SecondaryWdtstart ),
175
+ ("PERIPHCONF" , SecondaryPeriphconf ),
176
+ ("MPCCONF" , SecondaryMpcconf ),
177
+ ]
178
+
179
+
107
180
class Uicr (c .LittleEndianStructure ):
108
181
_pack_ = 1
109
182
_fields_ = [
@@ -114,11 +187,14 @@ class Uicr(c.LittleEndianStructure):
114
187
("APPROTECT" , Approtect ),
115
188
("ERASEPROTECT" , c .c_uint32 ),
116
189
("PROTECTEDMEM" , Protectedmem ),
117
- ("RECOVERY" , Recovery ),
118
- ("ITS" , Its ),
119
- ("RESERVED2" , c .c_uint32 * 7 ),
190
+ ("WDTSTART" , Wdtstart ),
191
+ ("RESERVED2" , c .c_uint32 ),
192
+ ("SECURESTORAGE" , Securestorage ),
193
+ ("RESERVED3" , c .c_uint32 * 5 ),
120
194
("PERIPHCONF" , Periphconf ),
121
195
("MPCCONF" , Mpcconf ),
196
+ ("SECONDARY" , Secondary ),
197
+ ("PADDING" , c .c_uint32 * 15 ),
122
198
]
123
199
124
200
0 commit comments