![]() |
CI130X SDK API手册
2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
|
CI130X芯片dma驱动 更多...
结构体 | |
| struct | LLI_Control |
| DMA的链表传输配置结构体 更多... | |
| struct | dma_config_t |
| FLASH的DMA传输配置结构体 更多... | |
类型定义 | |
| typedef void(* | dma_callback_func_ptr_t) (void) |
| dma完成回调函数指针 更多... | |
函数 | |
| void | clear_dma_translate_flag (DMACChannelx dmachannel) |
| 清除dma中断标志 更多... | |
| int | wait_dma_translate_flag (DMACChannelx dmachannel, uint32_t timeout) |
| 等待dma中断标志 更多... | |
| void | dma_without_os_int (void) |
| 使用全局变量设置中断触发状态,并清除中断 更多... | |
| void | dma_irq_handler (void) |
| DMA中断处理函数 更多... | |
| int | DMAC_IntStatus (DMACChannelx dmachannel) |
| DMA通道屏蔽后的中断状态(只要有通道传输完成中断或者通道传输错误中断的一个) 更多... | |
| int | DMAC_IntTCStatus (DMACChannelx dmachannel) |
| DMA通道传输完成中断状态 更多... | |
| void | DMAC_IntTCClear (DMACChannelx dmachannel) |
| 清除DMA通道传输完成中断状态 更多... | |
| int | DMAC_IntErrorStatus (DMACChannelx dmachannel) |
| DMA通道传输错误中断状态 更多... | |
| void | DMAC_IntErrorClear (DMACChannelx dmachannel) |
| 清除DMA通道传输错误中断状态 更多... | |
| int | DMAC_RawIntTCStatus (DMACChannelx dmachannel) |
| DMA通道原始的(屏蔽前)中断状态(只要有通道传输完成中断或者通道传输错误中断的一个) 更多... | |
| int | DMAC_RawErrorIntStatus (DMACChannelx dmachannel) |
| DMA通道传输错误原始(屏蔽前)中断状态 更多... | |
| int | DMAC_ChannelEnableStatus (DMACChannelx dmachannel) |
| DMA通道使能状态 更多... | |
| void | DMAC_SoftwareBurstReq (DMACChannelx dmachannel) |
| DMA通道软件突发传输请求 更多... | |
| void | DMAC_SoftwareSingleReq (DMACChannelx dmachannel) |
| DMA通道软件单次传输请求 更多... | |
| void | DMAC_SoftwareLastBurstReq (DMACChannelx dmachannel) |
| DMA通道软件最后一次突发传输请求 更多... | |
| void | DMAC_SoftwareLastSingleReq (DMACChannelx dmachannel) |
| DMA通道软件最后一次单次传输请求 更多... | |
| void | DMAC_Config (DMAC_AHBMasterx dmamaster, ENDIANMODE endianmode) |
| DMA控制器AHB MASTER 字节端序的配置 更多... | |
| void | DMAC_EN (FunctionalState cmd) |
| DMA控制器使能 更多... | |
| void | DMAC_ChannelSoureAddr (DMACChannelx dmachannel, unsigned int addr) |
| DMA通道源地址配置 更多... | |
| void | DMAC_ChannelDestAddr (DMACChannelx dmachannel, unsigned int addr) |
| DMA通道目标地址配置 更多... | |
| void | DMAC_ChannelLLI (DMACChannelx dmachannel, unsigned int dmalli, DMAC_AHBMasterx dmamaster) |
| DMA通道 LLI 配置 更多... | |
| void | DMAC_ChannelSourceConfig (DMACChannelx dmachannel, INCREMENTx inc, DMAC_AHBMasterx dmamaster, TRANSFERWIDTHx transferwidth, BURSTSIZEx brustsize) |
| DMA通道源的相关配置 更多... | |
| void | DMAC_ChannelDestConfig (DMACChannelx dmachannel, INCREMENTx inc, DMAC_AHBMasterx dmamaster, TRANSFERWIDTHx transferwidth, BURSTSIZEx brustsize) |
| DMA通道目标的相关配置 更多... | |
| void | DMAC_ChannelTCInt (DMACChannelx dmachannel, FunctionalState cmd) |
| DMA通道传输完成中断使能配置 更多... | |
| void | DMAC_ChannelProtectionConfig (DMACChannelx dmachannel, DMAC_ACCESS_MODE access_mode, BUFFERABLEx bufferable, CACHEABLEx cacheable) |
| DMA通道保护位的设置 更多... | |
| void | DMAC_ChannelTransferSize (DMACChannelx dmachannel, unsigned short size) |
| DMA通道传输大小配置 更多... | |
| unsigned int | DMAC_ChannelCurrentTransferSize (DMACChannelx dmachannel) |
| 当前DMA通道,还剩余多少数据尚未传输,以字节为单位 更多... | |
| void | DMAC_ChannelDisable (DMACChannelx dmachannel) |
| DMA通道传输禁止 更多... | |
| void | DMAC_ChannelEnable (DMACChannelx dmachannel) |
| DMA通道传输使能 更多... | |
| void | DMAC_ChannelInterruptMask (DMACChannelx dmachannel, CHANNELINTMASKx channelintmask, FunctionalState cmd) |
| DMA通道中断屏蔽配置 更多... | |
| void | DMAC_ChannelPowerDown (DMACChannelx dmachannel, FunctionalState cmd) |
| DMA通道传输Power控制 更多... | |
| void | DMAC_ChannelHalt (DMACChannelx dmachannel, FunctionalState cmd) |
| DMA通道传输(中停)Halt 更多... | |
| void | DMAC_ChannelConfig (DMACChannelx dmachannel, char destperiph, char srcperiph, DMAC_FLOWCTRL flowctrl) |
| DMA通道其他相关配置 更多... | |
| void | DMAC_ChannelLock (DMACChannelx dmachannel, FunctionalState cmd) |
| DMA通道传输锁 更多... | |
| void | DMAC_M2MConfig (DMACChannelx dmachannel, unsigned int srcaddr, unsigned int destaddr, unsigned int bytesize, DMAC_AHBMasterx master) |
| DMA通道传输 内存到内存 更多... | |
| void | DMAC_M2P_P2M_advance_config (DMACChannelx dmachannel, DMAC_Peripherals periph, DMAC_FLOWCTRL flowctrl, unsigned int srcaddr, unsigned int destaddr, unsigned int bytesize, TRANSFERWIDTHx datawidth, BURSTSIZEx burstsize, DMAC_AHBMasterx master) |
| DMA通道传输 内存到外设,外设到内存 更多... | |
| void | DMAC_M2P_P2MConfig (DMACChannelx dmachannel, DMAC_Peripherals periph, DMAC_FLOWCTRL flowctrl, unsigned int srcaddr, unsigned int destaddr, unsigned int bytesize) |
| DMA通道传输 内存到外设,外设到内存 更多... | |
| void | spic_dma_config (DMACChannelx channel, dma_config_t *config) |
| 配置FLASH的DMA传输 更多... | |
| unsigned int | DMAC_LLIContrlreturn (LLI_Control *lli_ctrl) |
| DMA 链表配置结构体初始化 更多... | |
| void | DMAC_ChannelLLIControl (DMACChannelx dmachannel, unsigned int val) |
| DMA配置控制寄存器 更多... | |
CI130X芯片dma驱动
| struct LLI_Control |
DMA的链表传输配置结构体
| 成员变量 | ||
|---|---|---|
| DMAC_ACCESS_MODE | AccessMode |
访问模式 |
| BUFFERABLEx | BufferAble |
缓冲使能 |
| CACHEABLEx | CacheAble |
cache缓冲使能 |
| BURSTSIZEx | DestBurstSize |
目的突发传输大小 |
| INCREMENTx | DestInc |
目的地址递增 |
| DMAC_AHBMasterx | DestMaster |
目的master |
| TRANSFERWIDTHx | DestTransferWidth |
目的传输数据宽度 |
| BURSTSIZEx | SrcBurstSize |
源突发传输大小 |
| INCREMENTx | SrcInc |
源地址递增 |
| DMAC_AHBMasterx | SrcMaster |
源master |
| TRANSFERWIDTHx | SrcTransferWidth |
源传输数据宽度 |
| FunctionalState | TCInt |
传输完成中断使能 |
| unsigned short | TransferSize |
单次链表传输大小 |
| struct dma_config_t |
FLASH的DMA传输配置结构体
| 成员变量 | ||
|---|---|---|
| BURSTSIZEx | busrtsize |
突发传输大小 |
| uint32_t | destaddr |
传输目的地址 |
| DMAC_FLOWCTRL | flowctrl |
流控类型选择 |
| uint32_t | srcaddr |
传输源地址 |
| uint32_t | transfersize |
传输数据大小 |
| TRANSFERWIDTHx | transferwidth |
传输数据宽度 |
| typedef void(* dma_callback_func_ptr_t) (void) |
dma完成回调函数指针
| void clear_dma_translate_flag | ( | DMACChannelx | dmachannel | ) |
清除dma中断标志
| dmachannel | DMA通道选择 |
| void dma_irq_handler | ( | void | ) |
DMA中断处理函数
| void dma_without_os_int | ( | void | ) |
使用全局变量设置中断触发状态,并清除中断
| void DMAC_ChannelConfig | ( | DMACChannelx | dmachannel, |
| char | destperiph, | ||
| char | srcperiph, | ||
| DMAC_FLOWCTRL | flowctrl | ||
| ) |
DMA通道其他相关配置
| dmachannel | DMA通道选择 |
| destperiph | 目标外设 |
| srcperiph | 源外设 |
| flowctrl | 流控类型选择 |
| unsigned int DMAC_ChannelCurrentTransferSize | ( | DMACChannelx | dmachannel | ) |
当前DMA通道,还剩余多少数据尚未传输,以字节为单位
| dmachannel | DMA通道选择 |
| void DMAC_ChannelDestAddr | ( | DMACChannelx | dmachannel, |
| unsigned int | addr | ||
| ) |
DMA通道目标地址配置
| dmachannel | DMA通道选择 |
| addr | 目标地址 |
| void DMAC_ChannelDestConfig | ( | DMACChannelx | dmachannel, |
| INCREMENTx | inc, | ||
| DMAC_AHBMasterx | dmamaster, | ||
| TRANSFERWIDTHx | transferwidth, | ||
| BURSTSIZEx | brustsize | ||
| ) |
DMA通道目标的相关配置
| dmachannel | DMA通道选择 |
| inc | 目标地址是否增长,INCREMENT,增长;NOINCREMENT,不增长 |
| dmamaster | 目标 搬运使用的DMA AHB master接口, |
| transferwidth | 目标 传输数据的位宽 |
| brustsize | 目标 突发传输的大小 |
| void DMAC_ChannelDisable | ( | DMACChannelx | dmachannel | ) |
DMA通道传输禁止
| dmachannel | DMA通道选择 |
| void DMAC_ChannelEnable | ( | DMACChannelx | dmachannel | ) |
DMA通道传输使能
| dmachannel | DMA通道选择 |
| int DMAC_ChannelEnableStatus | ( | DMACChannelx | dmachannel | ) |
DMA通道使能状态
| dmachannel | DMA通道选择 |
| void DMAC_ChannelHalt | ( | DMACChannelx | dmachannel, |
| FunctionalState | cmd | ||
| ) |
DMA通道传输(中停)Halt
| dmachannel | DMA通道选择 |
| cmd | ENABLE 传输被Halt;DISABLE 传输不Halt |
| void DMAC_ChannelInterruptMask | ( | DMACChannelx | dmachannel, |
| CHANNELINTMASKx | channelintmask, | ||
| FunctionalState | cmd | ||
| ) |
DMA通道中断屏蔽配置
| dmachannel | DMA通道选择 |
| channelintmask | CHANNELINTMASK_ITC 传输完成中断;CHANNELINTMASK_IE 传输错误中断 |
| cmd | ENABLE,屏蔽;DISABLE,不屏蔽 |
| void DMAC_ChannelLLI | ( | DMACChannelx | dmachannel, |
| unsigned int | dmalli, | ||
| DMAC_AHBMasterx | dmamaster | ||
| ) |
DMA通道 LLI 配置
| dmalli | 下一个LLI结构体的首地址,(该地址必须是4字节边界对齐),LLI结构体必须依次包含:源地址、目标地址、下一个LLI的首地址、通道控制寄存器 |
| dmamaster | 加载LLI的AHB MASTER |
| void DMAC_ChannelLLIControl | ( | DMACChannelx | dmachannel, |
| unsigned int | val | ||
| ) |
DMA配置控制寄存器
| dmachannel | DMA通道选择 |
| val | 配置的寄存器值 |
| void DMAC_ChannelLock | ( | DMACChannelx | dmachannel, |
| FunctionalState | cmd | ||
| ) |
DMA通道传输锁
| dmachannel | DMA通道选择 |
| cmd | ENABLE 传输锁住;DISABLE 传输不锁 |
| void DMAC_ChannelPowerDown | ( | DMACChannelx | dmachannel, |
| FunctionalState | cmd | ||
| ) |
DMA通道传输Power控制
| dmachannel | DMA通道选择 |
| cmd | ENABLE Power关闭;DISABLE Power打开 |
| void DMAC_ChannelProtectionConfig | ( | DMACChannelx | dmachannel, |
| DMAC_ACCESS_MODE | access_mode, | ||
| BUFFERABLEx | bufferable, | ||
| CACHEABLEx | cacheable | ||
| ) |
DMA通道保护位的设置
| dmachannel | DMA通道选择 |
| access_mode | 访问模式,DMAC_ACCESS_USERMODE 用户模式;DMAC_ACCESS_PRIVILEGEDMODE,特权模式 |
| bufferable | 缓冲使能设置,NONBUFFERABLE 无缓冲;BUFFERABLE 缓冲使能 |
| cacheable | cache缓存使能设置,CACHEABLE cache使能;NONCACHEABLE 无cache |
| void DMAC_ChannelSourceConfig | ( | DMACChannelx | dmachannel, |
| INCREMENTx | inc, | ||
| DMAC_AHBMasterx | dmamaster, | ||
| TRANSFERWIDTHx | transferwidth, | ||
| BURSTSIZEx | brustsize | ||
| ) |
DMA通道源的相关配置
| dmachannel | DMA通道选择 |
| inc | 源地址是否增长,INCREMENT,增长;NOINCREMENT,不增长 |
| dmamaster | 源 搬运使用的DMA AHB master接口, |
| transferwidth | 源 传输数据的位宽 |
| brustsize | 源 突发传输的大小 |
| void DMAC_ChannelSoureAddr | ( | DMACChannelx | dmachannel, |
| unsigned int | addr | ||
| ) |
DMA通道源地址配置
| dmachannel | DMA通道选择 |
| addr | 源地址 |
| void DMAC_ChannelTCInt | ( | DMACChannelx | dmachannel, |
| FunctionalState | cmd | ||
| ) |
DMA通道传输完成中断使能配置
| dmachannel | DMA通道选择 |
| cmd | ENABLE,中断使能;DISABLE,中断禁止 |
| void DMAC_ChannelTransferSize | ( | DMACChannelx | dmachannel, |
| unsigned short | size | ||
| ) |
DMA通道传输大小配置
| dmachannel | DMA通道选择 |
| size | 传输大小(1~4095),如果为0,DMA不会进行数据传输 |
| void DMAC_Config | ( | DMAC_AHBMasterx | dmamaster, |
| ENDIANMODE | endianmode | ||
| ) |
DMA控制器AHB MASTER 字节端序的配置
| dmamaster | DMAC_AHBMaster1,DMAC_AHBMaster2 |
| endianmode | LittleENDIANMODE 小端,低字节存放低地址;BigENDIANMODE,大端,低字节存放高地址 |
| void DMAC_EN | ( | FunctionalState | cmd | ) |
DMA控制器使能
| cmd | ENABLE,使能;DISABLE,禁止 |
| void DMAC_IntErrorClear | ( | DMACChannelx | dmachannel | ) |
清除DMA通道传输错误中断状态
| dmachannel | DMA通道选择 |
| int DMAC_IntErrorStatus | ( | DMACChannelx | dmachannel | ) |
DMA通道传输错误中断状态
| dmachannel | DMA通道选择 |
| int DMAC_IntStatus | ( | DMACChannelx | dmachannel | ) |
DMA通道屏蔽后的中断状态(只要有通道传输完成中断或者通道传输错误中断的一个)
| dmachannel | DMA通道选择 |
| void DMAC_IntTCClear | ( | DMACChannelx | dmachannel | ) |
清除DMA通道传输完成中断状态
| dmachannel | DMA通道选择 |
| int DMAC_IntTCStatus | ( | DMACChannelx | dmachannel | ) |
DMA通道传输完成中断状态
| dmachannel | DMA通道选择 |
| unsigned int DMAC_LLIContrlreturn | ( | LLI_Control * | lli_ctrl | ) |
DMA 链表配置结构体初始化
| lli_ctrl | 链表传输配置结构体 |
| void DMAC_M2MConfig | ( | DMACChannelx | dmachannel, |
| unsigned int | srcaddr, | ||
| unsigned int | destaddr, | ||
| unsigned int | bytesize, | ||
| DMAC_AHBMasterx | master | ||
| ) |
DMA通道传输 内存到内存
| dmachannel | DMA通道选择 |
| srcaddr | 源地址 |
| destaddr | 目标地址 |
| bytesize | 传输的字节数 |
| master | master选择 |
| void DMAC_M2P_P2M_advance_config | ( | DMACChannelx | dmachannel, |
| DMAC_Peripherals | periph, | ||
| DMAC_FLOWCTRL | flowctrl, | ||
| unsigned int | srcaddr, | ||
| unsigned int | destaddr, | ||
| unsigned int | bytesize, | ||
| TRANSFERWIDTHx | datawidth, | ||
| BURSTSIZEx | burstsize, | ||
| DMAC_AHBMasterx | master | ||
| ) |
DMA通道传输 内存到外设,外设到内存
| dmachannel | DMA通道选择 |
| periph | 外设 DMAC_Peripherals_SPI0, QSPI0 控制器(发送和接收同一个)。 DMAC_Peripherals_UART0_RX, UART0 接收。 DMAC_Peripherals_UART0_TX, UART0 发送。 DMAC_Peripherals_UART1_RX, UART1 接收。 DMAC_Peripherals_UART1_TX, UART1 发送。 DMAC_Peripherals_UART2_RX, UART2 接收。 DMAC_Peripherals_UART2_TX, UART2 发送。 |
| flowctrl | 传输方向,M2P_DMA:内存到外设;P2M_DMA 外设到内存 |
| srcaddr | 源地址 |
| destaddr | 目标地址 |
| bytesize | 传输的字节数 |
| datawidth | 数据宽度 |
| burstsize | 突发传输大小 |
| master | master选择 |
| void DMAC_M2P_P2MConfig | ( | DMACChannelx | dmachannel, |
| DMAC_Peripherals | periph, | ||
| DMAC_FLOWCTRL | flowctrl, | ||
| unsigned int | srcaddr, | ||
| unsigned int | destaddr, | ||
| unsigned int | bytesize | ||
| ) |
DMA通道传输 内存到外设,外设到内存
| dmachannel | DMA通道选择 |
| periph | 外设 DMAC_Peripherals_SPI0, QSPI0 控制器(发送和接收同一个)。 DMAC_Peripherals_UART0_RX, UART0 接收。 DMAC_Peripherals_UART0_TX, UART0 发送。 DMAC_Peripherals_UART1_RX, UART1 接收。 DMAC_Peripherals_UART1_TX, UART1 发送。 DMAC_Peripherals_UART2_RX, UART2 接收。 DMAC_Peripherals_UART2_TX, UART2 发送。 |
| flowctrl | 传输方向,M2P_DMA:内存到外设;P2M_DMA 外设到内存 |
| srcaddr | 源地址 |
| destaddr | 目标地址 |
| bytesize | 传输的字节数 |
| int DMAC_RawErrorIntStatus | ( | DMACChannelx | dmachannel | ) |
DMA通道传输错误原始(屏蔽前)中断状态
| dmachannel | DMA通道选择 |
| int DMAC_RawIntTCStatus | ( | DMACChannelx | dmachannel | ) |
DMA通道原始的(屏蔽前)中断状态(只要有通道传输完成中断或者通道传输错误中断的一个)
| dmachannel | DMA通道选择 |
| void DMAC_SoftwareBurstReq | ( | DMACChannelx | dmachannel | ) |
DMA通道软件突发传输请求
| dmachannel | DMA通道选择 |
| void DMAC_SoftwareLastBurstReq | ( | DMACChannelx | dmachannel | ) |
DMA通道软件最后一次突发传输请求
| dmachannel | DMA通道选择 |
| void DMAC_SoftwareLastSingleReq | ( | DMACChannelx | dmachannel | ) |
DMA通道软件最后一次单次传输请求
| dmachannel | DMA通道选择 |
| void DMAC_SoftwareSingleReq | ( | DMACChannelx | dmachannel | ) |
DMA通道软件单次传输请求
| dmachannel | DMA通道选择 |
| void spic_dma_config | ( | DMACChannelx | channel, |
| dma_config_t * | config | ||
| ) |
配置FLASH的DMA传输
| channel | DMA通道选择 |
| config | 配置结构体 |
| int wait_dma_translate_flag | ( | DMACChannelx | dmachannel, |
| uint32_t | timeout | ||
| ) |
等待dma中断标志
| dmachannel | DMA通道选择 |
| timeout | 超时时间 |
1.8.14