@@ -61,7 +61,9 @@ void __wrap_z_arm_fault(uint32_t msp, uint32_t psp, uint32_t exc_return,
6161 // register capture disable is a very small size optimization, and logs are
6262 // likely not used on devices with space constraints.
6363 LOG_PANIC ();
64+ #if !defined(CONFIG_LOG_MODE_MINIMAL )
6465 memfault_zephyr_log_backend_disable ();
66+ #endif
6567 #endif
6668
6769 memfault_coredump_cache_fault_regs ();
@@ -149,26 +151,49 @@ static eMemfaultRebootReason prv_zephyr_to_memfault_reboot_reason(uint32_t reset
149151}
150152 #endif // CONFIG_HWINFO
151153
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+
152177// This can be overridden by the application to set a custom device ID
153178MEMFAULT_WEAK const char * memfault_zephyr_get_device_id (void ) {
154179 uint8_t dev_id [16 ] = { 0 };
155180 static char dev_id_str [sizeof (dev_id ) * 2 + 1 ];
156181 static const char * dev_str = "UNKNOWN" ;
157182
158- // Obtain the device id
159- #if defined(CONFIG_HWINFO )
183+ // Obtain the device id
184+ #if defined(CONFIG_HWINFO )
160185 ssize_t length = hwinfo_get_device_id (dev_id , sizeof (dev_id ));
161- #else
186+ #else
162187 ssize_t length = 0 ;
163- #endif
188+ #endif
164189
165190 // If hwinfo_get_device_id() fails or isn't enabled, use a fallback string
166191 if (length <= 0 ) {
167- #if defined(CONFIG_SOC )
192+ #if defined(CONFIG_SOC )
168193 dev_str = CONFIG_SOC "-testserial" ;
169- #else
194+ #else
170195 dev_str = "testserial" ;
171- #endif
196+ #endif
172197 length = strlen (dev_str );
173198 } else {
174199 // Render the obtained serial number in hexadecimal representation
@@ -190,29 +215,6 @@ MEMFAULT_WEAK void memfault_platform_get_device_info(sMemfaultDeviceInfo *info)
190215 };
191216}
192217
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-
216218// Note: the function signature has changed here across zephyr releases
217219// "struct device *dev" -> "const struct device *dev"
218220//
0 commit comments