Chinaunix首页 | 论坛 | 博客
  • 博客访问: 217180
  • 博文数量: 86
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 256
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-12 15:39
文章分类

全部博文(86)

文章存档

2016年(20)

2015年(65)

2014年(1)

我的朋友

发布时间:2015-07-23 23:07:02

Linux设备驱动程序学习(12)
-Linux设备模型(底层原理简介)
以《LDD3》的说法:Linux设备模型这部分内容可以认为是高级教材,对于多数程序作者来说是不必要的。但是我个人认为:对于一个嵌入式Linux的底层程序员来说,这部分内容是很重要的。以我学习的ARM9为例,有很多总线(如SPI、IIC、IIS等等)在Linux下已经被编写成了子系统,无需自己写驱动;而这些总线又不像PCI、USB等在《LDD3》上有教程,有时还要自己研究它的子系统构架,甚至要自己添加一个新的总线类型。
对于这方面的学习,我推荐几个网页,这些也是我这部分文章的参考资料:
(1)《 Linux那些事儿 之 我是Sysfs》来源于复旦和交大三个牛人的Linux技术博客:
http://blog.csdn.net/fudan_abc
(复旦_abc)他们还分析了很多Linux的驱动,值得珍藏!
(2)《linux设备模型详解》也是一个牛人的博客文章,博客网址:
http://hi.baidu.com/csdeny/blog
(3)《s3c241......【阅读全文】

阅读(1202) | 评论(0) | 转发(0)

发布时间:2015-07-21 18:38:31

What is device/driver register?
Platform device-driver model
I2C device-driver model
Device/Driver register
There are three key entities including bus, device, driver.
Declare there is one special device/driver on the BUS
The name and ID of device/driver must be exclusive
The process of register is only to add the device/driver kobject into the kobject list(kset), not verify whether are the details right or not.
The bus driver will match the device and driver according to......【阅读全文】

阅读(1649) | 评论(0) | 转发(0)

发布时间:2015-07-19 17:18:26

一致性DMA可以认为是“同步的”,就是DMA和CPU之间看到的物理内存是一致的。流式DMA则不然。
DMA操作和CPU之间的主要隔阂就是cache,因为一般来说DMA只操作物理内存,不会动cache,但CPU却首先看到的是L1 L2cache,所以设备驱动就需要调用正确的DMA函数来操作cache。拿网卡收发包为例,假如CPU发包给网卡,那CPU填好skb的数据之后,得先把cache里有关这个skb数据的行给刷到物理内存,否则网卡从物理内存拿到的数据不是真正所要的数据。反之,CPU把skb数据装配好DMA rx descriptor的时候,得先invalid掉这个skb数据在cache里的行。这样DMA把收到的包填到物理内存后再中断告知CPU时,CPU就可以避免从cache拿到关于这个skb的老(脏)数据,而会从物理内存取包而重新建立数据cache。dma_map_single dma_unmap_single做的就是这个事情,它会根据数据的方向来判断该是clean cache还是incalid cache。......【阅读全文】

阅读(1913) | 评论(0) | 转发(0)

发布时间:2015-07-19 17:05:38

使用大块DMA一致性缓冲区(dma-coherent buffers)
1-2 使用小块DMA一致性缓冲区
1-3 DMA寻址限制
1-4 流式DMA映射dma_map_single......【阅读全文】

阅读(912) | 评论(0) | 转发(0)

发布时间:2015-07-19 16:59:16

......【阅读全文】

阅读(1364) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册