typedef struct target_s
{
target_type_t *type; /* target type definition (name, access functions) */
- enum target_reset_mode reset_mode; /* what to do after a reset */
+ int reset_halt; /* attempt resetting the CPU into the halted mode? */
int run_and_halt_time; /* how long the target should run after a run_and_halt reset */
- char *pre_reset_script; /* script file to initialize the target before a reset */
- char *reset_script; /* script file to initialize the target after a reset */
- char *post_halt_script; /* script file to execute after the target halted */
- char *pre_resume_script; /* script file to execute before the target resumed */
- char *gdb_program_script; /* script file to execute before programming vis gdb */
u32 working_area; /* working area (initialized RAM). Evaluated
- upon first allocation from virtual/physical address.
- */
+ upon first allocation from virtual/physical address. */
u32 working_area_virt; /* virtual address */
u32 working_area_phys; /* physical address */
u32 working_area_size; /* size in bytes */
extern int target_init(struct command_context_s *cmd_ctx);
extern int target_examine(struct command_context_s *cmd_ctx);
extern int handle_target(void *priv);
-extern int target_process_reset(struct command_context_s *cmd_ctx);
+extern int target_process_reset(struct command_context_s *cmd_ctx, enum target_reset_mode reset_mode);
extern int target_register_event_callback(int (*callback)(struct target_s *target, enum target_event event, void *priv), void *priv);
extern int target_unregister_event_callback(int (*callback)(struct target_s *target, enum target_event event, void *priv), void *priv);
extern int target_free_all_working_areas(struct target_s *target);
extern int target_free_all_working_areas_restore(struct target_s *target, int restore);
-
extern target_t *targets;
extern target_event_callback_t *target_event_callbacks;
/* Issues USER() statements with target state information */
int target_arch_state(struct target_s *target);
+int target_invoke_script(struct command_context_s *cmd_ctx, target_t *target, char *name);
+
#define ERROR_TARGET_INVALID (-300)
#define ERROR_TARGET_INIT_FAILED (-301)
#define ERROR_TARGET_TIMEOUT (-302)