projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
target/arc: Introduce Actionpoints support
[fw/openocd]
/
src
/
target
/
arm9tdmi.c
diff --git
a/src/target/arm9tdmi.c
b/src/target/arm9tdmi.c
index c468282bc8e9503c5935dc8830fa48b3ec07f0c1..6ab06edf946757fb11e561ddd99bee20d06595c0 100644
(file)
--- a/
src/target/arm9tdmi.c
+++ b/
src/target/arm9tdmi.c
@@
-19,9
+19,7
@@
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the *
- * Free Software Foundation, Inc., *
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
+ * along with this program. If not, see <http://www.gnu.org/licenses/>. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
***************************************************************************/
#ifdef HAVE_CONFIG_H
@@
-32,6
+30,7
@@
#include "target_type.h"
#include "register.h"
#include "arm_opcodes.h"
#include "target_type.h"
#include "register.h"
#include "arm_opcodes.h"
+#include "arm_semihosting.h"
/*
* NOTE: this holds code that's used with multiple ARM9 processors:
/*
* NOTE: this holds code that's used with multiple ARM9 processors:
@@
-100,7
+99,7
@@
int arm9tdmi_examine_debug_reason(struct target *target)
retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1, TAP_DRPAUSE);
if (retval != ERROR_OK)
return retval;
retval = arm_jtag_scann(&arm7_9->jtag_info, 0x1, TAP_DRPAUSE);
if (retval != ERROR_OK)
return retval;
- retval = arm_jtag_set_instr(
&arm7_9->jtag_info
, arm7_9->jtag_info.intest_instr, NULL, TAP_DRPAUSE);
+ retval = arm_jtag_set_instr(
arm7_9->jtag_info.tap
, arm7_9->jtag_info.intest_instr, NULL, TAP_DRPAUSE);
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
@@
-154,7
+153,7
@@
int arm9tdmi_clock_out(struct arm_jtag *jtag_info, uint32_t instr,
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
- retval = arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_DRPAUSE);
+ retval = arm_jtag_set_instr(jtag_info
->tap
, jtag_info->intest_instr, NULL, TAP_DRPAUSE);
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
@@
-206,7
+205,7
@@
int arm9tdmi_clock_data_in(struct arm_jtag *jtag_info, uint32_t *in)
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
- retval = arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_DRPAUSE);
+ retval = arm_jtag_set_instr(jtag_info
->tap
, jtag_info->intest_instr, NULL, TAP_DRPAUSE);
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
@@
-258,7
+257,7
@@
int arm9tdmi_clock_data_in_endianness(struct arm_jtag *jtag_info,
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
- retval = arm_jtag_set_instr(jtag_info, jtag_info->intest_instr, NULL, TAP_DRPAUSE);
+ retval = arm_jtag_set_instr(jtag_info
->tap
, jtag_info->intest_instr, NULL, TAP_DRPAUSE);
if (retval != ERROR_OK)
return retval;
if (retval != ERROR_OK)
return retval;
@@
-716,6
+715,7
@@
int arm9tdmi_init_target(struct command_context *cmd_ctx,
struct target *target)
{
arm9tdmi_build_reg_cache(target);
struct target *target)
{
arm9tdmi_build_reg_cache(target);
+ arm_semihosting_init(target);
return ERROR_OK;
}
return ERROR_OK;
}
@@
-752,6
+752,9
@@
int arm9tdmi_init_arch_info(struct target *target,
arm7_9->enable_single_step = arm9tdmi_enable_single_step;
arm7_9->disable_single_step = arm9tdmi_disable_single_step;
arm7_9->enable_single_step = arm9tdmi_enable_single_step;
arm7_9->disable_single_step = arm9tdmi_disable_single_step;
+ arm7_9->write_memory = arm7_9_write_memory;
+ arm7_9->bulk_write_memory = arm7_9_bulk_write_memory;
+
arm7_9->post_debug_entry = NULL;
arm7_9->pre_restore_context = NULL;
arm7_9->post_debug_entry = NULL;
arm7_9->pre_restore_context = NULL;
@@
-798,7
+801,7
@@
COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command)
/* it's uncommon, but some ARM7 chips can support this */
if (arm7_9->common_magic != ARM7_9_COMMON_MAGIC
|| !arm7_9->has_vector_catch) {
/* it's uncommon, but some ARM7 chips can support this */
if (arm7_9->common_magic != ARM7_9_COMMON_MAGIC
|| !arm7_9->has_vector_catch) {
- command_print(CMD
_CTX
, "target doesn't have EmbeddedICE "
+ command_print(CMD, "target doesn't have EmbeddedICE "
"with vector_catch");
return ERROR_TARGET_INVALID;
}
"with vector_catch");
return ERROR_TARGET_INVALID;
}
@@
-831,7
+834,7
@@
COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command)
/* complain if vector wasn't found */
if (!arm9tdmi_vectors[j].name) {
/* complain if vector wasn't found */
if (!arm9tdmi_vectors[j].name) {
- command_print(CMD
_CTX
, "vector '%s' not found, leaving current setting unchanged", CMD_ARGV[i]);
+ command_print(CMD, "vector '%s' not found, leaving current setting unchanged", CMD_ARGV[i]);
/* reread current setting */
vector_catch_value = buf_get_u32(
/* reread current setting */
vector_catch_value = buf_get_u32(
@@
-849,7
+852,7
@@
COMMAND_HANDLER(handle_arm9tdmi_catch_vectors_command)
/* output current settings */
for (unsigned i = 0; arm9tdmi_vectors[i].name; i++) {
/* output current settings */
for (unsigned i = 0; arm9tdmi_vectors[i].name; i++) {
- command_print(CMD
_CTX
, "%s: %s", arm9tdmi_vectors[i].name,
+ command_print(CMD, "%s: %s", arm9tdmi_vectors[i].name,
(vector_catch_value & arm9tdmi_vectors[i].value)
? "catch" : "don't catch");
}
(vector_catch_value & arm9tdmi_vectors[i].value)
? "catch" : "don't catch");
}
@@
-899,11
+902,11
@@
struct target_type arm9tdmi_target = {
.deassert_reset = arm7_9_deassert_reset,
.soft_reset_halt = arm7_9_soft_reset_halt,
.deassert_reset = arm7_9_deassert_reset,
.soft_reset_halt = arm7_9_soft_reset_halt,
+ .get_gdb_arch = arm_get_gdb_arch,
.get_gdb_reg_list = arm_get_gdb_reg_list,
.read_memory = arm7_9_read_memory,
.get_gdb_reg_list = arm_get_gdb_reg_list,
.read_memory = arm7_9_read_memory,
- .write_memory = arm7_9_write_memory,
- .bulk_write_memory = arm7_9_bulk_write_memory,
+ .write_memory = arm7_9_write_memory_opt,
.checksum_memory = arm_checksum_memory,
.blank_check_memory = arm_blank_check_memory,
.checksum_memory = arm_checksum_memory,
.blank_check_memory = arm_blank_check_memory,