寄存器描述
本节的变量 n=0~3。
本节的变量N为通道号(从0开始)。
0x000 GPDMA_IRQ_EN_SET_STATE_1
- 写 1 打开中断
- 写 0 忽略不作动作
- 关闭中断参考对应 GPDMA_IRQ_EN_CLR
|
默认值:0x00000000 |
GPDMA中断开启与开启状态 1 (GPDMAInterrupt Request Set State 1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1S |
0x0 |
ch(n)_axiwt_illegal_irq_set 通道 AXI 写地址非法错误中断使能与标志 |
|
6+8*n |
R/W1S |
0x0 |
ch(n)_axird_illegal_irq_set 通道 AXI 读地址非法错误中断使能与标志 |
|
5+8*n |
R/W1S |
0x0 |
ch(n)_ahbwt_illegal_irq_set 通道 AHB 写地址非法错误中断使能与标志 |
|
4+8*n |
R/W1S |
0x0 |
ch(n)_ahbrd_illegal_irq_set 通道 AHB 读地址非法错误中断使能与标志 |
|
3+8*n |
R/W1S |
0x0 |
ch(n)_linkcfg_err_irq_set 通道 LINK 地址错误与 LINK ID 错误中断使能与标志 |
|
2+8*n |
R/W1S |
0x0 |
ch(n)_link_finish_irq_set 通道 n 完成链表(所有任务)中断使能与标志 |
|
1+8*n |
R/W1S |
0x0 |
ch(n)_task_finish_irq_set 通道 n 完成一个任务中断使能与标志 |
|
0+8*n |
R/W1S |
0x0 |
ch(n)_task_half_irq_set 通道 n 完成半个任务中断使能与标志 |
0x004 GPDMA_IRQ_EN_SET_STATE_2
|
默认值:0x00000000 |
GPDMA中断开启与开启状态 2(GPDMAInterrupt Request Set State 2) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1S |
0x0 |
ch(n+4)_axiwt_illegal_irq_set 通道 (n+4) AXI 写地址非法错误中断使能与标志 |
|
6+8*n |
R/W1S |
0x0 |
ch(n+4)_axird_illegal_irq_set 通道 (n+4) AXI 读地址非法错误中断使能与标志 |
|
5+8*n |
R/W1S |
0x0 |
ch(n+4)_ahbwt_illegal_irq_set 通道 (n+4) AHB 写地址非法错误中断使能与标志 |
|
4+8*n |
R/W1S |
0x0 |
ch(n+4)_ahbrd_illegal_irq_set 通道 (n+4) AHB 读地址非法错误中断使能与标志 |
|
3+8*n |
R/W1S |
0x0 |
ch(n+4)_linkcfg_err_irq_set 通道 (n+4) LINK 地址错误与 ID 错误中断使能与标志 |
|
2+8*n |
R/W1S |
0x0 |
ch(n+4)_link_finish_irq_set 通道 (n+4)完成链表(所有任务)中断使能与标志 |
|
1+8*n |
R/W1S |
0x0 |
ch(n+4)_task_finish_irq_set 通道 (n+4)完成一个任务中断使能与标志 |
|
0+8*n |
R/W1S |
0x0 |
ch(n+4)_task_half_irq_set 通道 (n+4)完成半个任务中断使能与标志 |
0x008 GPDMA_IRQ_EN_SET_STATE_3
|
默认值:0x00000000 |
GPDMA中断开启与开启状态 3(GPDMAInterrupt Request Set State 3) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1S |
0x0 |
ch(n+8)_axiwt_illegal_irq_set 通道 (n+8) AXI 写地址非法错误中断使能与标志 |
|
6+8*n |
R/W1S |
0x0 |
ch(n+8)_axird_illegal_irq_set 通道 (n+8) AXI 读地址非法错误中断使能与标志 |
|
5+8*n |
R/W1S |
0x0 |
ch(n+8)_ahbwt_illegal_irq_set 通道 (n+8) AHB 写地址非法错误中断使能与标志 |
|
4+8*n |
R/W1S |
0x0 |
ch(n+8)_ahbrd_illegal_irq_set 通道 (n+8) AHB 读地址非法错误中断使能与标志 |
|
3+8*n |
R/W1S |
0x0 |
ch(n+8)_linkcfg_err_irq_set 通道 (n+8) LINK 地址错误与 ID 错误中断使能与标志 |
|
2+8*n |
R/W1S |
0x0 |
ch(n+8)_link_finish_irq_set 通道 (n+8)完成链表(所有任务)中断使能与标志 |
|
1+8*n |
R/W1S |
0x0 |
ch(n+8)_task_finish_irq_set 通道 (n+8)完成一个任务中断使能与标志 |
|
0+8*n |
R/W1S |
0x0 |
ch(n+8)_task_half_irq_set 通道 (n+8)完成半个任务中断使能与标志 |
0x00C GPDMA_IRQ_EN_SET_STATE_4
|
默认值:0x00000000 |
GPDMA中断开启与开启状态 4(GPDMAInterrupt Request Set State 4) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1S |
0x0 |
ch(n+12)_axiwt_illegal_irq_set 通道 (n+12) AXI 写地址非法错误中断使能与标志 |
|
6+8*n |
R/W1S |
0x0 |
ch(n+12)_axird_illegal_irq_set 通道 (n+12) AXI 读地址非法错误中断使能与标志 |
|
5+8*n |
R/W1S |
0x0 |
ch(n+12)_ahbwt_illegal_irq_set 通道 (n+12) AHB 写地址非法错误中断使能与标志 |
|
4+8*n |
R/W1S |
0x0 |
ch(n+12)_ahbrd_illegal_irq_set 通道 (n+12) AHB 读地址非法错误中断使能与标志 |
|
3+8*n |
R/W1S |
0x0 |
ch(n+12)_linkcfg_err_irq_set 通道 (n+12) LINK 地址错误与 ID 错误中断使能与标志 |
|
2+8*n |
R/W1S |
0x0 |
ch(n+12)_link_finish_irq_set 通道 (n+12)完成链表(所有任务)中断使能与标志 |
|
1+8*n |
R/W1S |
0x0 |
ch(n+12)_task_finish_irq_set 通道 (n+12)完成一个任务中断使能与标志 |
|
0+8*n |
R/W1S |
0x0 |
ch(n+12)_task_half_irq_set 通道 (n+12)完成半个任务中断使能与标志 |
0x020 GPDMA_IRQ_EN_CLR_1
- 写 1 关闭中断
- 写 0 忽略不作动作
- 打开中断参考对应 GPDMA_IRQ_EN_SET_STATE
|
默认值:0x00000000 |
GPDMA中断关闭 1 (GPDMAInterrupt Request Clear 1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
W1C |
0x0 |
ch(n)_axiwt_illegal_irq_clr 通道 AXI 写地址非法错误中断关闭 |
|
6+8*n |
W1C |
0x0 |
ch(n)_axird_illegal_irq_clr 通道 AXI 读地址非法错误中断关闭 |
|
5+8*n |
W1C |
0x0 |
ch(n)_ahbwt_illegal_irq_clr 通道 AHB 写地址非法错误中断关闭 |
|
4+8*n |
W1C |
0x0 |
ch(n)_ahbrd_illegal_irq_clr 通道 AHB 读地址非法错误中断关闭 |
|
3+8*n |
W1C |
0x0 |
ch(n)_linkcfg_err_irq_clr 通道 LINK 地址错误与 LINK ID 错误中断关闭 |
|
2+8*n |
W1C |
0x0 |
ch(n)_link_finish_irq_clr 通道 n 完成链表(所有任务)中断关闭 |
|
1+8*n |
W1C |
0x0 |
ch(n)_task_finish_irq_clr 通道 n 完成一个任务中断关闭 |
|
0+8*n |
W1C |
0x0 |
ch(n)_task_half_irq_clr 通道 n 完成半个任务中断关闭 |
0x024 GPDMA_IRQ_EN_CLR_2
|
默认值:0x00000000 |
GPDMA中断关闭 2(GPDMAInterrupt Request Clear 2) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
W1C |
0x0 |
ch(n+4)_axiwt_illegal_irq_clr 通道 (n+4) AXI 写地址非法错误中断关闭 |
|
6+8*n |
W1C |
0x0 |
ch(n+4)_axird_illegal_irq_clr 通道 (n+4) AXI 读地址非法错误中断关闭 |
|
5+8*n |
W1C |
0x0 |
ch(n+4)_ahbwt_illegal_irq_clr 通道 (n+4) AHB 写地址非法错误中断关闭 |
|
4+8*n |
W1C |
0x0 |
ch(n+4)_ahbrd_illegal_irq_clr 通道 (n+4) AHB 读地址非法错误中断关闭 |
|
3+8*n |
W1C |
0x0 |
ch(n+4)_linkcfg_err_irq_clr 通道 (n+4) LINK 地址错误与 ID 错误中断关闭 |
|
2+8*n |
W1C |
0x0 |
ch(n+4)_link_finish_irq_clr 通道 (n+4)完成链表(所有任务)中断关闭 |
|
1+8*n |
W1C |
0x0 |
ch(n+4)_task_finish_irq_clr 通道 (n+4)完成一个任务中断关闭 |
|
0+8*n |
W1C |
0x0 |
ch(n+4)_task_half_irq_clr 通道 (n+4)完成半个任务中断关闭 |
0x028 GPDMA_IRQ_EN_CLR_3
|
默认值:0x00000000 |
GPDMA中断关闭 3(GPDMAInterrupt Request Clear 3) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
W1C |
0x0 |
ch(n+8)_axiwt_illegal_irq_clr 通道 (n+8) AXI 写地址非法错误中断关闭 |
|
6+8*n |
W1C |
0x0 |
ch(n+8)_axird_illegal_irq_clr 通道 (n+8) AXI 读地址非法错误中断关闭 |
|
5+8*n |
W1C |
0x0 |
ch(n+8)_ahbwt_illegal_irq_clr 通道 (n+8) AHB 写地址非法错误中断关闭 |
|
4+8*n |
W1C |
0x0 |
ch(n+8)_ahbrd_illegal_irq_clr 通道 (n+8) AHB 读地址非法错误中断关闭 |
|
3+8*n |
W1C |
0x0 |
ch(n+8)_linkcfg_err_irq_clr 通道 (n+8) LINK 地址错误与 ID 错误中断关闭 |
|
2+8*n |
W1C |
0x0 |
ch(n+8)_link_finish_irq_clr 通道 (n+8)完成链表(所有任务)中断关闭 |
|
1+8*n |
W1C |
0x0 |
ch(n+8)_task_finish_irq_clr 通道 (n+8)完成一个任务中断关闭 |
|
0+8*n |
W1C |
0x0 |
ch(n+8)_task_half_irq_clr 通道 (n+8)完成半个任务中断关闭 |
0x02C GPDMA_IRQ_EN_CLR_4
|
默认值:0x00000000 |
GPDMA中断关闭 4(GPDMAInterrupt Request Clear 4) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
W1C |
0x0 |
ch(n+12)_axiwt_illegal_irq_clr 通道 (n+12) AXI 写地址非法错误中断关闭 |
|
6+8*n |
W1C |
0x0 |
ch(n+12)_axird_illegal_irq_clr 通道 (n+12) AXI 读地址非法错误中断关闭 |
|
5+8*n |
W1C |
0x0 |
ch(n+12)_ahbwt_illegal_irq_clr 通道 (n+12) AHB 写地址非法错误中断关闭 |
|
4+8*n |
W1C |
0x0 |
ch(n+12)_ahbrd_illegal_irq_clr 通道 (n+12) AHB 读地址非法错误中断关闭 |
|
3+8*n |
W1C |
0x0 |
ch(n+12)_linkcfg_err_irq_clr 通道 (n+12) LINK 地址错误与 ID 错误中断关闭 |
|
2+8*n |
W1C |
0x0 |
ch(n+12)_link_finish_irq_clr 通道 (n+12)完成链表(所有任务)中断关闭 |
|
1+8*n |
W1C |
0x0 |
ch(n+12)_task_finish_irq_clr 通道 (n+12)完成一个任务中断关闭 |
|
0+8*n |
W1C |
0x0 |
ch(n+12)_task_half_irq_clr 通道 (n+12)完成半个任务中断关闭 |
0x040 GPDMA_IRQ_STA_1
|
默认值:0x00000000 |
GPDMA中断状态 1(GPDMAInterrupt States 1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1C |
0x0 |
ch(n)_axiwt_illegal_sta 通道 AXI 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 写指令,接收到对象返回的 ERROR,则产生中断状态。 |
|
6+8*n |
R/W1C |
0x0 |
ch(n)_axird_illegal_sta 通道 AXI 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 读指令,接收到对象返回的 ERROR,则产生中断状态。 |
|
5+8*n |
R/W1C |
0x0 |
ch(n)_ahbwt_illegal_sta 通道 AHB 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 写指令,接收到对象返回的 ERROR,则产生中断状态。 |
|
4+8*n |
R/W1C |
0x0 |
ch(n)_ahbrd_illegal_sta 通道 AHB 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 读指令,接收到对象返回的 ERROR,则产生中断状态。 |
|
3+8*n |
R/W1C |
0x0 |
ch(n)_linkcfg_err_sta 通道 LINK 地址错误中断与 LINK ID 错误中断状态 0: 无中断 1: 有中断 Task 中,源端地址空间或终端地址空间存在跨 0x1_ffff_ffff 边界,则产生中断状态。 Task 中,设置的 ID 与 GPDMA_LINK_ID_SET 不一致,则产生中断状态。 |
|
2+8*n |
R/W1C |
0x0 |
ch(n)_link_finish_irq_sta 通道 n 完成链表(所有任务)中断状态 0: 无中断 1: 有中断 完成 LINK 中所有 Task 传输,则产生中断状态。 |
|
1+8*n |
R/W1C |
0x0 |
ch(n)_task_finish_irq_sta 通道 n 完成一个任务中断状态 0: 无中断 1: 有中断 每完成一个 Task 传输,则产生中断状态。 |
|
0+8*n |
R/W1C |
0x0 |
ch(n)_task_half_irq_sta 通道 n 完成半个任务中断状态 0: 无中断 1: 有中断 每完成半个 Task(传输剩余字节数 ≤1/2 task_len)传输,则产生中断状态(即每个 Task 期间只产生一次中断)。 |
0x044 GPDMA_IRQ_STA_2
|
默认值:0x00000000 |
GPDMA中断状态 2(GPDMAInterrupt States 2) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1C |
0x0 |
ch(n+4)_axiwt_illegal_sta 通道 (n+4) AXI 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 写指令,接收到对象返回的 ERROR,则产生中断状态 |
|
6+8*n |
R/W1C |
0x0 |
ch(n+4)_axird_illegal_sta 通道 (n+4) AXI 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 读指令,接收到对象返回的 ERROR,则产生中断状态 |
|
5+8*n |
R/W1C |
0x0 |
ch(n+4)_ahbwt_illegal_sta 通道 (n+4) AHB 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 写指令,接收到对象返回的 ERROR,则产生中断状态 |
|
4+8*n |
R/W1C |
0x0 |
ch(n+4)_ahbrd_illegal_sta 通道 (n+4) AHB 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 读指令,接收到对象返回的 ERROR,则产生中断状态 |
|
3+8*n |
R/W1C |
0x0 |
ch(n+4)_TASKCFG_ERR_STA 通道 (n+4) LINK 地址错误中断与 ID 错误中断状态 0: 无中断 1: 有中断 Task 中,源端地址空间或终端地址空间存在跨 0x1_ffff_ffff 边界,则产生中断状态 Task 中,设置的 ID 与 GPDMA_LINK_ID_SET 不一致,则产生中断状态 |
|
2+8*n |
R/W1C |
0x0 |
ch(n+4)_link_finish_irq_sta 通道 (n+4)完成链表(所有任务)中断状态 0: 无中断 1: 有中断 完成 LINK 中所有 Task 传输,则产生中断状态 |
|
1+8*n |
R/W1C |
0x0 |
ch(n+4)_task_finish_irq_sta 通道 (n+4)完成一个任务中断状态 0: 无中断 1: 有中断 每完成一个 Task 传输,则产生中断状态 |
|
0+8*n |
R/W1C |
0x0 |
ch(n+4)_task_half_irq_sta 通道 (n+4)完成半个任务中断状态 0: 无中断 1: 有中断 每完成半个 Task(传输剩余字节数<=1/2 task_len)传输,则产生中断状态(即每个 Task 期间只产生一次中断) |
0x048 GPDMA_IRQ_STA_3
|
默认值:0x00000000 |
GPDMA中断状态 3(GPDMAInterrupt States 3) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1C |
0x0 |
ch(n+8)_axiwt_illegal_sta 通道 (n+8) AXI 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 写指令,接收到对象返回的 ERROR,则产生中断状态 |
|
6+8*n |
R/W1C |
0x0 |
ch(n+8)_axird_illegal_sta 通道 (n+8) AXI 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 读指令,接收到对象返回的 ERROR,则产生中断状态 |
|
5+8*n |
R/W1C |
0x0 |
ch(n+8)_ahbwt_illegal_sta 通道 (n+8) AHB 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 写指令,接收到对象返回的 ERROR,则产生中断状态 |
|
4+8*n |
R/W1C |
0x0 |
ch(n+8)_ahbrd_illegal_sta 通道 (n+8) AHB 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 读指令,接收到对象返回的 ERROR,则产生中断状态 |
|
3+8*n |
R/W1C |
0x0 |
ch(n+8)_TASKCFG_ERR_STA 通道 (n+8) LINK 地址错误中断与 ID 错误中断状态 0: 无中断 1: 有中断 Task 中,源端地址空间或终端地址空间存在跨 0x1_ffff_ffff 边界,则产生中断状态 Task 中,设置的 ID 与 GPDMA_LINK_ID_SET 不一致,则产生中断状态 |
|
2+8*n |
R/W1C |
0x0 |
ch(n+8)_link_finish_irq_sta 通道 (n+8)完成链表(所有任务)中断状态 0: 无中断 1: 有中断 完成 LINK 中所有 Task 传输,则产生中断状态 |
|
1+8*n |
R/W1C |
0x0 |
ch(n+8)_task_finish_irq_sta 通道 (n+8)完成一个任务中断状态 0: 无中断 1: 有中断 每完成一个 Task 传输,则产生中断状态 |
|
0+8*n |
R/W1C |
0x0 |
ch(n+8)_task_half_irq_sta 通道 (n+8)完成半个任务中断状态 0: 无中断 1: 有中断 每完成半个 Task(传输剩余字节数<=1/2 task_len)传输,则产生中断状态(即每个 Task 期间只产生一次中断) |
0x04C GPDMA_IRQ_STA_4
|
默认值:0x00000000 |
GPDMA中断状态 4(GPDMAInterrupt States 4) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7+8*n |
R/W1C |
0x0 |
ch(n+12)_axiwt_illegal_sta 通道 (n+12) AXI 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 写指令,接收到对象返回的 ERROR,则产生中断状态 |
|
6+8*n |
R/W1C |
0x0 |
ch(n+12)_axird_illegal_sta 通道 (n+12) AXI 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AXI 读指令,接收到对象返回的 ERROR,则产生中断状态 |
|
5+8*n |
R/W1C |
0x0 |
ch(n+12)_ahbwt_illegal_sta 通道 (n+12) AHB 写地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 写指令,接收到对象返回的 ERROR,则产生中断状态 |
|
4+8*n |
R/W1C |
0x0 |
ch(n+12)_ahbrd_illegal_sta 通道 (n+12) AHB 读地址非法错误中断状态 0: 无中断 1: 有中断 GPDMA发出 AHB 读指令,接收到对象返回的 ERROR,则产生中断状态 |
|
3+8*n |
R/W1C |
0x0 |
ch(n+12)_TASKCFG_ERR_STA 通道 (n+12) LINK 地址错误中断与 ID 错误中断状态 0: 无中断 1: 有中断 Task 中,源端地址空间或终端地址空间存在跨 0x1_ffff_ffff 边界,则产生中断状态 Task 中,设置的 ID 与 GPDMA_LINK_ID_SET 不一致,则产生中断状态 |
|
2+8*n |
R/W1C |
0x0 |
ch(n+12)_link_finish_irq_sta 通道 (n+12)完成链表(所有任务)中断状态 0: 无中断 1: 有中断 完成 LINK 中所有 Task 传输,则产生中断状态 |
|
1+8*n |
R/W1C |
0x0 |
ch(n+12)_task_finish_irq_sta 通道 (n+12)完成一个任务中断状态 0: 无中断 1: 有中断 每完成一个 Task 传输,则产生中断状态 |
|
0+8*n |
R/W1C |
0x0 |
ch(n+12)_task_half_irq_sta 通道 (n+12)完成半个任务中断状态 0: 无中断 1: 有中断 每完成半个 Task(传输剩余字节数<=1/2 task_len)传输,则产生中断状态(即每个 Task 期间只产生一次中断) |
0x080 GPDMA_BUS_CFG
|
默认值:0x00000040 |
GPDMA总线配置 (GPDMABUS Config) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:7 |
- |
- |
- |
|
4 |
- |
- |
- |
|
3 |
R/W |
0x0 |
engine_clr_en 0: Disable 1: Enable 注:
仅Debug使用 |
|
2:0 |
- |
- |
_ |
0x088 GPDMA_LINK_ID_SET
|
默认值:0xa1c86688 |
GPDMA链表 ID 设置 (GPDMALINK ID SET) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0xa1c86688 |
link_id_set 链表中 ID 需与此处设置值一致 所有通道task 的LINK ID 需要与此处一致,否则会产生 linkcfg_err_sta,GPDMA无法正常工作 |
0x090 GPDMA_FIFO_SIZE
|
默认值:0x80 |
GPDMAFIFO 大小 (GPDMAFIFO SIZE) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R |
0x80 |
fifo_size GPDMAFIFO 大小 (每个通道独占FIFO 的大小) |
0x0A0 GPDMA_ALL_CH_STATE
|
默认值:0x00000000 |
GPDMA所有通道状态 (GPDMAAll Channel States) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R |
0x00000000 |
ch(n)_state (每个 bit 分别对应一个通道) 0: 空闲 1: 忙碌 |
0x0FC VERSION
|
默认值:0x00000200 |
版本号 (VERSION) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R |
0x00000200 |
Version (模块版本号) 采用 BCD 码显示,V2.0 |
0x100+N*0x80 GPDMA_CH_CTL_1
|
默认值:0x00000000 |
GPDMA通道控制 1(GPDMAChannel Control 1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:5 |
- |
- |
- |
|
4 |
R/WAC |
0x0 |
ch_reen 通道重新使能 0:关闭 1:使能 当 GPDMA正在传输时,使能 ch_reen,控制器会立即丢弃当前正在传输的任务。重新获取Link,开始新的传输,传输完成会自动清 0(通过1个位域实现ch_abandon+ch_en 2个位域的功能,提高实时性,去掉了软件等待ch_abandon执行完成时间) 注: ch_abandon=0、ch_cur_task_pause=0
且ch_immed_pause=0时,才能操作ch_reen置1 |
|
3:1 |
- |
- |
- |
|
0 |
R/WAC |
0x0 |
ch_en(Channel Enable) 通道使能 0: 关闭 1: 打开 注意 GPDMA传输完成后,该位会自动清零,可以通过读取该位表示 GPDMA当前状态 注:
硬件完成自动清0,不支持软件手动清0。软件手动对ch_en置0,会导致GPDMA工作异常 |
0x104+N*0x80 GPDMA_CH_CTL_2
|
默认值:0x00000000 |
GPDMA通道控制 2(GPDMAChannel Control 2) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:7 |
- |
- |
- |
| 4 | RO | 0x0 | task_busy 0:空闲 1:忙碌 |
|
2 |
R/WAC |
0x0 |
ch_abandon 通道链表丢弃 0:通道链表丢弃完成 1:通道链表丢弃使能 GPDMA立即停止 (不需要等待 Task 完成),并且丢弃所有未完成 Task 传输 GPDMA丢弃完成之后 ,才能关闭其它外设。 注:
与ch_cur_task_pause、ch_immed_pause互斥(ch_cur_task_pause=0
且ch_immed_pause=0时,才能操作ch_abandon置1)。硬件完成自动清0,不支持软件清0。软件手动对ch_abandon置0,会导致GPDMA工作异常 |
|
1 |
R/W |
0x0 |
ch_cur_task_pause 通道当前任务暂停 0: 继续 1: 通道当前任务暂停使能 软件置1之后,GPDMA不会立即暂停。GPDMA完成当前 Task 之后,才会停下传输 注:
与ch_abandon、ch_immed_pause互斥(ch_abandon=0
且ch_immed_pause=0时,才能操作ch_cur_task_pause置1)。需软件手动清0 |
|
0 |
R/W |
0x0 |
ch_immed_pause 通道立即暂停 0: 继续 1: 通道立即暂停使能 GPDMA立即暂停 (不需要等待 Task 完成) 注:
与ch_cur_task_pause、ch_abandon互斥(ch_cur_task_pause=0
且ch_abandon=0时,才能操作ch_immed_pause置1)。需软件手动清0 |
0x108+N*0x80 GPDMA_TASK_ADDR_1
|
默认值:0x00000000 |
GPDMA通道任务地址 1(GPDMAChannel Task Addr 1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
task_addr(Task Address) 任务低 32bit 地址 task_addr_update_en=0:task_addr 与 task_h8bits_addr保持为软件设置的值 task_addr_update_en=1: task_addr 与 task_h8bits_addr 硬件会自动更新为当前正在执行task 的地址 注:
task_h8bits_addr
与task_addr拼接一个完整的40bit地址。 task_addr 必须4Bytes对齐 |
0x10C+N*0x80 GPDMA_TASK_ADDR_2
|
默认值:0x00000000 |
GPDMA通道任务地址 2(GPDMAChannel Task Addr 2 ) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
7:0 |
R/W |
0x0 |
task_h8bits_addr(Task High 8bits Address) GPDMA任务高 8 位地址 与task_addr构成40bit地址 |
0x110+N*0x80 GPDMA_CH_CTL_3
|
默认值:0x00000000 |
GPDMA通道控制 3(GPDMAChannel Control 3) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:24 |
_ |
_ |
_ |
|
15 |
- |
- |
- |
|
14:13 |
R/W |
0x0 |
task_rem_bytes_sel(Task Remain Byte Select) GPDMA剩余待传输字节数模式 0x0:task_rem_bytes=终端剩余待传输字节数 0x1:task_rem_bytes=源端剩余待传输字节数 |
| 11:10 |
_ |
_ |
_ |
|
4 |
R/W |
0x0 |
(ch_wb_en)CH Write Back Enable GPDMA通道回写使能 0: disable 1: enable 需要配合 task_wb_en,只有同时有效,回写才会执行。 GPDMA每完成一个 Task 传输之后,获取源端(回写)的数据,写到终端(回写)。总共2个数据。数据位宽4Bytes 源端(回写)有两种模式选择,参考wb_src_sel 终端(回写)有两种模式选择,参考wb_dst_sel |
0x118+N*0x80 GPDMA_MEM_SET_VAL
|
默认值:0x76543210 |
GPDMA内存设置值 (GPDMAMemory Set Value) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x76543210 |
mem_set_val(Memory Set Value) 内置设置值 当 Type=memoryset,GPDMA会直接把该寄存器的值,写入到终端地址空间,而不需要从源端读取。 |
0x11C+N*0x80 GPDMA_TASK_BCNT
|
默认值:0x00000000 |
GPDMA剩余传输字节数 (GPDMATask Byte Counter ) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:25 |
- |
- |
- |
|
24:0 |
R |
0x0 |
task_rem_bytes(Task Remain
Bytes) GPDMA任务的终端(或源端)剩余待传输字节数 终端或源端的选择由 task_rem_bytes_sel 进行决定 task_rem_bytes_sel =0:终端剩余待传输字节数 task_rem_bytes_sel =1:源端剩余待传输字节数 |
0x120+N*0x80 GPDMA_LINK_ID
|
默认值:0x00000000 |
GPDMA链表 ID(GPDMALink ID) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
LINK ID 链表ID |
0x124+N*0x80 GPDMA_TASK_CFG_1
|
默认值:0x00000000 |
GPDMA任务配置 (GPDMATask Config 1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
30:28 |
R/W |
0x0 |
dst_data_width(Destination Data Width) GPDMA终端数据位宽 (总线上有效数据的位宽)
根据 设备重要配置信息进行选择。 |
|
27:25 |
R/W |
0x0 |
dst_type(Destination Type)
使用 memoryset 时,task 中源端任务链表参数描述必须配置与终端一样。 外设根据其 spec 规格来选择 io_single,io_multi 或 io_fast 关于不同设备的具体传输类型配置,可查看设备源端和终端传输类型。 |
|
24:23 |
R/W |
0x0 |
dst_burst(Destination Burst) GPDMA终端突发数
Burst 推荐为 16 |
|
22:16 |
R/W |
0x0 |
dst_id(Destination ID) GPDMA终端 ID 根据 设备重要配置信息进行选择。 |
|
14:12 |
R/W |
0x0 |
src_data_width(Source Data Width) GPDMA源端数据位宽 (总线上有效数据的位宽) 0x0: 8 位 0x1: 16 位 0x2: 32 位 0x3: 64 位 0x4: 128 位 根据 设备重要配置信息进行选择。 |
|
11:9 |
R/W |
0x0 |
src_type(Source Type) 0x0:io_single (需要握手) 0x1:io_multi (需要握手) 0x2:memory (不需要握手) 0x3:memoryset (不需要握手) 0x4:io_fast(需要握手) 使用 memoryset 时,task 中源端任务链表参数描述必须配置与终端一样。 外设根据其 spec 规格来选择 io_single,io_multi 或 io_fast 关于不同设备的具体传输类型配置,可查看设备源端和终端传输类型。 |
|
8:7 |
R/W |
0x0 |
src_burst(Source Burst) GPDMA源端突发数 0x0: 1 0x1: 4 0x2: 8 0x3: 16 Burst 推荐为 16 |
|
6:0 |
R/W |
0x0 |
src_id(Source ID) GPDMA源端 ID 根据 设备重要配置信息进行选择。 |
0x128+N*0x80 GPDMA_BLOCK_LEN
|
默认值:0x00000000 |
GPDMA块长度 (GPDMABlock Length) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
| 31:16 | - | - | - |
|
15:0 |
R/W |
0x0 |
block_len(Block Length) 块长度,单位 Byte 1.常规传输阶段:当 FIFO 内数据量达到配置的 block_len 时,GPDMA启动将这批数据一次性写入终端。 2.最后传输阶段(当 task_len % block_len != 0 时):由于剩余待传输数据量本身就不足一个 block_len,此时触发阈值会自动适配为剩余量:只要 FIFO 内攒完了这最后 task_len % block_len 字节的剩余数据,GPDMA就直接启动写传输,无需再等待凑满 block_len。( 寄存器block_len的值保持软件设置的值,而非task_len % block_len )
|
0x12C+N*0x80 GPDMA_SRC_ADDR
|
默认值:0x00000000 |
GPDMA源端地址 (GPDMASource Addr) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
src_addr(Source Address) 源端低 32bits地址 使用限制[1:0]=2'b00 (4byte 对齐) 与src_h8_addr构成完整40bits地址 |
0x130+N*0x80 GPDMA_DST_ADDR
|
默认值:0x00000000 |
GPDMA终端地址 (GPDMADestination Addr) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
dst_addr(Destination Address) 终端低32bits地址 [1:0]=2'b00(4byte 对齐) 与dst_h8_addr构成完整40bits地址 |
0x134+N*0x80 GPDMA_TASK_LEN
|
默认值:0x00000000 |
GPDMA任务传输字节长度 (GPDMATASK LENGTH) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31 |
R/W |
0x0 |
task_wb_en(Task Write Back Enable) 需要配合 ch_wb_en,只有同时有效,回写才会执行。 GPDMA每完成一个 Task 传输之后,获取源端(回写)的数据,写到终端(回写)。总共2个数据。数据位宽4Bytes 源端(回写)有两种模式选择,参考wb_src_sel 终端(回写)有两种模式选择,参考wb_dst_sel |
|
30 |
- |
- |
- |
|
24:0 |
R/W |
0x0 |
task_len(Task Length) GPDMA当前 TASK 需要传输的数据长度单位 Bytes |
0x138+N*0x80 GPDMA_TASK_CFG_2
|
默认值:0x00000000 |
GPDMA已传任务数量 (GPDMATASK CONFIG 2) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:28 |
R/W |
0x0 |
src_ahb_hprot 终端访问总线 HPROT,对应 AHB 接口 HPROT 信号 注: 仅Debug使用 |
|
27:24 |
R/W |
0x0 |
dst_ahb_hprot 源端访问总线 HPROT,对应 AHB 接口 HPROT 信号 注: 仅Debug使用 |
|
23:16 |
R/W |
0x0 |
next_task_h8_addr Next Task High 8 bits Address下一任务高8bit地址 与next_task_addr 构成完整的40bits地址 注: 最后一个Task的next_task_h8_addr必须等于0xFF,GPDMA才会自动结束 |
|
15:8 |
R/W |
0x0 |
dst_h8_addr Destination High 8 bits Address终端高 8bits 起始地址 与dst_addr 构成完整的40bits地址 |
|
7:0 |
R/W |
0x0 |
src_h8_addr Source High 8 bits Address源端高 8bits 起始地址 与src_addr 构成完整的40bits地址 |
0x13C+N*0x80 GPDMA_NEXT_TASK_ADDR
|
默认值:0x00000000 |
GPDMA下一任务地址 (Next Task Addr) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
next_task_addr(Next Task Address) 下一任务低 32 bits 地址 与next_task_h8_addr 构成完整的40bits地址注: 必须4Bytes对齐 |
0x140+N*0x80 GPDMA_WB_RADDR1
|
默认值:0x00000000 |
GPDMA回写读地址1 (Write Back Read Addr1 ) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
wb_raddr1(Write Back Read Addr1 ) 回写读地址1 任务完成之后,GPDMA会从对应地址空间,获取回写数据。 注:
必须4Bytes对齐 |
0x144+N*0x80 GPDMA_WB_RADDR2
|
默认值:0x00000000 |
GPDMA回写读地址2 (Write Back Read Addr2 ) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x0 |
wb_raddr2( Write Back Read Addr2 ) 回写读地址2 任务完成之后,GPDMA会从对应地址空间,获取回写数据。 注:
必须4Bytes对齐 |
0x148+N*0x80 GPDMA_WB_DATA1
|
默认值:0x00000001 |
GPDMA源端回写数据1 (Write Back Data1) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x1 |
wb_data1(Write Back Data1) 回写的数据1 |
0x14C+N*0x80 GPDMA_WB_DATA2
|
默认值:0x00000001 |
GPDMA回写数据2 (Write Back Data2) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:0 |
R/W |
0x1 |
wb_data2(Write Back Data2) 回写的数据2 |
0x150+N*0x80 GPDMA_TASK_CNT
|
默认值:0x00000000 |
GPDMA当前执行任务数 (GPDMATask Counter ) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:10 |
- |
- |
- |
|
9:0 |
R |
0x0 |
task_cnt(Task Counter)
GPDMA当前正在执行第几个任务
|
0x154+N*0x80 GPDMA_CFG_SEL
|
默认值:0x00000000 |
GPDMA配置选择 (GPDMACONFIG SELECT ) |
||
|---|---|---|---|
|
位域 |
类型 |
默认值 |
描述 |
|
31:5 |
- |
- |
- |
|
4 |
R/W |
0x0 |
task_addr_update_en 任务地址更新使能0:关闭 ( TASK_ADDR_1 与 TASK_ADDR_2 保持初始值) 1:使能 ( TASK_ADDR_1 与 TASK_ADDR_2 更新为当前 正在执行task 的地址) |
|
3:2 |
- |
- |
- |
|
1 |
R/W |
0x0 |
link_src_sel(Link Source Selection ) LINK 来源选择 0:GPDMA根据 TASK_ADDR_1 与 TASK_ADDR_2 寄存器中配置的地址,去对应地址空间读取LINK 1:选择从 GPDMA_LINK_ID 、GPDMA_ TASK_CFG_1 、GPDMA_ BLOCK_LEN 、GPDMA_SRC_ADDR 、GPDMA_DST_ADDR 、GPDMA_TASK_LEN 、GPDMA_TASK_CFG_2 与GPDMA_NEXT_TASK_ADDR 寄存器获取LINK link_src_sel=1时:仅支持单个Task。设置GPDMA_NEXT_TASK_ADDR(寄存器)=GPDMA_LINK_ID (寄存器)的地址实现回环功能。 |
|
0 |
_ |
_ |
_ |
