比特位 | 名称 | 描述 |
---|---|---|
0 | 起始 | 必须为1 |
1 | APnDP | 0: 访问DP 1: 访问AP |
2 | RnW | 0: 写请求 1: 读请求 |
4:3 | A(3:2) | DP或AP寄存器的地址 |
5 | Parity | 前面比特位的检验位 |
6 | Stop | 0 |
7 | Park | 不能由主机驱动,由于有上拉,目标永远读1 |
比特位 | 名称 | 描述 |
---|---|---|
0..2 | ACK | 001:失败 010:等待 100:成功 |
比特位 | 名称 | 描述 |
---|---|---|
0..31 | WDATA/RDATA | 写或读的数据 |
32 | Parity | 32位数据的奇偶校验位 |
A(3:2) | 读/写 | SELECT 寄存器的CTRLSEL位 | 寄存器 | 描述 |
---|---|---|---|---|
00 | 读 | ID代码寄存器, IDCODE | ||
00 | 写 | 中止寄存器, ABORT | ||
01 | 读/写 | 0 | DP控制/状态寄存器, CTRL/STAT | - 请求一个系统或调试的上电操作 - 配置AP访问的操作模式 - 控制比较,校验操作 - 读取一些状态位(溢出,上电响应) |
01 | 读/写 | 1 | 线控制寄存器, WCR | 配置串行通信物理层协议(如转换时间长度等) |
10 | 读 | 读再发寄存器, RESEND | 允许从一个错误的调试传输中恢复数据而不用重复最初的AP传输 | |
10 | 写 | AP 选择寄存器, SELECT | 选择当前的访问端口和有效的4字长寄存器窗口 | |
11 | 读 | 读缓冲,RDBUFF | 由于AP的访问具有传递性(当前AP读操作的结果会在下次AP传输时传出), 因此这个寄存器非常必要。这个寄存器会从AP捕获上一次读操作的数据结果,因此可以获得数据而不必再启动一个新的AP传输 |
比特位 | 功能 | 描述 |
---|---|---|
31:5 | - | 保留, SBZ |
4 | ORUNERRCLR | 向该位写 1,将STICKYORUN 溢出错误标志清零 |
3 | WDERRCLR | 向该位写 1,将WDATAERR 写数据错误标志清零 |
2 | STKERRCLR | 向该位写 1,将STICKYERR sticky 错误标志清零 |
1 | STKCMPCLR | 向该位写 1,将STICKYCMP sticky 比较标志清零 |
0 | DAPABORT | 向该位写1 来产生DAP 中止。它将中止当前的AP 处理。该操作只有当处理器在扩展周期上接收到WAIT 响应时才执行 |
比特位 | 功能 | 描述 |
---|---|---|
31:28 | Version | 版本代码。该区域的含义由实现定义 |
27:12 | PARTNO | DP 的元件型号。该值由调试端口的设计人员提供,并且不可以改变 |
11:1 | MANUFACTURER | JEDEC 厂商ID,这个11 位的JEDEC 代码用来标识器件的厂商, 见JEDEC 厂商ID |
0 | - | 始终为0b1 |
JEP-106 区域 | 位 | ARM 公司注册的值 |
---|---|---|
扩展代码 | 4位,11:8 | b0100,0x4 |
标识代码 | 7位,7:1 | b0111011,0x3B |
位 | 访问 | 功能 | 描述 |
---|---|---|---|
31 | RO | CSYSPWRUPACK | 系统掉电确认 |
30 | R/W | CSYSPWRUPREQ | 系统上电请求 复位之后,该位为低电平(0) |
29 | RO | CDBGPWRUPACK | 调试上电确认 |
28 | R/W | CDBGPWRUPREQ | 调试上电请求 复位之后,该位为低电平(0) |
27 | RO | CDBGRSTACK | 调试复位确认 |
26 | R/W | CDBGRSTREQ | 调试复位请求 复位之后,该位为低电平(0) |
25:24 | - | - | 保留,RAZ/SBZP |
21:12 | R/W | TRNCNT | 处理计数器 复位之后,该区域的值不可预知 |
11:8 | R/W | MASKLANE | 表示推动比较和推动验证操作中被屏蔽的字节。见推动比较和推动验证操作的MASKLANE 和位屏蔽部分。 复位之后,该区域的值不可预知 |
7 | RO | WDATAERR | 如果出现写数据错误,该位置位。它在以下情况下置位: - 写操作的数据阶段出现数据帧的奇偶校验错误 - 已经被 DP 接受的写操作然后在没有提交给AP 的情况下放弃。 该位可通过向中止寄存器的WDERRCLR写1 来清零。见中止寄存器,ABORT 复位之后,该位为低电平(0)。 |
6 | RO | READOK | 如果前面的 AP 或RDBUFF 得到OK 响应,则该位置位。如果不是OK 响应,该位清零。该标志始终表示对上一次 AP 读访问的响应。 复位之后,该位为低电平(0) |
5 | RO | STICKYERR | 如果AP 处理返回一个错误,则该位置位。为了将其清零: 在 JTAG-DP 上:向该寄存器的这个位写1。 在 SW-DP 上: 向中止寄存器的STKERRCLR 写1,见中止寄存器,ABORT。 复位之后,该位为低电平(0) |
4 | RO | STICKYCMP | 如果推动比较或推动验证操作时出现相等的情况,该位置位。为了将其清零: 在 JTAG-DP 上:向该寄存器的这个位写1。 在 SW-DP 上: 向中止寄存器的STKCMPCLR 写1,见中止寄存器,ABORT。 复位之后,该位为低电平(0) |
3:2 | R/W | TRNMODE | 该区域用来设置AP 操作的传输模式,见传输模式(TRNMODE) 复位之后,该位为低电平(0) |
1 | RO | STICKYORUN | 如果溢出检测使能(见该寄存器的位0),则在出现溢出时该位置位。为了将其清零: 在 JTAG-DP 上:向该寄存器的这个位写1。 在 SW-DP 上: 向中止寄存器的ORUNERRCLR 写1,见中止寄存器,ABORT。 复位之后,该位为低电平(0) |
0 | R/W | ORUNDETECT | 该位设为1 来使能溢出检测。 复位之后,该位为低电平(0) |
MASKLANE | 含义 | 用于比较操作的屏蔽结果 |
---|---|---|
b1xxx | 比较中包含字节通道3 | 0xFF- - - - - - |
bx1xx | 比较中包含字节通道2 | 0x- - FF- - - - |
bxx1x | 比较中包含字节通道1 | 0x- - - - FF- - |
bxxx1 | 比较中包含字节通道0 | 0x- - - - - - FF |
TRNMODE | AP 传输模式 |
---|---|
b00 | 常规操作 |
b01 | 推动验证操作 |
b10 | 推动比较操作 |
b11 | 保留 |
位 | 功能 | 描述 |
---|---|---|
31:24 | APSEL | 选择当前AP 该区域的复位值不可预知 |
23:8 | - | 保留,SBZ/RAZ |
7:4 | APBANKSEL | 在当前的AP 上选择有效的4 字寄存器窗口。 该区域的复位值不可预知 |
3:1 | - | 保留,SBZ/RAZ |
0 | CTRLSEL | SW-DP 调试端口的地址组选择,见CTRL/STAT,只用于SW-DP。 复位之后,该位为 b0。AP 选择寄存器是只写的,因此,不能读出这个值 |
CTRLSEL | 地址 b01 的DP 寄存器 |
---|---|
0 | CTRL/STAT,见控制/状态寄存器,CTRL/STAT |
1 | WCR,见线控制寄存器,WCR(只用于SW-DP) |
位 | 功能 | 描述 |
---|---|---|
31:10 | - | 保留,SBZ/RAZ |
9:8 | TURNROUND | 掉转三态周期,见掉转三态周期,TURNROUND 复位之后,该区域为 b00 |
7:6 | WIREMODE | 表示与DP 相连的串行线的操作模式。见线操作模式,WIREMODE 复位之后,该区域为 b01 |
5:3 | - | 保留,SBZ/RAZ |
2:0 | PRESCALER | 保留,SBZ/RAZ |
TURNROUND | 掉转周期 |
---|---|
b00 | 1 个采样周期 |
b01 | 2 个采样周期 |
b10 | 3 个采样周期 |
b11 | 4 个采样周期 |
WIREMODE | 线操作模式 |
---|---|
b00 | 保留 |
b01 | 同步(无过采样(oversampling)) |
b1x | 保留 |