summaryrefslogtreecommitdiff
path: root/src/target/arm9tdmi.c
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-08-18 10:22:44 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-08-18 10:22:44 +0000
commita4c7e2dd965cad904b0ccedc9a8989f87173fb43 (patch)
tree46164440cd88514e710413cb85701e0815d710fb /src/target/arm9tdmi.c
parent5badd9b29a40becea82c45c805e91fda49a6d560 (diff)
downloadopenocd_libswd-a4c7e2dd965cad904b0ccedc9a8989f87173fb43.tar.gz
openocd_libswd-a4c7e2dd965cad904b0ccedc9a8989f87173fb43.tar.bz2
openocd_libswd-a4c7e2dd965cad904b0ccedc9a8989f87173fb43.tar.xz
openocd_libswd-a4c7e2dd965cad904b0ccedc9a8989f87173fb43.zip
David Brownell <david-b@pacbell.net> Clean up ARM7/ARM9 EmbeddedICE register handling ... don't use parallel
arrays (error prone) or assume all registers are 32-bits wide (they can have fewer bits); don't use spaces in register names, so they can be passed more easily to the "reg" command. Minor updates for ARM9 vector_catch support: it's an 8-bit value. This seems to help this core's vector_catch command work a bit better; but its behavior wih the register cache is still goofy. git-svn-id: svn://svn.berlios.de/openocd/trunk@2587 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src/target/arm9tdmi.c')
-rw-r--r--src/target/arm9tdmi.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/target/arm9tdmi.c b/src/target/arm9tdmi.c
index 6e5a9605..8cbc3423 100644
--- a/src/target/arm9tdmi.c
+++ b/src/target/arm9tdmi.c
@@ -995,7 +995,7 @@ int handle_arm9tdmi_catch_vectors_command(struct command_context_s *cmd_ctx, cha
embeddedice_read_reg(vector_catch);
/* get the current setting */
- vector_catch_value = buf_get_u32(vector_catch->value, 0, 32);
+ vector_catch_value = buf_get_u32(vector_catch->value, 0, 8);
if (argc > 0)
{
@@ -1028,7 +1028,9 @@ int handle_arm9tdmi_catch_vectors_command(struct command_context_s *cmd_ctx, cha
command_print(cmd_ctx, "vector '%s' not found, leaving current setting unchanged", args[i]);
/* reread current setting */
- vector_catch_value = buf_get_u32(vector_catch->value, 0, 32);
+ vector_catch_value = buf_get_u32(
+ vector_catch->value,
+ 0, 8);
break;
}
@@ -1036,7 +1038,7 @@ int handle_arm9tdmi_catch_vectors_command(struct command_context_s *cmd_ctx, cha
}
/* store new settings */
- buf_set_u32(vector_catch->value, 0, 32, vector_catch_value);
+ buf_set_u32(vector_catch->value, 0, 8, vector_catch_value);
embeddedice_store_reg(vector_catch);
}