summaryrefslogtreecommitdiff
path: root/src/target/armv4_5.c
diff options
context:
space:
mode:
authordrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-11 14:25:12 +0000
committerdrath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2007-04-11 14:25:12 +0000
commita48a5e6d94dc98cf69d15be133ae7b8283126bbe (patch)
treec1c3fda3f64a7d47af5591c4f96f55a83d47b2a7 /src/target/armv4_5.c
parent98da554bbd560fa5af0c639140fe34e211bf38da (diff)
downloadopenocd_libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.tar.gz
openocd_libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.tar.bz2
openocd_libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.tar.xz
openocd_libswd-a48a5e6d94dc98cf69d15be133ae7b8283126bbe.zip
- 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
Diffstat (limited to 'src/target/armv4_5.c')
-rw-r--r--src/target/armv4_5.c7
1 files changed, 7 insertions, 0 deletions
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);