diff options
author | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-04-26 14:41:27 +0000 |
---|---|---|
committer | drath <drath@b42882b7-edfa-0310-969c-e2dbd0fdcd60> | 2007-04-26 14:41:27 +0000 |
commit | 2f7eca470778c8b3ba3da698206f69e27c67e54b (patch) | |
tree | e8ce158b0bd1c74dae061bd5dafee60a699b04c8 /src/target/arm966e.c | |
parent | 22bc5194ae101282cf5c30d681d7f4720bec2534 (diff) |
- improved ETB trace output
- use BKPT instruction on cores supporting it (ARM926EJ-S, ARM966E-S)
- correctly handle endianness of software breakpoint instruction
git-svn-id: svn://svn.berlios.de/openocd/trunk@143 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/arm966e.c')
-rw-r--r-- | src/target/arm966e.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/target/arm966e.c b/src/target/arm966e.c index 917fc4a4..01d01d75 100644 --- a/src/target/arm966e.c +++ b/src/target/arm966e.c @@ -171,12 +171,22 @@ int arm966e_quit(void) int arm966e_init_arch_info(target_t *target, arm966e_common_t *arm966e, int chain_pos, char *variant) { arm9tdmi_common_t *arm9tdmi = &arm966e->arm9tdmi_common; + arm7_9_common_t *arm7_9 = &arm9tdmi->arm7_9_common; arm9tdmi_init_arch_info(target, arm9tdmi, chain_pos, variant); arm9tdmi->arch_info = arm966e; arm966e->common_magic = ARM966E_COMMON_MAGIC; + /* The ARM966E-S implements the ARMv5TE architecture which + * has the BKPT instruction, so we don't have to use a watchpoint comparator + */ + arm7_9->arm_bkpt = ARMV5_BKPT(0x0); + arm7_9->thumb_bkpt = ARMV5_T_BKPT(0x0) & 0xffff; + + arm7_9->sw_bkpts_use_wp = 0; + arm7_9->sw_bkpts_enabled = 1; + return ERROR_OK; } |