
linux驱动
pony
这个作者很懒,什么都没留下…
展开
-
以太网媒体接口MII RMII(MAC PHY MII关系)
<br />以太网媒体接口有:MII RMII SMII GMII<br /> 所有的这些接口都从MII而 来,MII是(Medium Independent Interface)的意思,是指不用考虑媒体是铜轴、光纤、电缆等,因为这些媒体处理的相关工作都有PHY或者叫做MAC的芯片完成。<br /> MII支 持10兆和100兆的操作,一个接口由14根线组成,它的支持还是比较灵活的,但是有一个缺点是因为它一个端口用的信号线太多,如果一个8端口的交换机要 用到112根线,16端口就要用到224根线转载 2011-05-04 17:49:00 · 1526 阅读 · 0 评论 -
LIS3DETR传感器驱动调试
转载注明出处:http://blog.youkuaiyun.com/mjli/article/details/44423307目前使用了传感器的两个功能,一个是读取X,Y,Z轴的原数据,另一个是设定轴数据的差值,超过差值产生中断通知1.读取X,Y,X的原数据,基本可以参考ST的参考代码实现//Inizialize MEMS Sensor//set ODR (turn ON devi转载 2017-01-05 15:46:08 · 1080 阅读 · 0 评论 -
MT7601驱动配置文件详解
转载注明出处:http://blog.youkuaiyun.com/u013286409/article/details/51481836[CountryCode]example: CountryCode= ( Default is empty) remarks:2 characters, like TW for Taiwan.Please refer to ISO3166 c转载 2016-08-19 09:27:06 · 3340 阅读 · 0 评论 -
深入OSS开发
转载地址:http://www.ibm.com/developerworks/cn/linux/l-ossdev/简介: 本文将对OSS(Open Sound System)的开发进行一些深入的讨论,具体的内容包括:播放音频的时延问题,并定量的对不同的缓冲区配置进行分析;非阻塞write;应用程序对驱动程序中DMA buffer的直接访问。这些是在深入OSS的开发过程中,开发者会遇到的转载 2011-11-17 21:10:58 · 1055 阅读 · 0 评论 -
内核调试案例(oops错误)
原文地址:http://blog.youkuaiyun.com/willand1981/article/details/5715492,感谢原文作者。结合自己的实践和网上的文章,介绍手工调试内核bug的通用方法。1.步骤1).Collect oops output, System.map, /proc/ksyms, vmlinux, /proc/modules 2).Use ksymoop转载 2011-10-28 10:32:38 · 892 阅读 · 0 评论 -
linux内核调试工具 oops ksymoops objdump
关于oops的文章,为了以后察看转载了。感谢原文作者。1. OOPS什么是OOPS呢? 假如写过linux模块或linux驱动,对于OOPS并不陌生, 当模块程式出现错误时, 终端会打印出一些让人头疼的寄存器和数据, 例如:divide error: 0000CPU: 0EIP: 0010:[] Tainted: PEFLAGS: 00010286eax: c10b转载 2011-10-28 10:24:28 · 4374 阅读 · 0 评论 -
Linux 用命令行查看硬件信息
在linuxeden上看到的一篇文章,先转载了之前我们介绍过,在 Linux 上用图形化工具来查看硬件信息,现在我们再介绍一下用命令行方式来完成此工作。linux 查看硬件信息:proclinux 查看硬件信息:终端命令行linux 查看硬件信息:脚本linu转载 2011-08-07 11:23:37 · 996 阅读 · 0 评论 -
[转]工程师带你深入认识网卡
<br />一、什么是网卡? <br /><br /> 网卡现在已经上成为了目前电脑里的标准配置之一。小小的网卡,究竟蕴涵着多少秘密呢?让我们一起来看。 <br /><br /> 我们最常用的网络设备当属网卡了。网卡本身是LAN(局域网)的设备,通过网关、路由器等设备就可以把这个局域网挂接到Internet上。而Internet本身就是无数个这样的局域网组成的。 <br /><br /> 网卡有许多种,按照数据链路层控制来分有以太网卡,令牌环网卡,ATM网卡等;按照物理层来分类有无线网卡,RJ-45网转载 2011-05-05 16:59:00 · 733 阅读 · 0 评论 -
Linux设备驱动模型之platform总线
<br />1 平台设备和驱动初识<br /><br />platform是一个虚拟的地址总线,相比pci,usb,它主要用于描述SOC上的片上资源,比如s3c2410上集成的控制器(lcd,watchdog,rtc等),platform所描述的资源有一个共同点,就是在cpu的总线上直接取址。<br /><br />平台设备会分到一个名称(用在驱动绑定中)以及一系列诸如地址和中断请求号(IRQ)之类的资源.<br />struct platform_device {<br /> const char转载 2011-05-05 15:44:00 · 845 阅读 · 0 评论 -
kmalloc
<br />至此, 我们已经使用 kmalloc 和 kfree 来分配和释放内存. <br />Linux 内核提供了更丰富的一套内存分配原语, 但是. 在本章, 我们查看在设备驱动中使用内存的其他方法和如何优化你的系统的内存资源. 我们不涉及不同的体系实际上如何管理内存. 模块不牵扯在分段, 分页等问题中, 因为内核提供一个统一的内存管理驱动接口. 另外, 我们不会在本章描述内存管理的内部细节, 但是推迟在 15 章.8.1. kmalloc 的真实故事kmalloc 分配引擎是一个有力的工具并转载 2011-05-05 15:12:00 · 1130 阅读 · 0 评论 -
ioremap_nocache 函数分析
<br /><br />oremap_nocache()函数我想大家都不陌生,现在我就把此函数分析一下,不当之处请大家谅解!<br /> <br />对于EHCI 来说它把它本身的寄存器和内存映射到内存中区!但是站在CPU的角度来说,我们无法直接访问这块内存空间,需要将设备的总线地址映射成一个cpu可访问的线性地址!<br /> <br />调用ioremap_nocache()函数之后,返回一个线性地址,此时CPU 可以访问设备的内存(已经将其映射到了线性地址空间中了),此时CPU可以使用访问内存的指令访转载 2011-05-05 14:58:00 · 12564 阅读 · 0 评论 -
ioremap_nocache 函数分析
<br /><br />oremap_nocache()函数我想大家都不陌生,现在我就把此函数分析一下,不当之处请大家谅解!<br /> <br />对于EHCI 来说它把它本身的寄存器和内存映射到内存中区!但是站在CPU的角度来说,我们无法直接访问这块内存空间,需要将设备的总线地址映射成一个cpu可访问的线性地址!<br /> <br />调用ioremap_nocache()函数之后,返回一个线性地址,此时CPU 可以访问设备的内存(已经将其映射到了线性地址空间中了),此时CPU可以使用访问内存的指令访原创 2011-05-05 14:57:00 · 2453 阅读 · 0 评论 -
platform_device和platform_driver 流程简介
<br /><br />首先介绍一下注册一个驱动的步骤:<br />1、定义一个platform_driver结构<br />2、初始化这个结构,指定其probe、remove等函数,并初始化其中的driver变量<br />3、实现其probe、remove等函数<br />看platform_driver结构,定义于include/linux/platform_device.h文件中:<br />struct platform_driver {<br /> int (*probe)(struct转载 2011-05-05 11:06:00 · 639 阅读 · 0 评论 -
platform device和platform driver
从 Linux 2.6 起引入了一套新的驱动管理和注册机制 :Platform_device 和 Platform_driver 。 Linux 中大部分的设备驱动,都可以使用这套机制 , 设备用 Platform_device 表示,驱动用 Platform_driver 进行注册。 Linux platform driver 机制和传统的 device driver 机制 ( 通过 driver_register 函数进行注册 ) 相比,一个十分明显的优势在于 platfor转载 2011-05-05 11:05:00 · 718 阅读 · 0 评论 -
platform_driver_probe与platform_driver_register的区别
<br /><br />Platform Device and Drivers<br />从<linux/platform_device.h>我们可以了解Platform bus上面的驱动模型接口:platform_device,platform_driver。和PCI和USB这些大结构的总线不同,虚拟总线Platform bus使用最小结构来集成SOC processer上的各种外设,或者各种“legacy”之间的互联。<br />Platform device<br />典型的Platform devi转载 2011-05-05 09:37:00 · 731 阅读 · 0 评论 -
linux内核中Kconfig及如何加自己的驱动
<br /><br />2.6内核的源码树目录下一般都会有两个文文:Kconfig和Makefile。分布在各目录下的Kconfig构成了一个分布式的内核配置数据库,每个Kconfig分别描述了所属目录源文件相关的内核配置菜单。在内核配置make menuconfig(或xconfig等)时,从Kconfig中读出配置菜单,用户配置完后保存到.config(在顶层目录下生成)中。在内核编译时,主Makefile调用这个.config,就知道了用户对内核的配置情况。<br />上面的内容说明:Kconfig就转载 2011-05-03 21:43:00 · 1062 阅读 · 0 评论 -
phys_to_virt(),ioreamp(),IO_ADDRESS() 的区别
原创:http://blog.youkuaiyun.com/linxi_hnh/article/details/8509213针对IO_ADDRESS()函数(静态映射(map_desc)方式):ioreamp();动态映射方式:我们来看看s3c2410是怎么定义map_desc结构体的(即上面s3c2410_map_io函数内的s3c2410_iodesc)。转载 2017-02-10 10:56:21 · 892 阅读 · 0 评论