linux串口驱动分析硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作。UART 使用系统时钟能够支持最高 115.2Kbps 的波特率。每一个 UART 通道对于接收.....
分类:
系统相关 时间:
2014-08-06 01:20:55
阅读次数:
339
STM32 ADC多通道转换描述:用ADC连续采集11路模拟信号,并由DMA传输到内存。ADC配置为扫描并且连续转换模式,ADC的时钟配置为12MHZ。在每次转换结束后,由DMA循环将转换的数据传输到内存中。ADC可以连续采集N次求平均值。最后通过串口传输出最后转换的结果。程序如下:#i nclud...
分类:
其他好文 时间:
2014-08-02 12:32:43
阅读次数:
274
简介
NIO的作用就是改进程序的性能。因为有时候程序的性能瓶颈不再是CPU,而是IO。这时候NIO就派上用场了。NIO的原理就是尽量利用系统底层的资源来提高效率,比如利用DMA硬件减小CPU负荷,利用操作系统的epoll机制避免线程频繁切换。通过底层资源提高系统的吞吐量。
缓冲区
缓冲区就是一个固定大小的一组数据。缓冲区有四个非常重要的属性:容量,限制,位置,标记。容量就是一个缓冲区...
分类:
编程语言 时间:
2014-07-31 00:07:35
阅读次数:
388
1.general下图是网口结构简图.网口由CPU、MAC和PHY三部分组成.DMA控制器通常属于CPU的一部分,用虚线放在这里是为了表示DMA控制器可能会参与到网口数据传输中.对于上述的三部分,并不一定都是独立的芯片,根据组合形式,可分为下列几种类型:CPU集成MAC与PHY;CPU集成MAC,P...
分类:
其他好文 时间:
2014-07-29 12:40:06
阅读次数:
316
linux串口驱动分析硬件资源及描写叙述 s3c2440A 通用异步接收器和发送器(UART)提供了三个独立的异步串行 I/O(SIO)port,每一个port都能够在中断模式或 DMA 模式下操作。UART 使用系统时钟能够支持最高 115.2Kbps 的波特率。每一个 UART 通道对于接收.....
分类:
系统相关 时间:
2014-07-29 12:37:06
阅读次数:
493
实现功能:
将字符串数据通过DMA0通道传递给UTXH0,然后在终端
显示。数据传输完后,DMA0产生中断,beep声, LED亮。...
分类:
其他好文 时间:
2014-07-23 22:36:27
阅读次数:
393
NIO引入了三个概念:Buffer 缓冲区Channel 通道selector 选择器1、java.io优化建议操作系统与Java基于流的I/O模型有些不匹配。操作系统要移动的是大块数据(缓冲区),这往往是在硬件直接存储器存取(DMA)的协助下完成的。I/O类喜欢操作小块数据——单个字节、几行文本。...
分类:
其他好文 时间:
2014-07-22 00:04:34
阅读次数:
416
背景:
在多媒体和图像处理等应用中,经常用到大块内存,尤其是硬件编解码,需要内核分配大块的物理连续内存。
这里希望通过把从内核分配的连续物理内存映射到用户空间,在用户空间经过处理,又可以入队到驱动中。
前提:
Kernel Config中 根据需求配置和调整CMA的大小。
方法:
(一)
1、驱动注册misc设备;
2、驱动实现IOCTL的内存分配,使用dma_alloc_writ...
分类:
其他好文 时间:
2014-07-18 11:30:45
阅读次数:
256
最近查DM814x上两个M3莫名其妙挂掉的问题查了将近两周,最后发现居然是各个模块的dma乱用引起的。A8上的音频mcasp用了两个dma通道……TI给的simcop里面imx实现的swosd又用了一串的dma通道……M3上面的cover业务又用了一个……后面dsp上加跑的算法又用了两个,然后就开始...
分类:
其他好文 时间:
2014-07-18 09:36:01
阅读次数:
248
最近有些人问我PCI设备驱动的问题, 和他们交流过后, 我建议他们先看一看>这本书, 个人感觉, 这本书写得非常连贯流畅.
PCI设备驱动基本包括了PCI的资源获取, 配置空间的读写, 中断的处理, 中断后半部在DPC中的处理.
同时, 也必须了解DMA, ScatterGater, MapRegister, Common Buffer等基础.
1.1 PCI设备资源获取...