From 5577f709b00e14e5abe13d18199af9a86481a5e8 Mon Sep 17 00:00:00 2001 From: Erhan Kurubas Date: Fri, 25 Aug 2023 17:37:37 +0200 Subject: [PATCH] fix(breakpoint): fix bp/wp logic when debugger is connected --- components/esp_hw_support/cpu.c | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/components/esp_hw_support/cpu.c b/components/esp_hw_support/cpu.c index ee4c722cd2..cfce84e550 100644 --- a/components/esp_hw_support/cpu.c +++ b/components/esp_hw_support/cpu.c @@ -539,8 +539,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; } @@ -561,8 +562,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; } @@ -594,8 +596,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; } @@ -616,8 +619,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; }