DMA解析
来源:互联网 发布:python ascii转utf8 编辑:程序博客网 时间:2024/05/02 05:45
一、DMA原理解析
Demand模式:如果DMA完成一次请求后Request仍然有效,那么DMA就认为这是下一次DMA请求,并立即开始下一次的传输。
Handshake模式:DMA完成一次请求后等待Request信号无效,如果Request无效,DMA会无效ACK两个时钟周期,再等待下一次Request。
二、S3C2440芯片手册与原理图解析
1、请求源
2、基本时序
nXDREQ请求生效并经过2CLK周期同步后,nXDACK响应并开始生效,但至少还要经过3CLK的周期延迟,DMA控制器才可获得总线的控制权,并开始数据传输。
3、芯片手册解读
3.1
内存走AHB BUS, 串口走APB BUS
3.2
3.3
3.4
3.5
3.6
3.7
三、DMA程序设计
char *buf = “Hello World!”
#define DISRC0 (*(volatile unsigned long)0x4B000000)
#define DISRCC0 (*(volatile unsigned long)0x4B000004)
#define DIDST0 (*(volatile unsigned long)0x4B000008)
#define DIDSTC0 (*(volatile unsigned long)0x4B00000C)
#define DCON0 (*(volatile unsigned long)0x4B000010)
#define DMASKTRIG0 (*(volatile unsigned long)0x4B000020)
#define UTXH0 (volatile unsigned long*)0x50000020
void dma_init()
{
//初始化源地址
DISRC0 = (unsigned int)buf;
DISRCC0 = (0<<1)| (0<<0);
//初始化目的地址
DIDST0 = UTXH0;
DIDSTC0 = (1<<1)| (1<<0);
DCON0 = (1<<24)| (1<<23)| (1<<22)| (12<<0);
}
void dma_start()
{
DMASKTRIG0 = (1<<1);
}
- DMA解析
- DMA解析
- DMA驱动程序解析
- DMA原理解析
- Xen中DMA传输解析
- NVMe驱动解析-DMA传输
- cc2430 DMA及IRQMASK问题解析
- atmel sama5d4 dma dts 解析分析
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- DMA
- Dagger
- 在Maven仓库中添加Oracle JDBC驱动
- 如何为页面增加保护,不可Copy,看源代码等
- SAT阅读真题资料4
- Maven项目架构的默认资源路径
- DMA解析
- PressGrid 多用户墙贴(花瓣) WordPress主题[更新至v3.1]
- Winform 获取Win7 UAC 管理员权限
- go安装
- Fix for Cannot recover key error in JAVA
- dockerfile_instructions(指令)
- #if DEBUG的妙用
- Sofa OpnPress wordpress社交信息发布平台主题[更新至v2.0]
- Ubuntu12.04 安装jdk