From a48a5e6d94dc98cf69d15be133ae7b8283126bbe Mon Sep 17 00:00:00 2001 From: drath Date: Wed, 11 Apr 2007 14:25:12 +0000 Subject: - disabled excessive debug output in jtag.h - output all of EmbeddedICE version register in error message - update OpenOCD's idea of the current core mode, and immediately change core mode, on CPSR changes - added support for CFI cmdset 0002 (patch by Andrew Dyer, thanks a lot) - enhanced CFI cmdset 0002 support to Atmel AT49 flashes (thanks to Joerg Krein for providing test hardware) git-svn-id: svn://svn.berlios.de/openocd/trunk@138 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/target/armv4_5.c | 7 +++++++ src/target/embeddedice.c | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'src/target') diff --git a/src/target/armv4_5.c b/src/target/armv4_5.c index dc42d1c0..2d73a534 100644 --- a/src/target/armv4_5.c +++ b/src/target/armv4_5.c @@ -257,6 +257,13 @@ int armv4_5_set_core_reg(reg_t *reg, u8 *buf) armv4_5_target->core_state = ARMV4_5_STATE_ARM; } } + + if (armv4_5_target->core_mode != (value & 0x1f)) + { + DEBUG("changing ARM core mode to '%s'", armv4_5_mode_strings[armv4_5_mode_to_number(value & 0x1f)]); + armv4_5_target->core_mode = value & 0x1f; + armv4_5_target->write_core_reg(target, 16, ARMV4_5_MODE_ANY, value); + } } buf_set_u32(reg->value, 0, 32, value); diff --git a/src/target/embeddedice.c b/src/target/embeddedice.c index b7e14b61..699aa96f 100644 --- a/src/target/embeddedice.c +++ b/src/target/embeddedice.c @@ -178,7 +178,7 @@ reg_cache_t* embeddedice_build_reg_cache(target_t *target, arm7_9_common_t *arm7 arm7_9->has_monitor_mode = 1; break; default: - ERROR("unknown EmbeddedICE version (comms ctrl: 0x%4.4x)", buf_get_u32(reg_list[EICE_COMMS_CTRL].value, 0, 32)); + ERROR("unknown EmbeddedICE version (comms ctrl: 0x%8.8x)", buf_get_u32(reg_list[EICE_COMMS_CTRL].value, 0, 32)); } return reg_cache; -- cgit v1.2.3