From 175867ea323137285a5389fc6a65105c06853651 Mon Sep 17 00:00:00 2001 From: zwelch Date: Tue, 9 Jun 2009 08:39:50 +0000 Subject: Encapsulate the jtag_trst and jtag_srst variables: - Add accessor functions to return their value. - Use new SRST accessor in cortex_m3.c and mips_m4k.c git-svn-id: svn://svn.berlios.de/openocd/trunk@2157 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/jtag/core.c | 13 +++++++++++-- src/jtag/jtag.h | 6 ++++-- src/target/cortex_m3.c | 2 +- src/target/mips_m4k.c | 2 +- 4 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/jtag/core.c b/src/jtag/core.c index 5dae1775..45ece3c4 100644 --- a/src/jtag/core.c +++ b/src/jtag/core.c @@ -63,8 +63,8 @@ const Jim_Nvp nvp_jtag_tap_event[] = { { .name = NULL, .value = -1 } }; -int jtag_trst = 0; -int jtag_srst = 0; +static int jtag_trst = 0; +static int jtag_srst = 0; /** * List all TAPs that have been created. @@ -1250,6 +1250,15 @@ int jtag_add_statemove(tap_state_t goal_state) return ERROR_OK; } +int jtag_get_trst(void) +{ + return jtag_trst; +} +int jtag_get_srst(void) +{ + return jtag_srst; +} + void jtag_set_nsrst_delay(unsigned delay) { jtag_nsrst_delay = delay; diff --git a/src/jtag/jtag.h b/src/jtag/jtag.h index a3e61e3b..40639dce 100644 --- a/src/jtag/jtag.h +++ b/src/jtag/jtag.h @@ -243,8 +243,10 @@ struct jtag_tap_event_action_s jtag_tap_event_action_t* next; }; -extern int jtag_trst; -extern int jtag_srst; +/// @returns The current state of TRST. +int jtag_get_trst(void); +/// @returns The current state of SRST. +int jtag_get_srst(void); typedef struct jtag_event_callback_s { diff --git a/src/target/cortex_m3.c b/src/target/cortex_m3.c index d105fe33..efa94ea4 100644 --- a/src/target/cortex_m3.c +++ b/src/target/cortex_m3.c @@ -544,7 +544,7 @@ int cortex_m3_halt(target_t *target) if (target->state == TARGET_RESET) { - if ((jtag_reset_config & RESET_SRST_PULLS_TRST) && jtag_srst) + if ((jtag_reset_config & RESET_SRST_PULLS_TRST) && jtag_get_srst()) { LOG_ERROR("can't request a halt while in reset if nSRST pulls nTRST"); return ERROR_TARGET_FAILURE; diff --git a/src/target/mips_m4k.c b/src/target/mips_m4k.c index d69a0a0a..466e0a2d 100644 --- a/src/target/mips_m4k.c +++ b/src/target/mips_m4k.c @@ -235,7 +235,7 @@ int mips_m4k_halt(struct target_s *target) if (target->state == TARGET_RESET) { - if ((jtag_reset_config & RESET_SRST_PULLS_TRST) && jtag_srst) + if ((jtag_reset_config & RESET_SRST_PULLS_TRST) && jtag_get_srst()) { LOG_ERROR("can't request a halt while in reset if nSRST pulls nTRST"); return ERROR_TARGET_FAILURE; -- cgit v1.2.3