Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1570011
  • 博文数量: 204
  • 博客积分: 2215
  • 博客等级: 大尉
  • 技术积分: 4426
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-06 08:03
个人简介

气质,源于心灵的自信!

文章存档

2018年(1)

2017年(1)

2016年(1)

2015年(18)

2014年(20)

2013年(30)

2012年(119)

2011年(14)

发布时间:2013-08-09 17:27:38

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

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

发布时间:2012-12-12 16:41:38

驱动工程师最关心就是如何编写PCI设备驱动了. 经过前面的处理,所有设备及其信息都已经遍历出来了.在深入分析PCI驱动架构之前,我们来回顾一下前面遍历PCI设备时,对pci_dev->dev的一些重要成员的赋值.以及各结构在sysfs中的视图 8.1:pci架构在sysfs中视图 1:对于pci_dev pci_dev->dev的所属bus,parent和name的赋值: 在pci_scan_child_bus() -->  pci_scan_slot()--> pci_scan_single_device()-->pci_sc......【阅读全文】

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

发布时间:2012-12-12 16:40:56

  Pci设备的I/O和内存是一个比较复杂的问题.如下的总线结构: 在上图的总线结构中,ethernet设备和pci-pci bridge的同类型资源空间必须要是pci bus0的一个子集 例如,pci bus 0的I/O端口资源是0x00CC~0x01CC. Ethernet设备的I/O范围的是0x00CC~0x0xE0.那么pci-pci bridge的I/O端口范围就必须要在0x0xE0~0x01CC之间. 同样,SCSI和VIDEO同类型资源必须要是pci_bus1的子集.pci bus1上有一个pci桥,对应的资源也就是它所连桥上的资源.即pci_bus......【阅读全文】

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

发布时间:2012-12-12 16:40:25

一:前言 经过上一节的分析,对pci有了一个大概的了解.我们今天来讨论一下pci设备的中断号确定,顺便解决上节中遗留的问题. 二:pci interrupt routing 我们在上面的分析过程中可以看到.pci的配置空间有两个寄存器,一个是IRQ_PIN.表示该pci设备所有的中断连接引脚.如果为0.说明没有引脚与中断线相连,也就是不支持中断. 另外一个是IRQ_LINE.表示该pci设备的引脚所连的中断线.也就是该设备对应的中断号. 其实在pci架构中,pci设备都是经过一个中断请求路径互联器的设备与8259A相联的.下图是摘自<<linux内核源代码情景分析&......【阅读全文】

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

发布时间:2012-12-12 15:42:39

一:前言 Pci,是Peripheral Component Interconnect的缩写,翻译成中文即为外部设备互联.与传统的总线相比.它的传输速率较高.能为用户提供动态查询pci deivce.和局部总线信息的方法,此外,它还能自动为总线提供仲裁.在近几年的发展过程中,被广泛应用于多种平台. pci协议比较复杂,关于它的详细说明,请查阅有关pci规范的资料,本文不会重复这些部份. 对于驱动工程师来说,Pci设备的枚举是pci设备驱动编写最复杂的操作.分析和理解这部份,是进行深入分析pci设备驱动架构的基础. 我们也顺便来研究一下,linux是怎么对这个庞然大物进行封装的.......【阅读全文】

阅读(1794) | 评论(0) | 转发(0)
给主人留下些什么吧!~~

shangbaogen2015-07-27 22:29

jeff_gang:大牛,我最近再看Linux驱动,看懂了Linus设备驱动模型,看了看i2c子系统、dm9000驱动等等。对内核也有一定的了解,现在想从事这方面的工作,有点担心没这方面的项目经验,我之前是做单片机开发的,现在用stm32跑跑小系统,比如ucosii、freertos,工作中要用到freertos,我该再学点什么东西才能顺利的转到驱动上呢?

建议你深入的学习linux内核,如果你的基础不够好的话,可以跟着韦东山的那套免费视频教程(还有书嵌入式linux完全开发手册)先把基础打牢!说实话,学linux这玩意没啥捷径,看的东西多,慢慢时间久了就理解啦。
推荐你一本书《深入linux内核驱动机制》,陈学松写的,现在正在写第二版,等过一段该出版啦,第一版网上你可以下到pdf,我认为他算是国内linux写书写的最好的啦!还有毛德操的那本《linux内核情景分析》也是国内难得的好书,就是版本老了一点,不过对于内核的基本原理还是没变。

回复  |  举报

jeff_gang2015-07-20 20:45

大牛,我最近再看Linux驱动,看懂了Linus设备驱动模型,看了看i2c子系统、dm9000驱动等等。对内核也有一定的了解,现在想从事这方面的工作,有点担心没这方面的项目经验,我之前是做单片机开发的,现在用stm32跑跑小系统,比如ucosii、freertos,工作中要用到freertos,我该再学点什么东西才能顺利的转到驱动上呢?

回复  |  举报

haijian01142013-11-27 09:52

shangbaogen:usb本身的传输速率估计优化不了啦,因为都是usb spec规定好的,最快的也就是等时(isochronous)传输,不用应答。如果是大容量存储的话你可以试图优化块设备读写的流程,来提高速率

一般从PC拷贝文件到mass storage的话 速率为4MBps算正常吗

回复  |  举报

shangbaogen2013-11-26 17:49

haijian0114:老大 知道如何提高USB的传输速率吗

usb本身的传输速率估计优化不了啦,因为都是usb spec规定好的,最快的也就是等时(isochronous)传输,不用应答。如果是大容量存储的话你可以试图优化块设备读写的流程,来提高速率

回复  |  举报

haijian01142013-11-22 16:23

老大 知道如何提高USB的传输速率吗

回复  |  举报
留言热议
请登录后留言。

登录 注册