Read/Write Single Register Block via SWD.
More...
Read/Write Single Register Block via SWD.
Block access is a multiple 32-bit Read or Write of the same register. Register address depends on the DPBANKSEL/APBANKSEL and A3..2. The command can execute several read/write operations on a single DP/AP register. Transfer is aborted on error:
- Protocol Error
- Target FAULT response
- Target WAIT responses exceed configured value
Command to request the SWD data transfer.
BYTE | BYTE **********| BYTE *************| WORD *********|
> 0x16 | Transfer Count | Transfer Request | Transfer Data |
******|****************|*******************|+++++++++++++++|
Respons to the data transfer request.
BYTE | BYTE **********| BYTE *************| WORD *********|
< 0x16 | Transfer Count | Transfer Response | Transfer Data |
******|****************|*******************|+++++++++++++++|
Where
- Transfer Count: Number of transfers: 1..65535
- Host requests the number of transfers.
- Target responds with actual number of transfers executed.
- Transfer Request: Contains information about requested access from host
- Bit0: APnDP 0 := DP (Debug Port) 1 := AP (Access Port)
- Bit1: RnW 0 := Write Register 1 := Read Register
- Bit2: A2 := Register Address bit 2
- Bit3: A3 := Register Address bit 3
- Transfer Response: Contains information about response from target
- Bit2..0: ACK (Acknowledge) 001B - OK (Success) 010B - WAIT 100B - FAULT
- Bit3: Protocol Error
- Transfer Data: Register value
- Write Register:
- Request:
WORD **********|
> Register Value |
++++++++++++++++|
- Response: No Data
- Read Register:
- Request: No Data
- Response:
WORD **********|
< Register Value |
+++++++++++++++|
- Write Match Mask:
- Request:
WORD ******|
> Match Mask |
************|
- Response: No Data
- Read Register with Value Match:
- Request:
WORD *******|
> Match Value |
*************|
- Response: No Data