Code: |
AS + 720 |
Symbolic: |
bccBreakpAdd |
This command will request to add a breakpoint, with the following parameters:
Offset |
Type |
Label |
Description |
||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 |
U32 |
DSID |
Debug session ID |
||||||||||||||||||||||||
4 |
U8 |
MODE |
Breakpoint modality: 0=Inactive 1=Active 2=Active only for MCNT times 3=Skip MCNT times before active |
||||||||||||||||||||||||
5 |
U16 |
MCNT |
Parameter for MODE field |
||||||||||||||||||||||||
7 |
U8 |
WHAT |
What to set as breakpoint: 1=Physical address. WDATA is:
2=Process and step number. WDATA is:
3=Variable. WDATA is a standard VAR structure (#1) |
||||||||||||||||||||||||
8 |
U8 |
WDATA[10] |
Data for what field, format according WHAT value. |
||||||||||||||||||||||||
18 |
U8 |
TYPE |
Breakpoint type: 1=Execution (fetch) 2=Write 3=Read/Write |
||||||||||||||||||||||||
19 |
U8 |
COND |
Breakpoint condition (for TYPE 2 and 3) refer to CDATA field: 0=No condition 1=Equal 2=Different 3=Less than 4=Less or equal than 5=Greater than 6=Greater or equal than 7=Mask equal (use CMASK field) 8=Mask not equal (use CMASK field) |
||||||||||||||||||||||||
20 |
B8 |
CDATA[8] |
Breakpoint condition data: format is depending on WHAT field (and VAR base type for WHAT=3). |
||||||||||||||||||||||||
28 |
U32 |
CMASK |
Breakpoint condition mask, for COND 7 and 8. |
||||||||||||||||||||||||
32 |
U32 |
FLAGS |
Breakpoint flags: 0x00000001 Stop process (when BP reached) 0x00000002 Stop trace (when BP reached) 0x00000004 Save storage (when BP reached) |
||||||||||||||||||||||||
36 |
STRZ |
INFO |
Optional ascii information (for WHAT=3 variable name) |
(#1) String type variables are not supported in this operation.
On success, a bccAck is received with the following data:
Offset |
Type |
Label |
Description |
---|---|---|---|
0 |
U32 |
BPID |
Breakpoint unique ID |
On failure, a bccNack is received. Specific errors:
NACK code |
Description |
Extra data |
---|---|---|
nackOutOfResource |
Unable to set more breakpoints |
|
nackIllegalArgs |
Illegal arguments |
U16 What illegal: 1=Address 2=Process ID 3=Step (in process) 4=Variable 5=Mode 6=What 7=Cond 8=Flags 9=Type 10=Adress already has a BP |
nackIllegalDebug |
Illegal debug session |
|