From 1c27df81898ae83ac470456398c022ffacc4805c 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 c3b7dd4121..b9bb784513 100644 --- a/components/esp_hw_support/cpu.c +++ b/components/esp_hw_support/cpu.c @@ -310,8 +310,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; } @@ -332,8 +333,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; } @@ -365,8 +367,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; } @@ -387,8 +390,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; }