commands: Added COMM_BM_HALT_REQ

Command added for being able to halt the CPU while connected via
blackmagic probe.
This commit is contained in:
rodale75 2021-04-23 15:58:24 +02:00
parent 1713eb4215
commit b01930d586
4 changed files with 24 additions and 2 deletions

View File

@ -577,6 +577,16 @@ int bm_reboot(void) {
return ret;
}
/**
* Halt target execution.
*/
void bm_halt_req(void) {
if (cur_target) {
target_print_en = false;
target_halt_request(cur_target);
}
}
/**
* Leave debug mode of NRF5x device. Will reduce the sleep power consumption
* significantly.

View File

@ -31,6 +31,7 @@ int bm_erase_flash_all(void);
int bm_write_flash(uint32_t addr, const void *data, uint32_t len);
int bm_mem_read(uint32_t addr, void *data, uint32_t len);
int bm_reboot(void);
void bm_halt_req(void);
void bm_leave_nrf_debug_mode(void);
void bm_disconnect(void);
void bm_change_swd_pins(stm32_gpio_t *swdio_port, int swdio_pin,

View File

@ -1904,6 +1904,16 @@ static THD_FUNCTION(blocking_thread, arg) {
}
} break;
case COMM_BM_HALT_REQ: {
bm_halt_req();
int32_t ind = 0;
send_buffer[ind++] = packet_id;
if (send_func_blocking) {
send_func_blocking(send_buffer, ind);
}
} break;
case COMM_BM_DISCONNECT: {
bm_disconnect();
bm_leave_nrf_debug_mode();

View File

@ -968,6 +968,7 @@ typedef enum {
COMM_BMS_FWD_CAN_RX,
COMM_BMS_HW_DATA,
COMM_GET_BATTERY_CUT,
COMM_BM_HALT_REQ,
} COMM_PACKET_ID;
// CAN commands