diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index ea94f1242..0f46ed7fc 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -2297,6 +2297,13 @@ void cortex_m_enable_watchpoints(struct target *target) } } +static bool cortex_m_memory_ready(struct target *target) +{ + struct armv7m_common *armv7m = target_to_armv7m(target); + + return armv7m->debug_ap; +} + static int cortex_m_read_memory(struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer) { @@ -2799,8 +2806,6 @@ int cortex_m_examine(struct target *target) } if (!target_was_examined(target)) { - target_set_examined(target); - /* Read from Device Identification Registers */ retval = target_read_u32(target, CPUID, &cpuid); if (retval != ERROR_OK) @@ -3461,6 +3466,7 @@ struct target_type cortexm_target = { .get_gdb_arch = arm_get_gdb_arch, .get_gdb_reg_list = armv7m_get_gdb_reg_list, + .memory_ready = cortex_m_memory_ready, .read_memory = cortex_m_read_memory, .write_memory = cortex_m_write_memory, .checksum_memory = armv7m_checksum_memory, diff --git a/src/target/hla_target.c b/src/target/hla_target.c index 983cd8739..2fc94790d 100644 --- a/src/target/hla_target.c +++ b/src/target/hla_target.c @@ -619,6 +619,11 @@ static int adapter_write_memory(struct target *target, target_addr_t address, return adapter->layout->api->write_mem(adapter->handle, address, size, count, buffer); } +static bool adapter_memory_ready(struct target *target) +{ + return true; +} + static const struct command_registration hla_command_handlers[] = { { .chain = arm_command_handlers, @@ -661,6 +666,7 @@ struct target_type hla_target = { .get_gdb_arch = arm_get_gdb_arch, .get_gdb_reg_list = armv7m_get_gdb_reg_list, + .memory_ready = adapter_memory_ready, .read_memory = adapter_read_memory, .write_memory = adapter_write_memory, .checksum_memory = armv7m_checksum_memory,