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

Go to the source code of this file.

Macros

#define JTAG_INSTR_BYPASS   0x0F
 
#define JTAG_INSTR_CLAMP   0x05
 
#define JTAG_INSTR_DEBUG_REQUEST   0x07
 
#define JTAG_INSTR_ENABLE_ONCE   0x06
 
#define JTAG_INSTR_EXTEST   0x00
 
#define JTAG_INSTR_HIZ   0x04
 
#define JTAG_INSTR_IDCODE   0x02
 
#define JTAG_INSTR_SAMPLE_PRELOAD   0x01
 
#define JTAG_STATUS_BUSY   0x09
 
#define JTAG_STATUS_DEBUG   0x0d
 
#define JTAG_STATUS_NORMAL   0x01
 
#define JTAG_STATUS_STATIC_MASK   0x03
 
#define JTAG_STATUS_STATIC_VALUE   0x01
 
#define JTAG_STATUS_STOPWAIT   0x05
 

Functions

static int dsp563xx_jtag_sendinstr (struct jtag_tap *tap, uint8_t *ir_in, uint8_t ir_out)
 
int dsp563xx_once_execute_dw_ir (struct jtag_tap *tap, int flush, uint32_t opcode, uint32_t operand)
 double word instruction More...
 
int dsp563xx_once_execute_sw_ir (struct jtag_tap *tap, int flush, uint32_t opcode)
 single word instruction More...
 
static int dsp563xx_once_ir_exec (struct jtag_tap *tap, int flush, uint8_t instr, uint8_t rw, uint8_t go, uint8_t ex)
 single word instruction More...
 
int dsp563xx_once_read_register (struct jtag_tap *tap, int flush, struct once_reg *regs, int len)
 once read registers More...
 
int dsp563xx_once_reg_read (struct jtag_tap *tap, int flush, uint8_t reg, uint32_t *data)
 once read register More...
 
int dsp563xx_once_reg_read_ex (struct jtag_tap *tap, int flush, uint8_t reg, uint8_t len, uint32_t *data)
 once read register with register len More...
 
int dsp563xx_once_reg_write (struct jtag_tap *tap, int flush, uint8_t reg, uint32_t data)
 once write register More...
 
int dsp563xx_once_request_debug (struct jtag_tap *tap, int reset_state)
 
int dsp563xx_once_target_status (struct jtag_tap *tap)
 
static int dsp563xx_write_dr (struct jtag_tap *tap, uint8_t *dr_in, uint8_t *dr_out, int dr_len, int rti)
 
static int dsp563xx_write_dr_u32 (struct jtag_tap *tap, uint32_t *dr_in, uint32_t dr_out, int dr_len, int rti)
 
static int dsp563xx_write_dr_u8 (struct jtag_tap *tap, uint8_t *dr_in, uint8_t dr_out, int dr_len, int rti)
 
static int dsp563xx_write_ir (struct jtag_tap *tap, uint8_t *ir_in, uint8_t *ir_out, int ir_len, int rti)
 
static int dsp563xx_write_ir_u8 (struct jtag_tap *tap, uint8_t *ir_in, uint8_t ir_out, int ir_len, int rti)
 

Macro Definition Documentation

◆ JTAG_INSTR_BYPASS

#define JTAG_INSTR_BYPASS   0x0F

Definition at line 35 of file dsp563xx_once.c.

◆ JTAG_INSTR_CLAMP

#define JTAG_INSTR_CLAMP   0x05

Definition at line 32 of file dsp563xx_once.c.

◆ JTAG_INSTR_DEBUG_REQUEST

#define JTAG_INSTR_DEBUG_REQUEST   0x07

Definition at line 34 of file dsp563xx_once.c.

◆ JTAG_INSTR_ENABLE_ONCE

#define JTAG_INSTR_ENABLE_ONCE   0x06

Definition at line 33 of file dsp563xx_once.c.

◆ JTAG_INSTR_EXTEST

#define JTAG_INSTR_EXTEST   0x00

Definition at line 28 of file dsp563xx_once.c.

◆ JTAG_INSTR_HIZ

#define JTAG_INSTR_HIZ   0x04

Definition at line 31 of file dsp563xx_once.c.

◆ JTAG_INSTR_IDCODE

#define JTAG_INSTR_IDCODE   0x02

Definition at line 30 of file dsp563xx_once.c.

◆ JTAG_INSTR_SAMPLE_PRELOAD

#define JTAG_INSTR_SAMPLE_PRELOAD   0x01

Definition at line 29 of file dsp563xx_once.c.

◆ JTAG_STATUS_BUSY

#define JTAG_STATUS_BUSY   0x09

Definition at line 25 of file dsp563xx_once.c.

◆ JTAG_STATUS_DEBUG

#define JTAG_STATUS_DEBUG   0x0d

Definition at line 26 of file dsp563xx_once.c.

◆ JTAG_STATUS_NORMAL

#define JTAG_STATUS_NORMAL   0x01

Definition at line 23 of file dsp563xx_once.c.

◆ JTAG_STATUS_STATIC_MASK

#define JTAG_STATUS_STATIC_MASK   0x03

Definition at line 20 of file dsp563xx_once.c.

◆ JTAG_STATUS_STATIC_VALUE

#define JTAG_STATUS_STATIC_VALUE   0x01

Definition at line 21 of file dsp563xx_once.c.

◆ JTAG_STATUS_STOPWAIT

#define JTAG_STATUS_STOPWAIT   0x05

Definition at line 24 of file dsp563xx_once.c.

Function Documentation

◆ dsp563xx_jtag_sendinstr()

static int dsp563xx_jtag_sendinstr ( struct jtag_tap tap,
uint8_t *  ir_in,
uint8_t  ir_out 
)
inlinestatic

◆ dsp563xx_once_execute_dw_ir()

int dsp563xx_once_execute_dw_ir ( struct jtag_tap tap,
int  flush,
uint32_t  opcode,
uint32_t  operand 
)

◆ dsp563xx_once_execute_sw_ir()

int dsp563xx_once_execute_sw_ir ( struct jtag_tap tap,
int  flush,
uint32_t  opcode 
)

◆ dsp563xx_once_ir_exec()

static int dsp563xx_once_ir_exec ( struct jtag_tap tap,
int  flush,
uint8_t  instr,
uint8_t  rw,
uint8_t  go,
uint8_t  ex 
)
inlinestatic

◆ dsp563xx_once_read_register()

int dsp563xx_once_read_register ( struct jtag_tap tap,
int  flush,
struct once_reg regs,
int  len 
)

once read registers

Definition at line 171 of file dsp563xx_once.c.

References addr, dsp563xx_once_reg_read_ex(), ERROR_OK, jtag_execute_queue(), and regs.

Referenced by dsp563xx_debug_once_init().

◆ dsp563xx_once_reg_read()

int dsp563xx_once_reg_read ( struct jtag_tap tap,
int  flush,
uint8_t  reg,
uint32_t *  data 
)

◆ dsp563xx_once_reg_read_ex()

int dsp563xx_once_reg_read_ex ( struct jtag_tap tap,
int  flush,
uint8_t  reg,
uint8_t  len,
uint32_t *  data 
)

once read register with register len

once read register

Definition at line 188 of file dsp563xx_once.c.

References dsp563xx_once_ir_exec(), dsp563xx_write_dr_u32(), ERROR_OK, and jtag_execute_queue().

Referenced by dsp563xx_once_read_register().

◆ dsp563xx_once_reg_write()

int dsp563xx_once_reg_write ( struct jtag_tap tap,
int  flush,
uint8_t  reg,
uint32_t  data 
)

◆ dsp563xx_once_request_debug()

int dsp563xx_once_request_debug ( struct jtag_tap tap,
int  reset_state 
)

◆ dsp563xx_once_target_status()

◆ dsp563xx_write_dr()

static int dsp563xx_write_dr ( struct jtag_tap tap,
uint8_t *  dr_in,
uint8_t *  dr_out,
int  dr_len,
int  rti 
)
inlinestatic

Definition at line 38 of file dsp563xx_once.c.

References ERROR_OK, jtag_add_plain_dr_scan(), and TAP_IDLE.

Referenced by dsp563xx_write_dr_u32(), and dsp563xx_write_dr_u8().

◆ dsp563xx_write_dr_u32()

static int dsp563xx_write_dr_u32 ( struct jtag_tap tap,
uint32_t *  dr_in,
uint32_t  dr_out,
int  dr_len,
int  rti 
)
inlinestatic

◆ dsp563xx_write_dr_u8()

static int dsp563xx_write_dr_u8 ( struct jtag_tap tap,
uint8_t *  dr_in,
uint8_t  dr_out,
int  dr_len,
int  rti 
)
inlinestatic

Definition at line 46 of file dsp563xx_once.c.

References dsp563xx_write_dr().

Referenced by dsp563xx_once_ir_exec().

◆ dsp563xx_write_ir()

static int dsp563xx_write_ir ( struct jtag_tap tap,
uint8_t *  ir_in,
uint8_t *  ir_out,
int  ir_len,
int  rti 
)
inlinestatic

Definition at line 72 of file dsp563xx_once.c.

References ERROR_OK, jtag_tap::ir_length, jtag_add_plain_ir_scan(), and TAP_IDLE.

Referenced by dsp563xx_write_ir_u8().

◆ dsp563xx_write_ir_u8()

static int dsp563xx_write_ir_u8 ( struct jtag_tap tap,
uint8_t *  ir_in,
uint8_t  ir_out,
int  ir_len,
int  rti 
)
inlinestatic

Definition at line 79 of file dsp563xx_once.c.

References dsp563xx_write_ir().

Referenced by dsp563xx_jtag_sendinstr().