OpenOCD
dsp563xx.c File Reference
Include dependency graph for dsp563xx.c:

Go to the source code of this file.

Macros

#define ASM_REG_W_A0   0x50F400
 
#define ASM_REG_W_A1   0x54F400
 
#define ASM_REG_W_A2   0x52F400
 
#define ASM_REG_W_AAR0   0xFFFFF9
 
#define ASM_REG_W_AAR1   0xFFFFF8
 
#define ASM_REG_W_AAR2   0xFFFFF7
 
#define ASM_REG_W_AAR3   0xFFFFF6
 
#define ASM_REG_W_B0   0x51F400
 
#define ASM_REG_W_B1   0x55F400
 
#define ASM_REG_W_B2   0x53F400
 
#define ASM_REG_W_BCR   0xFFFFFB
 
#define ASM_REG_W_DCR   0xFFFFFA
 
#define ASM_REG_W_EP   0x05F42A
 
#define ASM_REG_W_IPRC   0xFFFFFF
 
#define ASM_REG_W_IPRP   0xFFFFFE
 
#define ASM_REG_W_LA   0x05F43E
 
#define ASM_REG_W_LC   0x05F43F
 
#define ASM_REG_W_M0   0x05F420
 
#define ASM_REG_W_M1   0x05F421
 
#define ASM_REG_W_M2   0x05F422
 
#define ASM_REG_W_M3   0x05F423
 
#define ASM_REG_W_M4   0x05F424
 
#define ASM_REG_W_M5   0x05F425
 
#define ASM_REG_W_M6   0x05F426
 
#define ASM_REG_W_M7   0x05F427
 
#define ASM_REG_W_N0   0x70F400
 
#define ASM_REG_W_N1   0x71F400
 
#define ASM_REG_W_N2   0x72F400
 
#define ASM_REG_W_N3   0x73F400
 
#define ASM_REG_W_N4   0x74F400
 
#define ASM_REG_W_N5   0x75F400
 
#define ASM_REG_W_N6   0x76F400
 
#define ASM_REG_W_N7   0x77F400
 
#define ASM_REG_W_OMR   0x05F43A
 
#define ASM_REG_W_PC   0x000000
 
#define ASM_REG_W_R0   0x60F400
 
#define ASM_REG_W_R1   0x61F400
 
#define ASM_REG_W_R2   0x62F400
 
#define ASM_REG_W_R3   0x63F400
 
#define ASM_REG_W_R4   0x64F400
 
#define ASM_REG_W_R5   0x65F400
 
#define ASM_REG_W_R6   0x66F400
 
#define ASM_REG_W_R7   0x67F400
 
#define ASM_REG_W_SC   0x05F431
 
#define ASM_REG_W_SP   0x05F43B
 
#define ASM_REG_W_SR   0x05F439
 
#define ASM_REG_W_SSH   0x05F43C
 
#define ASM_REG_W_SSL   0x05F43D
 
#define ASM_REG_W_SZ   0x05F438
 
#define ASM_REG_W_VBA   0x05F430
 
#define ASM_REG_W_X0   0x44F400
 
#define ASM_REG_W_X1   0x45F400
 
#define ASM_REG_W_Y0   0x46F400
 
#define ASM_REG_W_Y1   0x47F400
 
#define DSP563XX_SR_SA   (1<<17)
 
#define DSP563XX_SR_SC   (1<<13)
 
#define EAME_R0   0x10
 
#define INSTR_JUMP   0x0AF080
 
#define INSTR_MOVEP_REG_HIO(s, w, d, p)
 
#define OBCR_B0_AFTER_B1   ((0x3) << 10)
 
#define OBCR_B0_AND_B1   ((0x0) << 10)
 
#define OBCR_B0_OR_B1   ((0x1) << 10)
 
#define OBCR_B1_AFTER_B0   ((0x2) << 10)
 
#define OBCR_BP_0(x)   ((x)<<2)
 
#define OBCR_BP_1(x)   ((x)<<6)
 
#define OBCR_BP_CC_EQUAL   ((0x1) << 2)
 
#define OBCR_BP_CC_GREATER_THAN   ((0x3) << 2)
 
#define OBCR_BP_CC_LESS_THAN   ((0x2) << 2)
 
#define OBCR_BP_CC_NOT_EQUAL   ((0x0) << 2)
 
#define OBCR_BP_DISABLED   (0x0)
 
#define OBCR_BP_MEM_P   (0x1)
 
#define OBCR_BP_MEM_X   (0x2)
 
#define OBCR_BP_MEM_Y   (0x3)
 
#define OBCR_BP_ON_READ   ((0x2) << 0)
 
#define OBCR_BP_ON_WRITE   ((0x1) << 0)
 

Enumerations

enum  dsp563xx_reg_idx {
  DSP563XX_REG_IDX_R0 = 0 , DSP563XX_REG_IDX_R1 = 1 , DSP563XX_REG_IDX_R2 = 2 , DSP563XX_REG_IDX_R3 = 3 ,
  DSP563XX_REG_IDX_R4 = 4 , DSP563XX_REG_IDX_R5 = 5 , DSP563XX_REG_IDX_R6 = 6 , DSP563XX_REG_IDX_R7 = 7 ,
  DSP563XX_REG_IDX_N0 = 8 , DSP563XX_REG_IDX_N1 = 9 , DSP563XX_REG_IDX_N2 = 10 , DSP563XX_REG_IDX_N3 = 11 ,
  DSP563XX_REG_IDX_N4 = 12 , DSP563XX_REG_IDX_N5 = 13 , DSP563XX_REG_IDX_N6 = 14 , DSP563XX_REG_IDX_N7 = 15 ,
  DSP563XX_REG_IDX_M0 = 16 , DSP563XX_REG_IDX_M1 = 17 , DSP563XX_REG_IDX_M2 = 18 , DSP563XX_REG_IDX_M3 = 19 ,
  DSP563XX_REG_IDX_M4 = 20 , DSP563XX_REG_IDX_M5 = 21 , DSP563XX_REG_IDX_M6 = 22 , DSP563XX_REG_IDX_M7 = 23 ,
  DSP563XX_REG_IDX_X0 = 24 , DSP563XX_REG_IDX_X1 = 25 , DSP563XX_REG_IDX_Y0 = 26 , DSP563XX_REG_IDX_Y1 = 27 ,
  DSP563XX_REG_IDX_A0 = 28 , DSP563XX_REG_IDX_A1 = 29 , DSP563XX_REG_IDX_A2 = 30 , DSP563XX_REG_IDX_B0 = 31 ,
  DSP563XX_REG_IDX_B1 = 32 , DSP563XX_REG_IDX_B2 = 33 , DSP563XX_REG_IDX_SSH = 34 , DSP563XX_REG_IDX_SSL = 35 ,
  DSP563XX_REG_IDX_SP = 36 , DSP563XX_REG_IDX_EP = 37 , DSP563XX_REG_IDX_SZ = 38 , DSP563XX_REG_IDX_SC = 39 ,
  DSP563XX_REG_IDX_PC = 40 , DSP563XX_REG_IDX_SR = 41 , DSP563XX_REG_IDX_OMR = 42 , DSP563XX_REG_IDX_LA = 43 ,
  DSP563XX_REG_IDX_LC = 44 , DSP563XX_REG_IDX_VBA = 45 , DSP563XX_REG_IDX_IPRC = 46 , DSP563XX_REG_IDX_IPRP = 47 ,
  DSP563XX_REG_IDX_BCR = 48 , DSP563XX_REG_IDX_DCR = 49 , DSP563XX_REG_IDX_AAR0 = 50 , DSP563XX_REG_IDX_AAR1 = 51 ,
  DSP563XX_REG_IDX_AAR2 = 52 , DSP563XX_REG_IDX_AAR3 = 53
}
 
enum  memory_type { MEM_X = 0 , MEM_Y = 1 , MEM_P = 2 , MEM_L = 3 }
 
enum  once_reg_idx {
  ONCE_REG_IDX_OSCR = 0 , ONCE_REG_IDX_OMBC = 1 , ONCE_REG_IDX_OBCR = 2 , ONCE_REG_IDX_OMLR0 = 3 ,
  ONCE_REG_IDX_OMLR1 = 4 , ONCE_REG_IDX_OGDBR = 5 , ONCE_REG_IDX_OPDBR = 6 , ONCE_REG_IDX_OPILR = 7 ,
  ONCE_REG_IDX_PDB = 8 , ONCE_REG_IDX_OTC = 9 , ONCE_REG_IDX_OPABFR = 10 , ONCE_REG_IDX_OPABDR = 11 ,
  ONCE_REG_IDX_OPABEX = 12 , ONCE_REG_IDX_OPABF0 = 13 , ONCE_REG_IDX_OPABF1 = 14 , ONCE_REG_IDX_OPABF2 = 15 ,
  ONCE_REG_IDX_OPABF3 = 16 , ONCE_REG_IDX_OPABF4 = 17 , ONCE_REG_IDX_OPABF5 = 18 , ONCE_REG_IDX_OPABF6 = 19 ,
  ONCE_REG_IDX_OPABF7 = 20 , ONCE_REG_IDX_OPABF8 = 21 , ONCE_REG_IDX_OPABF9 = 22 , ONCE_REG_IDX_OPABF10 = 23 ,
  ONCE_REG_IDX_OPABF11 = 24
}
 
enum  watchpoint_condition { EQUAL , NOT_EQUAL , GREATER , LESS_THAN }
 

Functions

 COMMAND_HANDLER (dsp563xx_add_watchpoint_command)
 
 COMMAND_HANDLER (dsp563xx_mem_command)
 
 COMMAND_HANDLER (dsp563xx_remove_watchpoint_command)
 
static int dsp563xx_add_breakpoint (struct target *target, struct breakpoint *breakpoint)
 
static int dsp563xx_add_custom_watchpoint (struct target *target, uint32_t address, uint32_t mem_type, enum watchpoint_rw rw, enum watchpoint_condition cond)
 
static int dsp563xx_add_watchpoint (struct target *target, struct watchpoint *watchpoint)
 
static int dsp563xx_arch_state (struct target *target)
 
static int dsp563xx_assert_reset (struct target *target)
 
static void dsp563xx_build_reg_cache (struct target *target)
 
static int dsp563xx_deassert_reset (struct target *target)
 
static int dsp563xx_debug_init (struct target *target)
 
static int dsp563xx_debug_once_init (struct target *target)
 
static int dsp563xx_examine (struct target *target)
 
static int dsp563xx_get_core_reg (struct reg *reg)
 
static int dsp563xx_get_default_memory (void)
 
static int dsp563xx_get_gdb_reg_list (struct target *target, struct reg **reg_list[], int *reg_list_size, enum target_register_class reg_class)
 
static int dsp563xx_halt (struct target *target)
 
static int dsp563xx_init_target (struct command_context *cmd_ctx, struct target *target)
 
static void dsp563xx_invalidate_x_context (struct target *target, uint32_t addr_start, uint32_t addr_end)
 
static int dsp563xx_jtag_debug_request (struct target *target)
 
static int dsp563xx_poll (struct target *target)
 
static int dsp563xx_read_buffer_default (struct target *target, target_addr_t address, uint32_t size, uint8_t *buffer)
 
static int dsp563xx_read_core_reg (struct target *target, int num)
 
static int dsp563xx_read_memory (struct target *target, int mem_type, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer)
 
static int dsp563xx_read_memory_core (struct target *target, int mem_type, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer)
 
static int dsp563xx_read_memory_default (struct target *target, target_addr_t address, uint32_t size, uint32_t count, uint8_t *buffer)
 
static int dsp563xx_read_register (struct target *target, int num, int force)
 
static int dsp563xx_reg_pc_read (struct target *target)
 
static int dsp563xx_reg_read (struct target *target, uint32_t eame, uint32_t *data)
 
static int dsp563xx_reg_read_high_io (struct target *target, uint32_t instr_mask, uint32_t *data)
 
static int dsp563xx_reg_ssh_read (struct target *target)
 
static int dsp563xx_reg_ssh_write (struct target *target)
 
static int dsp563xx_reg_ssl_read (struct target *target)
 
static int dsp563xx_reg_write (struct target *target, uint32_t instr_mask, uint32_t data)
 
static int dsp563xx_reg_write_high_io (struct target *target, uint32_t instr_mask, uint32_t data)
 
static int dsp563xx_remove_breakpoint (struct target *target, struct breakpoint *breakpoint)
 
static int dsp563xx_remove_custom_watchpoint (struct target *target)
 
static int dsp563xx_remove_watchpoint (struct target *target, struct watchpoint *watchpoint)
 
static int dsp563xx_restore_context (struct target *target)
 
static int dsp563xx_resume (struct target *target, int current, target_addr_t address, int handle_breakpoints, int debug_execution)
 
static int dsp563xx_run_algorithm (struct target *target, int num_mem_params, struct mem_param *mem_params, int num_reg_params, struct reg_param *reg_params, target_addr_t entry_point, target_addr_t exit_point, unsigned int timeout_ms, void *arch_info)
 
static int dsp563xx_save_context (struct target *target)
 
static int dsp563xx_set_core_reg (struct reg *reg, uint8_t *buf)
 
static int dsp563xx_step (struct target *target, int current, target_addr_t address, int handle_breakpoints)
 
static int dsp563xx_step_ex (struct target *target, int current, uint32_t address, int handle_breakpoints, int steps)
 
static int dsp563xx_target_create (struct target *target, Jim_Interp *interp)
 
static int dsp563xx_write_buffer_default (struct target *target, target_addr_t address, uint32_t size, const uint8_t *buffer)
 
static int dsp563xx_write_core_reg (struct target *target, int num)
 
static int dsp563xx_write_memory (struct target *target, int mem_type, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer)
 
static int dsp563xx_write_memory_core (struct target *target, int mem_type, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer)
 
static int dsp563xx_write_memory_default (struct target *target, target_addr_t address, uint32_t size, uint32_t count, const uint8_t *buffer)
 
static int dsp563xx_write_register (struct target *target, int num, int force)
 

Variables

static const struct command_registration dsp563xx_command_handlers []
 
static const struct reg_arch_type dsp563xx_reg_type
 
struct {
   unsigned int   bits
 
   uint8_t   eame
 
   unsigned int   id
 
   uint32_t   instr_mask
 
   const char *   name
 
dsp563xx_regs []
 
struct target_type dsp563xx_target
 Holds methods for DSP563XX targets. More...
 
static const uint8_t gdb_reg_list_idx []
 
struct command_contextglobal_cmd_ctx
 
static struct once_reg once_regs []
 

Macro Definition Documentation

◆ ASM_REG_W_A0

#define ASM_REG_W_A0   0x50F400

Definition at line 55 of file dsp563xx.c.

◆ ASM_REG_W_A1

#define ASM_REG_W_A1   0x54F400

Definition at line 56 of file dsp563xx.c.

◆ ASM_REG_W_A2

#define ASM_REG_W_A2   0x52F400

Definition at line 57 of file dsp563xx.c.

◆ ASM_REG_W_AAR0

#define ASM_REG_W_AAR0   0xFFFFF9

Definition at line 80 of file dsp563xx.c.

◆ ASM_REG_W_AAR1

#define ASM_REG_W_AAR1   0xFFFFF8

Definition at line 81 of file dsp563xx.c.

◆ ASM_REG_W_AAR2

#define ASM_REG_W_AAR2   0xFFFFF7

Definition at line 82 of file dsp563xx.c.

◆ ASM_REG_W_AAR3

#define ASM_REG_W_AAR3   0xFFFFF6

Definition at line 83 of file dsp563xx.c.

◆ ASM_REG_W_B0

#define ASM_REG_W_B0   0x51F400

Definition at line 59 of file dsp563xx.c.

◆ ASM_REG_W_B1

#define ASM_REG_W_B1   0x55F400

Definition at line 60 of file dsp563xx.c.

◆ ASM_REG_W_B2

#define ASM_REG_W_B2   0x53F400

Definition at line 61 of file dsp563xx.c.

◆ ASM_REG_W_BCR

#define ASM_REG_W_BCR   0xFFFFFB

Definition at line 78 of file dsp563xx.c.

◆ ASM_REG_W_DCR

#define ASM_REG_W_DCR   0xFFFFFA

Definition at line 79 of file dsp563xx.c.

◆ ASM_REG_W_EP

#define ASM_REG_W_EP   0x05F42A

Definition at line 65 of file dsp563xx.c.

◆ ASM_REG_W_IPRC

#define ASM_REG_W_IPRC   0xFFFFFF

Definition at line 75 of file dsp563xx.c.

◆ ASM_REG_W_IPRP

#define ASM_REG_W_IPRP   0xFFFFFE

Definition at line 76 of file dsp563xx.c.

◆ ASM_REG_W_LA

#define ASM_REG_W_LA   0x05F43E

Definition at line 72 of file dsp563xx.c.

◆ ASM_REG_W_LC

#define ASM_REG_W_LC   0x05F43F

Definition at line 73 of file dsp563xx.c.

◆ ASM_REG_W_M0

#define ASM_REG_W_M0   0x05F420

Definition at line 40 of file dsp563xx.c.

◆ ASM_REG_W_M1

#define ASM_REG_W_M1   0x05F421

Definition at line 41 of file dsp563xx.c.

◆ ASM_REG_W_M2

#define ASM_REG_W_M2   0x05F422

Definition at line 42 of file dsp563xx.c.

◆ ASM_REG_W_M3

#define ASM_REG_W_M3   0x05F423

Definition at line 43 of file dsp563xx.c.

◆ ASM_REG_W_M4

#define ASM_REG_W_M4   0x05F424

Definition at line 44 of file dsp563xx.c.

◆ ASM_REG_W_M5

#define ASM_REG_W_M5   0x05F425

Definition at line 45 of file dsp563xx.c.

◆ ASM_REG_W_M6

#define ASM_REG_W_M6   0x05F426

Definition at line 46 of file dsp563xx.c.

◆ ASM_REG_W_M7

#define ASM_REG_W_M7   0x05F427

Definition at line 47 of file dsp563xx.c.

◆ ASM_REG_W_N0

#define ASM_REG_W_N0   0x70F400

Definition at line 31 of file dsp563xx.c.

◆ ASM_REG_W_N1

#define ASM_REG_W_N1   0x71F400

Definition at line 32 of file dsp563xx.c.

◆ ASM_REG_W_N2

#define ASM_REG_W_N2   0x72F400

Definition at line 33 of file dsp563xx.c.

◆ ASM_REG_W_N3

#define ASM_REG_W_N3   0x73F400

Definition at line 34 of file dsp563xx.c.

◆ ASM_REG_W_N4

#define ASM_REG_W_N4   0x74F400

Definition at line 35 of file dsp563xx.c.

◆ ASM_REG_W_N5

#define ASM_REG_W_N5   0x75F400

Definition at line 36 of file dsp563xx.c.

◆ ASM_REG_W_N6

#define ASM_REG_W_N6   0x76F400

Definition at line 37 of file dsp563xx.c.

◆ ASM_REG_W_N7

#define ASM_REG_W_N7   0x77F400

Definition at line 38 of file dsp563xx.c.

◆ ASM_REG_W_OMR

#define ASM_REG_W_OMR   0x05F43A

Definition at line 64 of file dsp563xx.c.

◆ ASM_REG_W_PC

#define ASM_REG_W_PC   0x000000

Definition at line 74 of file dsp563xx.c.

◆ ASM_REG_W_R0

#define ASM_REG_W_R0   0x60F400

Definition at line 22 of file dsp563xx.c.

◆ ASM_REG_W_R1

#define ASM_REG_W_R1   0x61F400

Definition at line 23 of file dsp563xx.c.

◆ ASM_REG_W_R2

#define ASM_REG_W_R2   0x62F400

Definition at line 24 of file dsp563xx.c.

◆ ASM_REG_W_R3

#define ASM_REG_W_R3   0x63F400

Definition at line 25 of file dsp563xx.c.

◆ ASM_REG_W_R4

#define ASM_REG_W_R4   0x64F400

Definition at line 26 of file dsp563xx.c.

◆ ASM_REG_W_R5

#define ASM_REG_W_R5   0x65F400

Definition at line 27 of file dsp563xx.c.

◆ ASM_REG_W_R6

#define ASM_REG_W_R6   0x66F400

Definition at line 28 of file dsp563xx.c.

◆ ASM_REG_W_R7

#define ASM_REG_W_R7   0x67F400

Definition at line 29 of file dsp563xx.c.

◆ ASM_REG_W_SC

#define ASM_REG_W_SC   0x05F431

Definition at line 66 of file dsp563xx.c.

◆ ASM_REG_W_SP

#define ASM_REG_W_SP   0x05F43B

Definition at line 69 of file dsp563xx.c.

◆ ASM_REG_W_SR

#define ASM_REG_W_SR   0x05F439

Definition at line 68 of file dsp563xx.c.

◆ ASM_REG_W_SSH

#define ASM_REG_W_SSH   0x05F43C

Definition at line 70 of file dsp563xx.c.

◆ ASM_REG_W_SSL

#define ASM_REG_W_SSL   0x05F43D

Definition at line 71 of file dsp563xx.c.

◆ ASM_REG_W_SZ

#define ASM_REG_W_SZ   0x05F438

Definition at line 67 of file dsp563xx.c.

◆ ASM_REG_W_VBA

#define ASM_REG_W_VBA   0x05F430

Definition at line 63 of file dsp563xx.c.

◆ ASM_REG_W_X0

#define ASM_REG_W_X0   0x44F400

Definition at line 49 of file dsp563xx.c.

◆ ASM_REG_W_X1

#define ASM_REG_W_X1   0x45F400

Definition at line 50 of file dsp563xx.c.

◆ ASM_REG_W_Y0

#define ASM_REG_W_Y0   0x46F400

Definition at line 52 of file dsp563xx.c.

◆ ASM_REG_W_Y1

#define ASM_REG_W_Y1   0x47F400

Definition at line 53 of file dsp563xx.c.

◆ DSP563XX_SR_SA

#define DSP563XX_SR_SA   (1<<17)

Definition at line 944 of file dsp563xx.c.

◆ DSP563XX_SR_SC

#define DSP563XX_SR_SC   (1<<13)

Definition at line 945 of file dsp563xx.c.

◆ EAME_R0

#define EAME_R0   0x10

Definition at line 313 of file dsp563xx.c.

◆ INSTR_JUMP

#define INSTR_JUMP   0x0AF080

Definition at line 311 of file dsp563xx.c.

◆ INSTR_MOVEP_REG_HIO

#define INSTR_MOVEP_REG_HIO (   s,
  w,
  d,
 
)
Value:
(0x084000 | \
((s & 1) << 16) | ((w & 1) << 15) | ((d & 0x3f) << 8) | (p & 0x3f))

Definition at line 321 of file dsp563xx.c.

◆ OBCR_B0_AFTER_B1

#define OBCR_B0_AFTER_B1   ((0x3) << 10)

Definition at line 91 of file dsp563xx.c.

◆ OBCR_B0_AND_B1

#define OBCR_B0_AND_B1   ((0x0) << 10)

Definition at line 88 of file dsp563xx.c.

◆ OBCR_B0_OR_B1

#define OBCR_B0_OR_B1   ((0x1) << 10)

Definition at line 89 of file dsp563xx.c.

◆ OBCR_B1_AFTER_B0

#define OBCR_B1_AFTER_B0   ((0x2) << 10)

Definition at line 90 of file dsp563xx.c.

◆ OBCR_BP_0

#define OBCR_BP_0 (   x)    ((x)<<2)

Definition at line 104 of file dsp563xx.c.

◆ OBCR_BP_1

#define OBCR_BP_1 (   x)    ((x)<<6)

Definition at line 105 of file dsp563xx.c.

◆ OBCR_BP_CC_EQUAL

#define OBCR_BP_CC_EQUAL   ((0x1) << 2)

Definition at line 100 of file dsp563xx.c.

◆ OBCR_BP_CC_GREATER_THAN

#define OBCR_BP_CC_GREATER_THAN   ((0x3) << 2)

Definition at line 102 of file dsp563xx.c.

◆ OBCR_BP_CC_LESS_THAN

#define OBCR_BP_CC_LESS_THAN   ((0x2) << 2)

Definition at line 101 of file dsp563xx.c.

◆ OBCR_BP_CC_NOT_EQUAL

#define OBCR_BP_CC_NOT_EQUAL   ((0x0) << 2)

Definition at line 99 of file dsp563xx.c.

◆ OBCR_BP_DISABLED

#define OBCR_BP_DISABLED   (0x0)

Definition at line 93 of file dsp563xx.c.

◆ OBCR_BP_MEM_P

#define OBCR_BP_MEM_P   (0x1)

Definition at line 94 of file dsp563xx.c.

◆ OBCR_BP_MEM_X

#define OBCR_BP_MEM_X   (0x2)

Definition at line 95 of file dsp563xx.c.

◆ OBCR_BP_MEM_Y

#define OBCR_BP_MEM_Y   (0x3)

Definition at line 96 of file dsp563xx.c.

◆ OBCR_BP_ON_READ

#define OBCR_BP_ON_READ   ((0x2) << 0)

Definition at line 97 of file dsp563xx.c.

◆ OBCR_BP_ON_WRITE

#define OBCR_BP_ON_WRITE   ((0x1) << 0)

Definition at line 98 of file dsp563xx.c.

Enumeration Type Documentation

◆ dsp563xx_reg_idx

Enumerator
DSP563XX_REG_IDX_R0 
DSP563XX_REG_IDX_R1 
DSP563XX_REG_IDX_R2 
DSP563XX_REG_IDX_R3 
DSP563XX_REG_IDX_R4 
DSP563XX_REG_IDX_R5 
DSP563XX_REG_IDX_R6 
DSP563XX_REG_IDX_R7 
DSP563XX_REG_IDX_N0 
DSP563XX_REG_IDX_N1 
DSP563XX_REG_IDX_N2 
DSP563XX_REG_IDX_N3 
DSP563XX_REG_IDX_N4 
DSP563XX_REG_IDX_N5 
DSP563XX_REG_IDX_N6 
DSP563XX_REG_IDX_N7 
DSP563XX_REG_IDX_M0 
DSP563XX_REG_IDX_M1 
DSP563XX_REG_IDX_M2 
DSP563XX_REG_IDX_M3 
DSP563XX_REG_IDX_M4 
DSP563XX_REG_IDX_M5 
DSP563XX_REG_IDX_M6 
DSP563XX_REG_IDX_M7 
DSP563XX_REG_IDX_X0 
DSP563XX_REG_IDX_X1 
DSP563XX_REG_IDX_Y0 
DSP563XX_REG_IDX_Y1 
DSP563XX_REG_IDX_A0 
DSP563XX_REG_IDX_A1 
DSP563XX_REG_IDX_A2 
DSP563XX_REG_IDX_B0 
DSP563XX_REG_IDX_B1 
DSP563XX_REG_IDX_B2 
DSP563XX_REG_IDX_SSH 
DSP563XX_REG_IDX_SSL 
DSP563XX_REG_IDX_SP 
DSP563XX_REG_IDX_EP 
DSP563XX_REG_IDX_SZ 
DSP563XX_REG_IDX_SC 
DSP563XX_REG_IDX_PC 
DSP563XX_REG_IDX_SR 
DSP563XX_REG_IDX_OMR 
DSP563XX_REG_IDX_LA 
DSP563XX_REG_IDX_LC 
DSP563XX_REG_IDX_VBA 
DSP563XX_REG_IDX_IPRC 
DSP563XX_REG_IDX_IPRP 
DSP563XX_REG_IDX_BCR 
DSP563XX_REG_IDX_DCR 
DSP563XX_REG_IDX_AAR0 
DSP563XX_REG_IDX_AAR1 
DSP563XX_REG_IDX_AAR2 
DSP563XX_REG_IDX_AAR3 

Definition at line 165 of file dsp563xx.c.

◆ memory_type

Enumerator
MEM_X 
MEM_Y 
MEM_P 
MEM_L 

Definition at line 297 of file dsp563xx.c.

◆ once_reg_idx

Enumerator
ONCE_REG_IDX_OSCR 
ONCE_REG_IDX_OMBC 
ONCE_REG_IDX_OBCR 
ONCE_REG_IDX_OMLR0 
ONCE_REG_IDX_OMLR1 
ONCE_REG_IDX_OGDBR 
ONCE_REG_IDX_OPDBR 
ONCE_REG_IDX_OPILR 
ONCE_REG_IDX_PDB 
ONCE_REG_IDX_OTC 
ONCE_REG_IDX_OPABFR 
ONCE_REG_IDX_OPABDR 
ONCE_REG_IDX_OPABEX 
ONCE_REG_IDX_OPABF0 
ONCE_REG_IDX_OPABF1 
ONCE_REG_IDX_OPABF2 
ONCE_REG_IDX_OPABF3 
ONCE_REG_IDX_OPABF4 
ONCE_REG_IDX_OPABF5 
ONCE_REG_IDX_OPABF6 
ONCE_REG_IDX_OPABF7 
ONCE_REG_IDX_OPABF8 
ONCE_REG_IDX_OPABF9 
ONCE_REG_IDX_OPABF10 
ONCE_REG_IDX_OPABF11 

Definition at line 108 of file dsp563xx.c.

◆ watchpoint_condition

Enumerator
EQUAL 
NOT_EQUAL 
GREATER 
LESS_THAN 

Definition at line 304 of file dsp563xx.c.

Function Documentation

◆ COMMAND_HANDLER() [1/3]

◆ COMMAND_HANDLER() [2/3]

◆ COMMAND_HANDLER() [3/3]

COMMAND_HANDLER ( dsp563xx_remove_watchpoint_command  )

Definition at line 2081 of file dsp563xx.c.

References CMD_CTX, dsp563xx_remove_custom_watchpoint(), and get_current_target().

◆ dsp563xx_add_breakpoint()

static int dsp563xx_add_breakpoint ( struct target target,
struct breakpoint breakpoint 
)
static

Definition at line 2071 of file dsp563xx.c.

References breakpoint::address, dsp563xx_add_custom_watchpoint(), EQUAL, MEM_P, and WPT_READ.

◆ dsp563xx_add_custom_watchpoint()

◆ dsp563xx_add_watchpoint()

static int dsp563xx_add_watchpoint ( struct target target,
struct watchpoint watchpoint 
)
static

Definition at line 1864 of file dsp563xx.c.

References ERROR_TARGET_RESOURCE_NOT_AVAILABLE.

◆ dsp563xx_arch_state()

static int dsp563xx_arch_state ( struct target target)
static

Definition at line 938 of file dsp563xx.c.

References ERROR_OK, and LOG_DEBUG.

◆ dsp563xx_assert_reset()

◆ dsp563xx_build_reg_cache()

◆ dsp563xx_deassert_reset()

static int dsp563xx_deassert_reset ( struct target target)
static

◆ dsp563xx_debug_init()

◆ dsp563xx_debug_once_init()

static int dsp563xx_debug_once_init ( struct target target)
static

Definition at line 947 of file dsp563xx.c.

References DSP563XX_NUMONCEREGS, dsp563xx_once_read_register(), once_regs, and target::tap.

Referenced by dsp563xx_debug_init().

◆ dsp563xx_examine()

◆ dsp563xx_get_core_reg()

◆ dsp563xx_get_default_memory()

static int dsp563xx_get_default_memory ( void  )
static

◆ dsp563xx_get_gdb_reg_list()

static int dsp563xx_get_gdb_reg_list ( struct target target,
struct reg **  reg_list[],
int *  reg_list_size,
enum target_register_class  reg_class 
)
static

◆ dsp563xx_halt()

static int dsp563xx_halt ( struct target target)
static

◆ dsp563xx_init_target()

static int dsp563xx_init_target ( struct command_context cmd_ctx,
struct target target 
)
static

◆ dsp563xx_invalidate_x_context()

static void dsp563xx_invalidate_x_context ( struct target target,
uint32_t  addr_start,
uint32_t  addr_end 
)
static

◆ dsp563xx_jtag_debug_request()

static int dsp563xx_jtag_debug_request ( struct target target)
static

Definition at line 1033 of file dsp563xx.c.

References dsp563xx_once_request_debug(), target::state, target::tap, and TARGET_RESET.

Referenced by dsp563xx_halt(), and dsp563xx_step_ex().

◆ dsp563xx_poll()

◆ dsp563xx_read_buffer_default()

static int dsp563xx_read_buffer_default ( struct target target,
target_addr_t  address,
uint32_t  size,
uint8_t *  buffer 
)
static

Definition at line 1677 of file dsp563xx.c.

References buffer, dsp563xx_get_default_memory(), dsp563xx_read_memory(), and size.

◆ dsp563xx_read_core_reg()

static int dsp563xx_read_core_reg ( struct target target,
int  num 
)
static

◆ dsp563xx_read_memory()

static int dsp563xx_read_memory ( struct target target,
int  mem_type,
target_addr_t  address,
uint32_t  size,
uint32_t  count,
uint8_t *  buffer 
)
static

◆ dsp563xx_read_memory_core()

◆ dsp563xx_read_memory_default()

static int dsp563xx_read_memory_default ( struct target target,
target_addr_t  address,
uint32_t  size,
uint32_t  count,
uint8_t *  buffer 
)
static

Definition at line 1666 of file dsp563xx.c.

References buffer, count, dsp563xx_get_default_memory(), dsp563xx_read_memory(), and size.

◆ dsp563xx_read_register()

◆ dsp563xx_reg_pc_read()

◆ dsp563xx_reg_read()

static int dsp563xx_reg_read ( struct target target,
uint32_t  eame,
uint32_t *  data 
)
static

◆ dsp563xx_reg_read_high_io()

◆ dsp563xx_reg_ssh_read()

◆ dsp563xx_reg_ssh_write()

◆ dsp563xx_reg_ssl_read()

◆ dsp563xx_reg_write()

static int dsp563xx_reg_write ( struct target target,
uint32_t  instr_mask,
uint32_t  data 
)
static

◆ dsp563xx_reg_write_high_io()

static int dsp563xx_reg_write_high_io ( struct target target,
uint32_t  instr_mask,
uint32_t  data 
)
static

◆ dsp563xx_remove_breakpoint()

static int dsp563xx_remove_breakpoint ( struct target target,
struct breakpoint breakpoint 
)
static

Definition at line 2076 of file dsp563xx.c.

References dsp563xx_remove_custom_watchpoint().

◆ dsp563xx_remove_custom_watchpoint()

◆ dsp563xx_remove_watchpoint()

static int dsp563xx_remove_watchpoint ( struct target target,
struct watchpoint watchpoint 
)
static

Definition at line 1872 of file dsp563xx.c.

References ERROR_TARGET_RESOURCE_NOT_AVAILABLE.

◆ dsp563xx_restore_context()

static int dsp563xx_restore_context ( struct target target)
static

Definition at line 846 of file dsp563xx.c.

References DSP563XX_NUMCOREREGS, dsp563xx_write_register(), and ERROR_OK.

Referenced by dsp563xx_resume(), and dsp563xx_step_ex().

◆ dsp563xx_resume()

◆ dsp563xx_run_algorithm()

static int dsp563xx_run_algorithm ( struct target target,
int  num_mem_params,
struct mem_param mem_params,
int  num_reg_params,
struct reg_param reg_params,
target_addr_t  entry_point,
target_addr_t  exit_point,
unsigned int  timeout_ms,
void *  arch_info 
)
static

◆ dsp563xx_save_context()

static int dsp563xx_save_context ( struct target target)
static

Definition at line 833 of file dsp563xx.c.

References DSP563XX_NUMCOREREGS, dsp563xx_read_register(), and ERROR_OK.

Referenced by dsp563xx_debug_init().

◆ dsp563xx_set_core_reg()

static int dsp563xx_set_core_reg ( struct reg reg,
uint8_t *  buf 
)
static

Definition at line 412 of file dsp563xx.c.

Referenced by dsp563xx_run_algorithm().

◆ dsp563xx_step()

◆ dsp563xx_step_ex()

◆ dsp563xx_target_create()

static int dsp563xx_target_create ( struct target target,
Jim_Interp *  interp 
)
static

◆ dsp563xx_write_buffer_default()

static int dsp563xx_write_buffer_default ( struct target target,
target_addr_t  address,
uint32_t  size,
const uint8_t *  buffer 
)
static

Definition at line 1850 of file dsp563xx.c.

References buffer, dsp563xx_get_default_memory(), dsp563xx_write_memory(), and size.

◆ dsp563xx_write_core_reg()

◆ dsp563xx_write_memory()

static int dsp563xx_write_memory ( struct target target,
int  mem_type,
target_addr_t  address,
uint32_t  size,
uint32_t  count,
const uint8_t *  buffer 
)
static

◆ dsp563xx_write_memory_core()

◆ dsp563xx_write_memory_default()

static int dsp563xx_write_memory_default ( struct target target,
target_addr_t  address,
uint32_t  size,
uint32_t  count,
const uint8_t *  buffer 
)
static

Definition at line 1840 of file dsp563xx.c.

References buffer, count, dsp563xx_get_default_memory(), dsp563xx_write_memory(), and size.

◆ dsp563xx_write_register()

Variable Documentation

◆ bits

unsigned int bits

Definition at line 225 of file dsp563xx.c.

◆ dsp563xx_command_handlers

const struct command_registration dsp563xx_command_handlers[]
static

Definition at line 2088 of file dsp563xx.c.

◆ dsp563xx_reg_type

const struct reg_arch_type dsp563xx_reg_type
static
Initial value:
= {
}
static int dsp563xx_set_core_reg(struct reg *reg, uint8_t *buf)
Definition: dsp563xx.c:412
static int dsp563xx_get_core_reg(struct reg *reg)
Definition: dsp563xx.c:398

Definition at line 412 of file dsp563xx.c.

Referenced by dsp563xx_build_reg_cache().

◆ 

const { ... } dsp563xx_regs[]

◆ dsp563xx_target

struct target_type dsp563xx_target

Holds methods for DSP563XX targets.

Definition at line 2088 of file dsp563xx.c.

◆ eame

uint8_t eame

Definition at line 227 of file dsp563xx.c.

Referenced by dsp563xx_reg_read().

◆ gdb_reg_list_idx

const uint8_t gdb_reg_list_idx[]
static
Initial value:
= {
}
@ DSP563XX_REG_IDX_R0
Definition: dsp563xx.c:166
@ DSP563XX_REG_IDX_AAR2
Definition: dsp563xx.c:218
@ DSP563XX_REG_IDX_B0
Definition: dsp563xx.c:197
@ DSP563XX_REG_IDX_R5
Definition: dsp563xx.c:171
@ DSP563XX_REG_IDX_SP
Definition: dsp563xx.c:202
@ DSP563XX_REG_IDX_BCR
Definition: dsp563xx.c:214
@ DSP563XX_REG_IDX_Y1
Definition: dsp563xx.c:193
@ DSP563XX_REG_IDX_M7
Definition: dsp563xx.c:189
@ DSP563XX_REG_IDX_A0
Definition: dsp563xx.c:194
@ DSP563XX_REG_IDX_SSL
Definition: dsp563xx.c:201
@ DSP563XX_REG_IDX_LA
Definition: dsp563xx.c:209
@ DSP563XX_REG_IDX_OMR
Definition: dsp563xx.c:208
@ DSP563XX_REG_IDX_M0
Definition: dsp563xx.c:182
@ DSP563XX_REG_IDX_N3
Definition: dsp563xx.c:177
@ DSP563XX_REG_IDX_X1
Definition: dsp563xx.c:191
@ DSP563XX_REG_IDX_R6
Definition: dsp563xx.c:172
@ DSP563XX_REG_IDX_N0
Definition: dsp563xx.c:174
@ DSP563XX_REG_IDX_N1
Definition: dsp563xx.c:175
@ DSP563XX_REG_IDX_N6
Definition: dsp563xx.c:180
@ DSP563XX_REG_IDX_B2
Definition: dsp563xx.c:199
@ DSP563XX_REG_IDX_R4
Definition: dsp563xx.c:170
@ DSP563XX_REG_IDX_M3
Definition: dsp563xx.c:185
@ DSP563XX_REG_IDX_AAR1
Definition: dsp563xx.c:217
@ DSP563XX_REG_IDX_AAR0
Definition: dsp563xx.c:216
@ DSP563XX_REG_IDX_A2
Definition: dsp563xx.c:196
@ DSP563XX_REG_IDX_N2
Definition: dsp563xx.c:176
@ DSP563XX_REG_IDX_EP
Definition: dsp563xx.c:203
@ DSP563XX_REG_IDX_R3
Definition: dsp563xx.c:169
@ DSP563XX_REG_IDX_SR
Definition: dsp563xx.c:207
@ DSP563XX_REG_IDX_M2
Definition: dsp563xx.c:184
@ DSP563XX_REG_IDX_N5
Definition: dsp563xx.c:179
@ DSP563XX_REG_IDX_DCR
Definition: dsp563xx.c:215
@ DSP563XX_REG_IDX_M6
Definition: dsp563xx.c:188
@ DSP563XX_REG_IDX_N7
Definition: dsp563xx.c:181
@ DSP563XX_REG_IDX_SZ
Definition: dsp563xx.c:204
@ DSP563XX_REG_IDX_M1
Definition: dsp563xx.c:183
@ DSP563XX_REG_IDX_B1
Definition: dsp563xx.c:198
@ DSP563XX_REG_IDX_LC
Definition: dsp563xx.c:210
@ DSP563XX_REG_IDX_Y0
Definition: dsp563xx.c:192
@ DSP563XX_REG_IDX_R1
Definition: dsp563xx.c:167
@ DSP563XX_REG_IDX_SC
Definition: dsp563xx.c:205
@ DSP563XX_REG_IDX_R7
Definition: dsp563xx.c:173
@ DSP563XX_REG_IDX_M5
Definition: dsp563xx.c:187
@ DSP563XX_REG_IDX_A1
Definition: dsp563xx.c:195
@ DSP563XX_REG_IDX_N4
Definition: dsp563xx.c:178
@ DSP563XX_REG_IDX_X0
Definition: dsp563xx.c:190
@ DSP563XX_REG_IDX_VBA
Definition: dsp563xx.c:211
@ DSP563XX_REG_IDX_IPRC
Definition: dsp563xx.c:212
@ DSP563XX_REG_IDX_M4
Definition: dsp563xx.c:186
@ DSP563XX_REG_IDX_R2
Definition: dsp563xx.c:168
@ DSP563XX_REG_IDX_AAR3
Definition: dsp563xx.c:219
@ DSP563XX_REG_IDX_PC
Definition: dsp563xx.c:206
@ DSP563XX_REG_IDX_IPRP
Definition: dsp563xx.c:213
@ DSP563XX_REG_IDX_SSH
Definition: dsp563xx.c:200

Definition at line 325 of file dsp563xx.c.

Referenced by dsp563xx_get_gdb_reg_list().

◆ global_cmd_ctx

struct command_context* global_cmd_ctx
extern

Definition at line 233 of file openocd.c.

Referenced by dsp563xx_get_default_memory().

◆ id

unsigned int id

Definition at line 223 of file dsp563xx.c.

◆ instr_mask

uint32_t instr_mask

◆ name

const char* name

Definition at line 224 of file dsp563xx.c.

◆ once_regs

struct once_reg once_regs[]
static
Initial value:
= {
}
@ ONCE_REG_IDX_OTC
Definition: dsp563xx.c:118
@ ONCE_REG_IDX_OSCR
Definition: dsp563xx.c:109
@ ONCE_REG_IDX_OMLR0
Definition: dsp563xx.c:112
@ ONCE_REG_IDX_OPABF9
Definition: dsp563xx.c:131
@ ONCE_REG_IDX_OPABF8
Definition: dsp563xx.c:130
@ ONCE_REG_IDX_OPILR
Definition: dsp563xx.c:116
@ ONCE_REG_IDX_OPABF0
Definition: dsp563xx.c:122
@ ONCE_REG_IDX_OPABF1
Definition: dsp563xx.c:123
@ ONCE_REG_IDX_OPABF7
Definition: dsp563xx.c:129
@ ONCE_REG_IDX_OPABF6
Definition: dsp563xx.c:128
@ ONCE_REG_IDX_OPABF11
Definition: dsp563xx.c:133
@ ONCE_REG_IDX_OMBC
Definition: dsp563xx.c:110
@ ONCE_REG_IDX_OPABF3
Definition: dsp563xx.c:125
@ ONCE_REG_IDX_OPABEX
Definition: dsp563xx.c:121
@ ONCE_REG_IDX_OPDBR
Definition: dsp563xx.c:115
@ ONCE_REG_IDX_OPABF5
Definition: dsp563xx.c:127
@ ONCE_REG_IDX_OPABF2
Definition: dsp563xx.c:124
@ ONCE_REG_IDX_OPABDR
Definition: dsp563xx.c:120
@ ONCE_REG_IDX_OGDBR
Definition: dsp563xx.c:114
@ ONCE_REG_IDX_OMLR1
Definition: dsp563xx.c:113
@ ONCE_REG_IDX_PDB
Definition: dsp563xx.c:117
@ ONCE_REG_IDX_OPABF10
Definition: dsp563xx.c:132
@ ONCE_REG_IDX_OPABFR
Definition: dsp563xx.c:119
@ ONCE_REG_IDX_OPABF4
Definition: dsp563xx.c:126
@ ONCE_REG_IDX_OBCR
Definition: dsp563xx.c:111
#define DSP563XX_ONCE_PDBGOTO
Definition: dsp563xx_once.h:43
#define DSP563XX_ONCE_OBCR
Definition: dsp563xx_once.h:37
#define DSP563XX_ONCE_OPABFR
Definition: dsp563xx_once.h:46
#define DSP563XX_ONCE_OPABF11
Definition: dsp563xx_once.h:49
#define DSP563XX_ONCE_OPDBR
Definition: dsp563xx_once.h:41
#define DSP563XX_ONCE_OPABEX
Definition: dsp563xx_once.h:48
#define DSP563XX_ONCE_OGDBR
Definition: dsp563xx_once.h:40
#define DSP563XX_ONCE_OTC
Definition: dsp563xx_once.h:44
#define DSP563XX_ONCE_OPILR
Definition: dsp563xx_once.h:42
#define DSP563XX_ONCE_OMLR0
Definition: dsp563xx_once.h:38
#define DSP563XX_ONCE_OMLR1
Definition: dsp563xx_once.h:39
#define DSP563XX_ONCE_OPABDR
Definition: dsp563xx_once.h:47
#define DSP563XX_ONCE_OSCR
Definition: dsp563xx_once.h:35
#define DSP563XX_ONCE_OMBC
Definition: dsp563xx_once.h:36

Definition at line 1 of file dsp563xx.c.

Referenced by dsp563xx_debug_once_init(), dsp563xx_reg_pc_read(), dsp563xx_resume(), and dsp563xx_step_ex().