crash_analyzer: improve the assert case
Detecting PC in case of assert (cause 3) from r3
BRANCH=none
TEST=manually on redrix crash reports
Code-Coverage: Zoss
@@ -124,6 +124,11 @@ def cm0_parse(match) -> dict:
regs["ipsr"] = values[22]
regs["cause"] = get_crash_cause(values[6]) # r4
+
+ # based on crash reports in case of asserrt the PC is in R3
+ if regs["cause"] == "assert":
+ regs["symbol"] = get_symbol(values[5]) # r3
+ else:
# Heuristics: try link register, then PC, then what is believed to be PC.
# When analyzing watchdogs, we try to be as close as possible to the caller
# function that caused the watchdog.
