随笔分类 -  OMAP3530+WINCE6

摘要:ARM系统中DMA方式在数据采集中的应用http://www.mcuol.com/solution/198/20688.htm 阅读全文
posted @ 2011-08-19 12:20 keeppoised 阅读(212) 评论(0) 推荐(0)
摘要:【转载】http://blog.csdn.net/libaizhang/article/details/4317141ARM有七种模式,我们这里只讨论SVC、IRQ和FIQ模式。我们可以假设ARM核心有两根中断引脚(实际上是看不见的),一根叫 irq pin, 一根叫fiq pin.在ARM的cpsr中,有一个I位和一个F位,分别用来禁止IRQ和FIQ的。先不说中断控制器,只说ARM核心。正常情况下,ARM核都只是机械地随着pc的指示去做事情,当CPSR中的I和F位为1的时候,IRQ和FIQ全部处于禁止状态。无论你在irq pin和fiq pin上面发什么样的中断信号,ARM是不会理你的,你根 阅读全文
posted @ 2011-08-19 10:33 keeppoised 阅读(410) 评论(0) 推荐(0)
摘要:转载自http://www.iotek.com.cn/article/987散列DMA设计的高速串口驱动技术s1 概 述由于串口在电报通信、工控和数据采集等领域有着广泛的应用,绝大多数嵌入式处理器都内置了通用异步收发器(UART)。UART数据传输主要通过中断或DMA的方式实现。中断方式是在接收到数据或需要发送数据时产生中断,在中断服务程序中读写UART的缓冲区(FIFO)实现数据传输。由于串口通信速率一般比较低(典型值不超过115 200 bps),大多数嵌入式系统都采用中断方式来传输串口数据。然而,中断服务程序需要占用CPU的时间,而串口速度的提升也必将导致CPU更频繁地响应UART中断, 阅读全文
posted @ 2011-08-19 10:12 keeppoised 阅读(1190) 评论(1) 推荐(0)
摘要:CEDDK提供了DMA的相关函数,在CEDDK/DDK_DMA/ddk_dma.c中定义。实际上里面最有用的就两个函数,HalAllocateCommonBuffer(..)和HalFreeCommonBuffer(..)分别用于为DMA申请和释放 首先介绍一下会用到的DMA适配器结构,在ceddk.h中定义,如下:typedef struct _DMA_ADAPTER_OBJECT_{ USHORT ObjectSize; //该结构的大小 INTERFACE_TYPE InterfaceType; //接口类型,一般用做DMA时设置为Internal ULONG BusNumber; // 阅读全文
posted @ 2011-08-18 21:16 keeppoised 阅读(544) 评论(0) 推荐(0)
摘要:1、 芯片DMA的使用要点:AK3224芯片的DMA使用中,RAM的地址作为DMA传输的目标地址、源地址,必须要4字节对齐。而且DMA的操作长度以内的RAM地址,必须连续。不过在使用中发现:Nandflash驱动中RAM地址作为目标地址时,只需要2字节对齐。RAM地址作为源地址可不需对齐。(其他情况需要逐一验证)2、 wince中的DMA使用:根据DMA一次操作的RAM地址必须连续的特性,在驱动DMA使用时,我们需要确保虚拟地址映射的物理地址是连续的。有3个途径:1:数据区地址是由应用层或者其他进程、线程传入的,驱动并不知道其虚拟地址对应的物理地址是否一直连续。由于wince的内存申请,是以4 阅读全文
posted @ 2011-08-18 21:07 keeppoised 阅读(498) 评论(0) 推荐(0)
摘要:1、DMA驱动做成流驱动;附:DMA的好处:使用DMA的好处就是它不需要CPU的干预而直接服务外设,这样CPU就可以去处理别的事务,从而提高系统的效率,对于慢速设备,如UART,其作用只是降低CPU的使用率,但对于高速设备,如硬盘,它不只是降低CPU的使用率,而且能大大提高硬件设备的吞吐量。因为对于这种设备,CPU直接供应数据的速度太低。 因CPU只能一个总线周期最多存取一次总线,而且对于ARM,它不能把内存中A地址的值直接搬到B地址。它只能先把A地址的值搬到一个寄存器,然后再从这个寄存器搬到B地址。也就是说,对于ARM,要花费两个总线周期才能将A地址的值送到B地址。而DMA就不同了,一般系统 阅读全文
posted @ 2011-08-18 21:00 keeppoised 阅读(407) 评论(0) 推荐(0)
摘要:1、软件包安装参考http://processors.wiki.ti.com/index.php/GSG:_DVSDK_for_Windows_CE_Software_Setup(1)安装WINCE6:Microsoft Visual Studio 2005 version 8.0.50727.762 (SP.050727-7600) -ENU Service Pack 1 (KB926601)Platform Builder(注意:如果在WIN7下安装PB,应该用管理员身份打开CMD窗口,然后再命令行下执行 CALL "xxx.msi")Windows Embedded 阅读全文
posted @ 2011-06-12 21:35 keeppoised 阅读(869) 评论(0) 推荐(0)