@@ -61,7 +61,9 @@ void __wrap_z_arm_fault(uint32_t msp, uint32_t psp, uint32_t exc_return,
61
61
// register capture disable is a very small size optimization, and logs are
62
62
// likely not used on devices with space constraints.
63
63
LOG_PANIC ();
64
+ #if !defined(CONFIG_LOG_MODE_MINIMAL )
64
65
memfault_zephyr_log_backend_disable ();
66
+ #endif
65
67
#endif
66
68
67
69
memfault_coredump_cache_fault_regs ();
@@ -149,26 +151,49 @@ static eMemfaultRebootReason prv_zephyr_to_memfault_reboot_reason(uint32_t reset
149
151
}
150
152
#endif // CONFIG_HWINFO
151
153
154
+ MEMFAULT_WEAK void memfault_reboot_reason_get (sResetBootupInfo * info ) {
155
+ eMemfaultRebootReason reset_reason = kMfltRebootReason_Unknown ;
156
+ uint32_t reset_reason_reg = 0 ;
157
+ #if defined(CONFIG_HWINFO )
158
+ int rv = hwinfo_get_reset_cause (& reset_reason_reg );
159
+
160
+ if (rv == 0 ) {
161
+ reset_reason = prv_zephyr_to_memfault_reboot_reason (reset_reason_reg );
162
+ }
163
+
164
+ #endif
165
+
166
+ * info = (sResetBootupInfo ){
167
+ .reset_reason = reset_reason ,
168
+ .reset_reason_reg = reset_reason_reg ,
169
+ };
170
+ }
171
+ #endif
172
+
173
+ void memfault_zephyr_collect_reset_info (void ) {
174
+ memfault_reboot_tracking_collect_reset_info (s_memfault_event_storage );
175
+ }
176
+
152
177
// This can be overridden by the application to set a custom device ID
153
178
MEMFAULT_WEAK const char * memfault_zephyr_get_device_id (void ) {
154
179
uint8_t dev_id [16 ] = { 0 };
155
180
static char dev_id_str [sizeof (dev_id ) * 2 + 1 ];
156
181
static const char * dev_str = "UNKNOWN" ;
157
182
158
- // Obtain the device id
159
- #if defined(CONFIG_HWINFO )
183
+ // Obtain the device id
184
+ #if defined(CONFIG_HWINFO )
160
185
ssize_t length = hwinfo_get_device_id (dev_id , sizeof (dev_id ));
161
- #else
186
+ #else
162
187
ssize_t length = 0 ;
163
- #endif
188
+ #endif
164
189
165
190
// If hwinfo_get_device_id() fails or isn't enabled, use a fallback string
166
191
if (length <= 0 ) {
167
- #if defined(CONFIG_SOC )
192
+ #if defined(CONFIG_SOC )
168
193
dev_str = CONFIG_SOC "-testserial" ;
169
- #else
194
+ #else
170
195
dev_str = "testserial" ;
171
- #endif
196
+ #endif
172
197
length = strlen (dev_str );
173
198
} else {
174
199
// Render the obtained serial number in hexadecimal representation
@@ -190,29 +215,6 @@ MEMFAULT_WEAK void memfault_platform_get_device_info(sMemfaultDeviceInfo *info)
190
215
};
191
216
}
192
217
193
- MEMFAULT_WEAK void memfault_reboot_reason_get (sResetBootupInfo * info ) {
194
- eMemfaultRebootReason reset_reason = kMfltRebootReason_Unknown ;
195
- uint32_t reset_reason_reg = 0 ;
196
- #if defined(CONFIG_HWINFO )
197
- int rv = hwinfo_get_reset_cause (& reset_reason_reg );
198
-
199
- if (rv == 0 ) {
200
- reset_reason = prv_zephyr_to_memfault_reboot_reason (reset_reason_reg );
201
- }
202
-
203
- #endif
204
-
205
- * info = (sResetBootupInfo ){
206
- .reset_reason = reset_reason ,
207
- .reset_reason_reg = reset_reason_reg ,
208
- };
209
- }
210
- #endif
211
-
212
- void memfault_zephyr_collect_reset_info (void ) {
213
- memfault_reboot_tracking_collect_reset_info (s_memfault_event_storage );
214
- }
215
-
216
218
// Note: the function signature has changed here across zephyr releases
217
219
// "struct device *dev" -> "const struct device *dev"
218
220
//
0 commit comments