DMA编程
DMA是一种无需要CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制,使用DMA可以使系统CPU从实际的I/O数据传输过程中摆脱出来,从而大大提高系统的吞吐率
DMA方式的数据传输由DMA控制器控制,在传输期间,CPU可以并发地执行其他任务,当DMA结束后,DMA控制器通过中断通知CPU数据传输已经结束,然后由CPU执行相应的中断服务程序进行后序处理.DMA可以用做内...
分类:
系统相关 时间:
2015-02-01 20:29:20
阅读次数:
311
设备通常会提供一组寄存器来用于控制设备、读写设备和获取设备状态,既控制寄存器、数据寄存器和状态寄存器、这些寄存器可能位于I/O空间,也可能位于内存空间。当位于I/O空间时,通常被称为I/O端口,位于内存空间时,对应的内存空间被称为I/O内存(现在一般都是统一编址)
1、对于I/O端口
有专门的函数提供读取端口上的数据,例如读写字节端口(8字节宽)
Unsigned inb(unsigned ...
分类:
系统相关 时间:
2015-02-01 17:45:53
阅读次数:
264
原文网址:http://www.cnblogs.com/xmphoenix/archive/2012/03/27/2420044.htmlLinux驱动学习的最大困惑在于书籍的缺乏,市面上最常见的书为《linux_device_driver 3rd Edition》,这是一本很经典的书,无奈Linu...
分类:
系统相关 时间:
2015-01-31 00:13:34
阅读次数:
274
简单型1:linux中内核空间及用户空间的区别?用户空间与内核通信方式有哪些?2:linux中内存划分及如何使用?虚拟地址及物理地址的概念及彼此之间的转化,高端内存概念?3:linux中中断的实现机制,tasklet与workqueue的区别及底层实现区别?为什么要区分上半部和下半部?4:linux...
分类:
系统相关 时间:
2015-01-25 22:13:05
阅读次数:
302
基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)课程分类:Android适合人群:高级课时数量:38(70节)课时用到技术:Android、A8、210、Linux、驱动、NDK、报警涉及项目:联动报警系统咨询QQ:18402...
分类:
移动开发 时间:
2015-01-23 16:16:54
阅读次数:
186
原文网址:http://www.cnblogs.com/geneil/archive/2011/12/03/2274684.html现代操作系统有三大特性:中断处理、多任务处理和多处理器。这些特性导致当多个进程、线程或者CPU同时访问一个资源时,可能发生错误,这些错误是操作系统运行所不允许的。在操作...
分类:
系统相关 时间:
2015-01-22 17:33:42
阅读次数:
217
基于ARM Cortex-A8和Android 4.x的联动报警系统 (Android 、A8、Linux、驱动、NDK)课程分类:Android适合人群:高级课时数量:38(70节)课时用到技术:Android、A8、210、Linux、驱动、NDK、报警涉及项目:联动报警系统咨询QQ:18402...
分类:
移动开发 时间:
2015-01-22 17:25:01
阅读次数:
166
http://www.cnblogs.com/hanyan225/archive/2010/10/28/1863854.html1,概念DMA是一种无须CPU的参与就可以让外设与系统内存之间进行双向数据传输的硬件机制。使用DMA可以是系统CPU从实际的IO数据传输过程中摆脱出来,从而大大提供系统吞吐...
分类:
系统相关 时间:
2015-01-20 22:08:56
阅读次数:
2757
1,在/sys/class/目录下创建一个设备节点,比如创建一个class_test_usb的设备节点[cpp]view plaincopystaticstructcalss*test_class;test_class=class_creat(THIS_MODULE,"class_test_usb"...
一,主设备号和次设备号代表的含义?linu内核是如果根据主设备号找驱动,次设备号找设备的。答:通常一个主设备号代表一个驱动,比如在block设备中,一个主设备号代表一个emmc设备,不同次设备号代表的是不同的分区Linux内核允许多个驱动共享一个主设备号,但更多的设备都遵循一个驱动对一个主设备号的原...
分类:
系统相关 时间:
2015-01-20 22:06:16
阅读次数:
176