Explorar o código

Merge branch 'fix/bp_wp_in_panic' into 'master'

Fix bp/wp logic when debugger is connected

See merge request espressif/esp-idf!25582
Erhan Kurubas %!s(int64=2) %!d(string=hai) anos
pai
achega
f0fba3fc4c
Modificáronse 1 ficheiros con 12 adicións e 8 borrados
  1. 12 8
      components/esp_hw_support/cpu.c

+ 12 - 8
components/esp_hw_support/cpu.c

@@ -338,8 +338,9 @@ esp_err_t esp_cpu_set_breakpoint(int bp_num, const void *bp_addr)
         if (ret == 0) {
             return ESP_ERR_INVALID_RESPONSE;
         }
-    }
-    rv_utils_set_breakpoint(bp_num, (uint32_t)bp_addr);
+    } else {
+        rv_utils_set_breakpoint(bp_num, (uint32_t)bp_addr);
+	}
 #endif // __XTENSA__
     return ESP_OK;
 }
@@ -360,8 +361,9 @@ esp_err_t esp_cpu_clear_breakpoint(int bp_num)
         if (ret == 0) {
             return ESP_ERR_INVALID_RESPONSE;
         }
-    }
-    rv_utils_clear_breakpoint(bp_num);
+    } else {
+        rv_utils_clear_breakpoint(bp_num);
+	}
 #endif // __XTENSA__
     return ESP_OK;
 }
@@ -393,8 +395,9 @@ esp_err_t esp_cpu_set_watchpoint(int wp_num, const void *wp_addr, size_t size, e
         if (ret == 0) {
             return ESP_ERR_INVALID_RESPONSE;
         }
-    }
-    rv_utils_set_watchpoint(wp_num, (uint32_t)wp_addr, size, on_read, on_write);
+    } else {
+        rv_utils_set_watchpoint(wp_num, (uint32_t)wp_addr, size, on_read, on_write);
+	}
 #endif // __XTENSA__
     return ESP_OK;
 }
@@ -415,8 +418,9 @@ esp_err_t esp_cpu_clear_watchpoint(int wp_num)
         if (ret == 0) {
             return ESP_ERR_INVALID_RESPONSE;
         }
-    }
-    rv_utils_clear_watchpoint(wp_num);
+    } else {
+        rv_utils_clear_watchpoint(wp_num);
+	}
 #endif // __XTENSA__
     return ESP_OK;
 }