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

气质,源于心灵的自信!

文章存档

2018年(1)

2017年(1)

2016年(1)

2015年(18)

2014年(20)

2013年(30)

2012年(119)

2011年(14)

发布时间: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......【阅读全文】

阅读(1886) | 评论(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内核源代码情景分析&......【阅读全文】

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

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

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

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

发布时间:2012-12-11 16:48:05

一、PCI简介    PCI是一种外设总线规范。我们先来看一下什么是总线:总线是一种传输信号的路径或信道。典型情况是,总线是连接于一个或多个导体的电气连线,总线上连接 的所有设备可在同一时间收到所有的传输内容。总线由电气接口和编程接口组成。本文讨论Linux 下的设备驱动,所以,重点关注编程接口。    PCI是Peripheral Component Interconnect(外围设备互联)的简称,是普遍使用在桌面及更大型的计算机上的外设总线。PCI架构被设计为ISA标准的替代品,它有三个主要 目标:获得在计算机和外设之间......【阅读全文】

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

发布时间:2012-12-10 16:55:38

作者:刘洪涛,华清远见嵌入式培训中心讲师。 4-3 摄像头的初始化流程及v4l2子设备驱动 这个问题弄清楚了以后下面就来看获得Camera信息以后如何做后续的处理: 在fimc_init_global调用结束之后我们获得了OV9650的信息,之后在probe函数里面就会继续调用一个函数:fimc_configure_subdev(). 这个函数的实现如下: /*        * Assign v4l2 device and subdev to fimc    &n......【阅读全文】

阅读(922) | 评论(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的传输速率吗

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

登录 注册