X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Ftarget.h;h=7400b7e1942090504bffe254c1e7e0f85a325160;hb=e7e9bfde47768b22be8b15c30c027dc8fb67c778;hp=43ac65fc1d55f4c136df1d01f53dc984e8c9f820;hpb=35f1a40f6fad146db9d5546c47c45472d0ef0bed;p=openocd.git diff --git a/src/target/target.h b/src/target/target.h index 43ac65fc1d..7400b7e194 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -2,7 +2,7 @@ * Copyright (C) 2005 by Dominic Rath * * Dominic.Rath@gmx.de * * * - * Copyright (C) 2007,2008,2009 Øyvind Harboe * + * Copyright (C) 2007-2010 Øyvind Harboe * * oyvind.harboe@zylin.com * * * * Copyright (C) 2008 by Spencer Oliver * @@ -26,8 +26,7 @@ #ifndef TARGET_H #define TARGET_H -#include "types.h" -#include +#include struct reg; struct trace; @@ -61,15 +60,11 @@ enum target_state TARGET_DEBUG_RUNNING = 4, }; -extern const Jim_Nvp nvp_target_state[]; - enum nvp_assert { NVP_DEASSERT, NVP_ASSERT, }; -extern const Jim_Nvp nvp_assert[]; - enum target_reset_mode { RESET_UNKNOWN = 0, @@ -78,8 +73,6 @@ enum target_reset_mode RESET_INIT = 3, /* reset and halt target out of reset, then run init script */ }; -extern const Jim_Nvp nvp_reset_mode[]; - enum target_debug_reason { DBG_REASON_DBGRQ = 0, @@ -91,16 +84,12 @@ enum target_debug_reason DBG_REASON_UNDEFINED = 6 }; -extern const Jim_Nvp nvp_target_debug_reason[]; - enum target_endianess { TARGET_ENDIAN_UNKNOWN = 0, TARGET_BIG_ENDIAN = 1, TARGET_LITTLE_ENDIAN = 2 }; -extern const Jim_Nvp nvp_target_endian[]; - struct working_area { uint32_t address; @@ -165,6 +154,8 @@ static inline const char *target_name(struct target *target) return target->cmd_name; } +const char *debug_reason_name(struct target *t); + enum target_event { /* LD historical names @@ -222,7 +213,7 @@ enum target_event struct target_event_action { enum target_event event; - Jim_Interp *interp; + struct Jim_Interp *interp; struct Jim_Obj *body; int has_percent; struct target_event_action *next; @@ -380,7 +371,18 @@ int target_read_memory(struct target *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer); /** * Write @a count items of @a size bytes to the memory of @a target at - * the @a address given. + * the @a address given. @a address must be aligned to @a size + * in target memory. + * + * The endianness is the same in the host and target memory for this + * function. + * + * \todo TODO: + * Really @a buffer should have been defined as "const void *" and + * @a buffer should have been aligned to @a size in the host memory. + * + * This is not enforced via e.g. assert's today and e.g. the + * target_write_buffer fn breaks this assumption. * * This routine is wrapper for target->type->write_memory. */ @@ -490,8 +492,8 @@ void target_all_handle_event(enum target_event e); #define ERROR_TARGET_NOT_RUNNING (-310) #define ERROR_TARGET_NOT_EXAMINED (-311) -extern const Jim_Nvp nvp_error_target[]; - const char *target_strerror_safe(int err); +extern bool get_target_reset_nag(void); + #endif /* TARGET_H */