📄 debug.h
字号:
/* debug.h - header of debug.S */
#ifdef LS388
#if SVCD
#define MEM_SEG 0x9
#define DBG_SEG 0xb
#else // SVCD
#define MEM_SEG 0x10
#define DBG_SEG 0x12
#endif // SVCD
#define PCM_Out_Ctrl (0xe04>>2)
#define PCM_Rd_Ptr (0xe14>>2)
#else // LS388
#define MEM_SEG 0x1f
#define DBG_SEG 0x1e
#define PCM_Out_Ctrl (0x284>>2)
#define PCM_Rd_Ptr (0x294>>2)
#endif // LS388
#define DEBUG_DRAM 0xec00 // ec00 - ec7f: GPR buffer
// ec80 - ec9f: AGRAdr buffer
// eca0 - ecbf: AGRMod buffer
// ecc0 - ecdf: AGRSiz buffer
// ece0 - ecff: AGRInc buffer
// ed00: TrapReg buffer
// ed04: StatusReg buffer
// ed08: IcacheSegment buffer
#define DB_GPR0 DEBUG_DRAM+4*0
#define DB_GPR1 DEBUG_DRAM+4*1
#define DB_GPR2 DEBUG_DRAM+4*2
#define DB_GPR3 DEBUG_DRAM+4*3
#define DB_GPR4 DEBUG_DRAM+4*4
#define DB_GPR5 DEBUG_DRAM+4*5
#define DB_GPR6 DEBUG_DRAM+4*6
#define DB_GPR7 DEBUG_DRAM+4*7
#define DB_GPR8 DEBUG_DRAM+4*8
#define DB_GPR9 DEBUG_DRAM+4*9
#define DB_GPR10 DEBUG_DRAM+4*10
#define DB_GPR11 DEBUG_DRAM+4*11
#define DB_GPR12 DEBUG_DRAM+4*12
#define DB_GPR13 DEBUG_DRAM+4*13
#define DB_GPR14 DEBUG_DRAM+4*14
#define DB_GPR15 DEBUG_DRAM+4*15
#define DB_GPR16 DEBUG_DRAM+4*16
#define DB_GPR17 DEBUG_DRAM+4*17
#define DB_GPR18 DEBUG_DRAM+4*18
#define DB_GPR19 DEBUG_DRAM+4*19
#define DB_GPR20 DEBUG_DRAM+4*20
#define DB_GPR21 DEBUG_DRAM+4*21
#define DB_GPR22 DEBUG_DRAM+4*22
#define DB_GPR23 DEBUG_DRAM+4*23
#define DB_GPR24 DEBUG_DRAM+4*24
#define DB_GPR25 DEBUG_DRAM+4*25
#define DB_GPR26 DEBUG_DRAM+4*26
#define DB_GPR27 DEBUG_DRAM+4*27
#define DB_GPR28 DEBUG_DRAM+4*28
#define DB_GPR29 DEBUG_DRAM+4*29
#define DB_GPR30 DEBUG_DRAM+4*30
#define DB_GPR31 DEBUG_DRAM+4*31
#define DB_AGRADR0 DEBUG_DRAM+4*32
#define DB_AGRADR1 DEBUG_DRAM+4*33
#define DB_AGRADR2 DEBUG_DRAM+4*34
#define DB_AGRADR3 DEBUG_DRAM+4*35
#define DB_AGRADR4 DEBUG_DRAM+4*36
#define DB_AGRADR5 DEBUG_DRAM+4*37
#define DB_AGRADR6 DEBUG_DRAM+4*38
#define DB_AGRADR7 DEBUG_DRAM+4*39
#define DB_AGRMOD0 DEBUG_DRAM+4*40
#define DB_AGRMOD1 DEBUG_DRAM+4*41
#define DB_AGRMOD2 DEBUG_DRAM+4*42
#define DB_AGRMOD3 DEBUG_DRAM+4*43
#define DB_AGRMOD4 DEBUG_DRAM+4*44
#define DB_AGRMOD5 DEBUG_DRAM+4*45
#define DB_AGRMOD6 DEBUG_DRAM+4*46
#define DB_AGRMOD7 DEBUG_DRAM+4*47
#define DB_AGRSIZ0 DEBUG_DRAM+4*48
#define DB_AGRSIZ1 DEBUG_DRAM+4*49
#define DB_AGRSIZ2 DEBUG_DRAM+4*50
#define DB_AGRSIZ3 DEBUG_DRAM+4*51
#define DB_AGRSIZ4 DEBUG_DRAM+4*52
#define DB_AGRSIZ5 DEBUG_DRAM+4*53
#define DB_AGRSIZ6 DEBUG_DRAM+4*54
#define DB_AGRSIZ7 DEBUG_DRAM+4*55
#define DB_AGRINC0 DEBUG_DRAM+4*56
#define DB_AGRINC1 DEBUG_DRAM+4*57
#define DB_AGRINC2 DEBUG_DRAM+4*58
#define DB_AGRINC3 DEBUG_DRAM+4*59
#define DB_AGRINC4 DEBUG_DRAM+4*60
#define DB_AGRINC5 DEBUG_DRAM+4*61
#define DB_AGRINC6 DEBUG_DRAM+4*62
#define DB_AGRINC7 DEBUG_DRAM+4*63
#define DB_TRAP DEBUG_DRAM+4*64
#define DB_STATUS DEBUG_DRAM+4*65
#define DB_IcacheSegment DEBUG_DRAM+4*66
//#define TRAP_ADDR 0xed0c // local buffer trap point address
//#define TRAP_ADDR_TEMP 0xed10 // local buffer trap point address
//#define DEBUG_FLAG_TEMP 0xed14 // (debug use)
/* Internal register patch */
#define DB_Gb_Getbits_Ptr DEBUG_DRAM+4*70 // $96
#define DB_Gb_Shadow_Ptr DEBUG_DRAM+4*71 // $97
#define DB_Gb_Control DEBUG_DRAM+4*72 // $98
#define DB_Gb_RdWrPtr DEBUG_DRAM+4*73 // $99
#define DB_Gb_Prev_LocalData DEBUG_DRAM+4*74 // $100
#define DB_Gb_dma_addr DEBUG_DRAM+4*75 // $101
#define DB_LoopCount DEBUG_DRAM+4*76 // $102
//#define DB_Gb_Getbits_Ptr 0xed18 // $96
//#define DB_Gb_Shadow_Ptr 0xed1c // $97
//#define DB_Gb_Control 0xed20 // $98
//#define DB_Gb_RdWrPtr 0xed24 // $99
//#define DB_Gb_Prev_LocalData 0xed28 // $100
//#define DB_Gb_dma_addr 0xed2c // $101
//#define DB_LoopCount 0xed30 // $102
#define BREAK_I_INST DEBUG_DRAM+4*193 // Break instruction
#define BREAK_M_DATA DEBUG_DRAM+4*194 // Local buffer modify data
#define BREAK_S_ADDR DEBUG_DRAM+4*195 // Local buffer modify start addr
#define BREAK_E_ADDR DEBUG_DRAM+4*196 // Local buffer modify end addr
#define RETURN_OFFSET DEBUG_DRAM+4*197 // Addr of the 2nd last inst of
// this routine
//#define BREAK_I_INST 0xef04 // Break instruction
//#define BREAK_M_DATA 0xef08 // Local buffer modify data
//#define BREAK_S_ADDR 0xef0c // Local buffer modify start address
//#define BREAK_E_ADDR 0xef10 // Local buffer modify end address
//#define RETURN_OFFSET 0xef14 // Addr of the 2nd last inst of this
// routine
#define DB_FLAG_T DEBUG_DRAM+4*198 // DEBUG_FLAG temp copy
#define INT_CTRL_TEMP DEBUG_DRAM+4*199 // Reg274 temp copy
#define DB_FLAG DEBUG_DRAM+4*255
//#define DEBUG_FLAG_T 0xef18 // DEBUG_FLAG temp copy
//#define INT_CTRL_TEMP 0xef1c // Reg274 temp copy
//#define DEBUG_FLAG 0xeffc
#define DSP_INT_STATUS 0x270>>2
#define DSP_INT_CTRL 0x274>>2
#define DSP_INT_CLEAR 0x27c>>2
#define TRAP_CODE_BOOT 0x000
#define TRAP_CODE_BREAK 0x100
#define TRAP_CODE_INT_TRAP 0x200
#define TRAP_CODE_EXT_TRAP 0x300
#define TRAP_CODE_EXT_INTRP 0x400
#define TRAPREGINIT 0x36 // enable Ext Debug, Ext Intr
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -