X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Farm966e.c;h=badcd4f226158e839adffbe70c00ddf216399567;hb=016e7ebbfa034926c980b4b33b964f6078541690;hp=758b5f11cd37e6adcec40ba1fcfbbc9c9a500d43;hpb=64e5467ca735a091e08b8ec6e028ec2ab5e530cb;p=openocd.git diff --git a/src/target/arm966e.c b/src/target/arm966e.c index 758b5f11cd..badcd4f226 100644 --- a/src/target/arm966e.c +++ b/src/target/arm966e.c @@ -25,26 +25,13 @@ #endif #include "arm966e.h" +#include "target_type.h" -#include "arm7_9_common.h" -#include "register.h" -#include "target.h" -#include "armv4_5.h" -#include "embeddedice.h" -#include "log.h" -#include "jtag.h" -#include "arm_jtag.h" - -#include -#include #if 0 #define _DEBUG_INSTRUCTION_EXECUTION_ #endif -/* cli handling */ -int arm966e_register_commands(struct command_context_s *cmd_ctx); - /* forward declarations */ int arm966e_target_create(struct target_s *target, Jim_Interp *interp); int arm966e_init_target(struct command_context_s *cmd_ctx, struct target_s *target); @@ -120,7 +107,7 @@ int arm966e_init_arch_info(target_t *target, arm966e_common_t *arm966e, jtag_tap return ERROR_OK; } -int arm966e_target_create( struct target_s *target, Jim_Interp *interp ) +int arm966e_target_create(struct target_s *target, Jim_Interp *interp) { arm966e_common_t *arm966e = calloc(1,sizeof(arm966e_common_t)); @@ -167,17 +154,17 @@ int arm966e_get_arch_pointers(target_t *target, armv4_5_common_t **armv4_5_p, ar return ERROR_OK; } -int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value) +int arm966e_read_cp15(target_t *target, int reg_addr, uint32_t *value) { int retval = ERROR_OK; armv4_5_common_t *armv4_5 = target->arch_info; arm7_9_common_t *arm7_9 = armv4_5->arch_info; arm_jtag_t *jtag_info = &arm7_9->jtag_info; scan_field_t fields[3]; - u8 reg_addr_buf = reg_addr & 0x3f; - u8 nr_w_buf = 0; + uint8_t reg_addr_buf = reg_addr & 0x3f; + uint8_t nr_w_buf = 0; - jtag_add_end_state(TAP_IDLE); + jtag_set_end_state(TAP_IDLE); if ((retval = arm_jtag_scann(jtag_info, 0xf)) != ERROR_OK) { return retval; @@ -199,14 +186,13 @@ int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value) fields[2].out_value = &nr_w_buf; fields[2].in_value = NULL; - jtag_add_dr_scan(3, fields, TAP_INVALID); + jtag_add_dr_scan(3, fields, jtag_get_end_state()); - u8 tmp[4]; - fields[1].in_value = tmp; + fields[1].in_value = (uint8_t *)value; - jtag_add_dr_scan_now(3, fields, TAP_INVALID); + jtag_add_dr_scan(3, fields, jtag_get_end_state()); - *value=le_to_h_u32(tmp); + jtag_add_callback(arm_le_to_h_u32, (jtag_callback_data_t)value); #ifdef _DEBUG_INSTRUCTION_EXECUTION_ @@ -220,20 +206,20 @@ int arm966e_read_cp15(target_t *target, int reg_addr, u32 *value) return ERROR_OK; } -int arm966e_write_cp15(target_t *target, int reg_addr, u32 value) +int arm966e_write_cp15(target_t *target, int reg_addr, uint32_t value) { int retval = ERROR_OK; armv4_5_common_t *armv4_5 = target->arch_info; arm7_9_common_t *arm7_9 = armv4_5->arch_info; arm_jtag_t *jtag_info = &arm7_9->jtag_info; scan_field_t fields[3]; - u8 reg_addr_buf = reg_addr & 0x3f; - u8 nr_w_buf = 1; - u8 value_buf[4]; + uint8_t reg_addr_buf = reg_addr & 0x3f; + uint8_t nr_w_buf = 1; + uint8_t value_buf[4]; buf_set_u32(value_buf, 0, 32, value); - jtag_add_end_state(TAP_IDLE); + jtag_set_end_state(TAP_IDLE); if ((retval = arm_jtag_scann(jtag_info, 0xf)) != ERROR_OK) { return retval; @@ -255,7 +241,7 @@ int arm966e_write_cp15(target_t *target, int reg_addr, u32 value) fields[2].out_value = &nr_w_buf; fields[2].in_value = NULL; - jtag_add_dr_scan(3, fields, TAP_INVALID); + jtag_add_dr_scan(3, fields, jtag_get_end_state()); #ifdef _DEBUG_INSTRUCTION_EXECUTION_ LOG_DEBUG("addr: 0x%x value: %8.8x", reg_addr, value); @@ -295,7 +281,7 @@ int arm966e_handle_cp15_command(struct command_context_s *cmd_ctx, char *cmd, ch if (argc == 1) { - u32 value; + uint32_t value; if ((retval = arm966e_read_cp15(target, address, &value)) != ERROR_OK) { command_print(cmd_ctx, "couldn't access reg %i", address); @@ -306,17 +292,17 @@ int arm966e_handle_cp15_command(struct command_context_s *cmd_ctx, char *cmd, ch return retval; } - command_print(cmd_ctx, "%i: %8.8x", address, value); + command_print(cmd_ctx, "%i: %8.8" PRIx32 "", address, value); } else if (argc == 2) { - u32 value = strtoul(args[1], NULL, 0); + uint32_t value = strtoul(args[1], NULL, 0); if ((retval = arm966e_write_cp15(target, address, value)) != ERROR_OK) { command_print(cmd_ctx, "couldn't access reg %i", address); return ERROR_OK; } - command_print(cmd_ctx, "%i: %8.8x", address, value); + command_print(cmd_ctx, "%i: %8.8" PRIx32 "", address, value); } }