- 博客(14)
- 资源 (22)
- 收藏
- 关注
转载 浅谈设备、驱动的加载和匹配
内核的开发者将总线,设备,驱动这三者用软件思想抽象了出来,巧妙的建立了其间的关系,使之更形象化。结合前面所学的知识,总的来说其三者间的关系为bus有两条链表,分别用于挂接设备和驱动,指定了其自身bus的device或者driver最后都会分别连接到对应bus的这两条链表上,而总线又有其始端,为bus_kset,一个driver可以对应于几个设备,因此driver同样有其设备链表,用于挂接可以操作的
2012-12-27 18:04:41 1619
转载 system.map 详解
有时system.map文件可以帮助我们理解内核编译,它记录了所有代码的运行地址。下面一起看看如何读懂它system.map内容格式为:线性地址 类型 符号具体内容如下: 00100000 A phys_startup_32c0100000 T startup_32c0100000 A _text 注:表示内核
2012-12-27 17:13:58 1092
转载 sysfs 文件系统 通过设备属性访问硬件(DEVICE_ATTR, LINUX)
sysfs 文件系统 linux 2.6 内核中引入了 sysfs 文件系统,是用户空间与内核空间进行交互的一个媒介。比起古老的 proc 文件系统,它是基于内核的数据结构,因此组织结构上更加严密。它的设计使内核的信息更易获取,而且更加清晰。内核空间与用户空间的映射关系如下表所示:内核空间(internel)用户空间(externel)内核对象(k
2012-12-25 15:49:19 3203
转载 sysfs接口函数到建立_DEVICE_ATTR
最近在弄Sensor驱动,看过一个某厂家的成品驱动,里面实现的全都是sysfs接口,hal层利用sysfs生成的接口,对Sensor进行操作。说道sysfs接口,就不得不提到函数宏 DEVICE_ATTR原型是#define DEVICE_ATTR(_name, _mode, _show, _store)\struct device_attribute dev_attr_#
2012-12-25 15:24:27 1034
原创 linux 导出符号列表例子
--在网友基础上修改而来模块1代码:#include#includeMODULE_LICENSE("Dual BSD/GPL");int test_global_value_1 = 0x55;int test_global_value_2 = 0xaa;EXPORT_SYMBOL(test_global_value_1);EXPORT_SYMBOL(test_global
2012-12-24 23:12:23 2064
原创 linux 修改代码以支持LED 控制(board-am335xevm)
QQ:196568501Mail:bookworepeng@hotmail.comWelcome to exchange!Note:All the codes are changed at the file board-am335xevm.cdefine led informationsstatic struct gpio_led am335x_evm_
2012-12-16 19:37:02 3908
原创 异步通知,中断 例子(AM335X)
驱动程序:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define GPIO_TO_PIN(bank, gpio) (32 *
2012-12-13 12:27:15 6747
原创 linux 外部中断例子
code:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #define GPIO_TO_PIN(bank, gpio) (32 *
2012-12-12 18:03:59 4000
转载 linux下AM335X的GPIO控制
linux下AM335X的GPIO控制作者:chenzhufly QQ:36886052 ( 转载请注明出处)一路走来,熟悉硬件系统,搭建软件开发环境,编译Linux系统等等,现在也该到对硬件做一些事情了,这是我这几天的研究心得,与君共享。1. GPIO的char型驱动,这里主要就是点个灯,感受一下驱动的设计和硬件的控制驱动程序:复制内容到剪贴板代码:#include linu
2012-12-12 17:17:55 4151
原创 字符设备异步通知
driver:#include #include #include #include #include #include #include #include struct fpga_key_dev { struct cdev cdev; dev_t devno; char test[20];
2012-12-12 09:05:46 1119
原创 linux 设备驱动框架代码(open, release, write close)
驱动代码:#include #include #include #include #include #include #include struct message_to_app_dev{ struct cdev* pcdev; dev_t devno; struct class *message_class;};static int message_open
2012-12-10 22:28:34 2248
转载 Linux驱动修炼之道-SPI驱动框架源码分析(下)
这篇文档主要介绍spi数据传输过程。当应用层要向设备传输数据的时候,会通过ioctl向设备驱动发送传输数据的命令。如图,向SPI从设备发送读写命令,实际的读写操作还是调用了主机控制器驱动的数据传输函数。transfer函数用于spi的IO传输。但是,transfer函数一般不会执行真正的传输操作,而是把要传输的内容放到一个队列里,然后调用一种类似底半部的机制进行真正的传输。这是因为,s
2012-12-04 17:53:26 888
转载 Linux驱动修炼之道-SPI驱动框架源码分析(中)
来自:http://blog.csdn.net/woshixingaaa/article/details/6574220这篇来分析spi子系统的建立过程。嵌入式微处理器访问SPI设备有两种方式:使用GPIO模拟SPI接口的工作时序或者使用SPI控制器。使用GPIO模拟SPI接口的工作时序是非常容易实现的,但是会导致大量的时间耗费在模拟SPI接口的时序上,访问效率比较低,容易成为系统
2012-12-04 17:52:11 868
转载 Linux驱动修炼之道-SPI驱动框架源码分析(上)
SPI驱动架构,以前用过,不过没这个详细,跟各位一起分享:来自:http://blog.csdn.net/woshixingaaa/article/details/6574215SPI协议是一种同步的串行数据连接标准,由摩托罗拉公司命名,可工作于全双工模式。相关通讯设备可工作于m/s模式。主设备发起数据帧,允许多个从设备的存在。每个从设备有独立的片选信号,SPI一般
2012-12-04 17:50:44 907
portmap ARM 平台
2014-04-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人