![]() |
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 | 超时时间 |