哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处
http://blog.csdn.net/woshixingaaa/archive/2011/01/15/6142721.aspx
S3c2440A 支持位于系统总线和外设总线之间的4 个通道的控制器。每个DMA 控制器通道
无限制地执行系统总线上的设备或外设总线上的设备之间数据搬移。换句话说,就是每个
通道都操作一下四种情况:
(1)源和目的设备都在系统总线上
(2)源设备在系统总线上,目的设备在外设总线上
(3)源设备在外设总线上,目的设备在系统总线上
(4)源设备和目的设备都在外设总线上
DMA 的主要有点就是其传输数据不需要CPU 的干涉。DMA 操作可由软件或来自内设或外
部请求引脚来初始化。
DMA每次传送2个字节,放到FIFO中,IIS就播放,FIFO空,导致DMA被再次触发,直到传输计数器为0,产生DMA中断,CPU进入中断处理程序。在DMA传送的时候,CPU可以处理其他事情。提高了系统效率。
下面的程序使用IIS播放声音同时跑流水灯。如果不用DMA,直接用上一篇的IIS程序,会发现声音断断续续,因为IIS和流水灯一起分CPU的时间。如果使用DMA,则IIS需要的数据由DMA负责传送,而CPU可以执行流水灯程序,互相不耽误。当传输计数器为0时,产生DMA中断,CPU进入中断处理程序。其他时候,CPU可以执行流水灯。这样就实现了流水灯和IIS放音同时执行。
分享到:
相关推荐
首先需要搭建一个可以编译代码的环境。从一开始我就不想用ADS(安装完ADS后会产生一个CodeWarrior for ARM Developer Suite的工具,可以编译和调试代码),虽然它是个很好的工具,但是它却隐藏了很多的细节,不利于...
S3C2440对IIS的操作,(用DMA的方式来实现音频的播放)(DMA自动重载模式)
s3c2440的DMA应用这是赵春江老师博客摘录下来TQ2440开发板裸机程序,我基本上验证过,转发给大家,希望对大家有些帮助,多多交流,一起进步。
ARM9 S3C2440 测试实例程序 本程序测试ARM9的DMA模块
s3c2440 DMA操作实例程序,通过DMA方式读取内存中的数据并显示操作时间。
s3c2440a_8DMA s3c2440a_10PWM&Timer; s3c2440a_11UART s3c2440a_14INTCtrl s3c2440a_16ADC&TSC; s3c2440a_17RTC s3c2440a_18WTD s3c2440a_19SDIO s3c2440a_20IIC s3c2440a_21IIS s3c2440a_22SPI s3c2440a_24AC97
linux S3C2440 DMA驱动开发
该软件为s3c2440的DMA 测试程序。
非操作系统下的所有设备驱动程序,2440usb.h AudioDrv.h camif.h camproset.h dma.h IIC.h lcd.h
S3C2440开发板 DMA测试主程序
s3c2440a中文datasheet- 第8章 DMA s3c2440a中文datasheet- 第10章 PWM及定时器 s3c2440a中文datasheet- 第11章 UART控制器 s3c2440a中文datasheet- 第14章 中断控制 s3c2440a中文datasheet- 第16章 ADC及...
s3c-dma.rar -- ALSA Soc Audio Layer
S3C2440处理器上的DMA管理程序。
ads1.2源码 S3C2440 DMA功能实现源码包
s3c2440a_8DMA.pdf s3c2440a_10PWM&Timer;.pdf s3c2440a_11UART (串口).pdf s3c2440a_14INTCtrl(中断控制).pdf s3c2440a_15LCD控制器中文手册.pdf s3c2440a_16ADC&TSC;(模数转换).pdf s3c2440a_17RTC (实时时钟...
s3c2440中文手册(全) ...s3c2440a_8DMA.pdf s3c2440a_10PWM&Timer.pdf s3c2440a_11UART.pdf s3c2440a_14INTCtrl.pdf s3c2440a_16ADC&TSC.pdf....... 另外,附赠,S3C2440英文手册,及友善开发板的原理图
三星S3C2440的DMA程序,基于郭天祥开发板,对初学者有用。
之简易播放器设计(利用DMA与IIS通信)
S3C24XX DMA handling for Linux v2.13.6.
(s3c2410 dma request for Linux v2.13.6.