易截截图软件、单文件、免安装、纯绿色、仅160KB

linux spi驱动

linux spi驱动
内核版本:linux-2.6.29
 
主要的几个结构
platform_device platform_driver s3c24xx_spi spi_master spi_bitbang spi_device spi_driver spidev_data s3c_spi_info
第一步:注册platform_device
在arch/arm/mach-s3c2410/mach-qt2410.c 中注册platform_device ,其中s3c2410_spi_info 作为platform_device.private_data. platform_device.name 为"s3c2410-spi".
同时在mach-qt2410.c 中注册spi_board_info, 其中spi_board_info.bus_num=0, 与s2c2410_spi_info 中的bus_num 相同, 以后会通过bus_num 比对来匹配。
 
第二步:注册platform_driver
在driver/spi/spi_s3c24xx.c 中注册platform_driver (s3c24xx_spi_driver) ,这个platform_driver 的名字为"s3c2410-spi" ,这样名字与platform_device 的相同,在注册的时候会匹配到一起。并调用s3c24xx_spi_driver.probe 函数s3c24xx_spi_probe 。
 
第三步:注册spi_device
在.probe 函数中创建s3c24xx_spi ,该结构中包括了一个spi_bitbang, 一个spi_master ,
配置了一些互相关联的项以后( 将3c2410_spi_info.bus_num 作为spi_master.bus_num) ,即扫描注册的spi_board_info 链表,查找所有spi_board_info.bus_num 与spi_master.bus_num 相等的项,并为每一项注册spi_device ,其中spi_device 的名字为spi_board_info. Modalias 。
 
第四步:注册字符设备,注册spi_driver
在driver/spi/spidev.c 中,先注册 了以SPIDEV_MAJOR 为主设备号,spidev_ops 为文件操作集的字符设备 。
注册spi_driver . 在driver/spi/spidev.c 中,其中spi_driver 的名字为”spidev” ,这样与刚才注册的spi_device 相匹配,在spi_driver.probe 并为每个匹配的spi_device 创建了一个spidev_data ,并在sys 系统中注册一个带有以SPIDEV_MAJOR 为主设备号,以0开始的递增的数字为副设备号的设备点,这样如果有udev 运行的话会在/dev 下面节点。
 
好了,所有的工作准备就绪了,用户可以通过访问/dev/ 下的节点来使用这个驱动了。
 
 


相关文档:

Linux 系统下如何分区才最合理

Linux 系统下如何分区才最合理
以下摘自《Gentoo Linux x86手册》
http://www.gentoo.org/doc/zh_cn/handbook/handbook-x86.xml
分区的数目主要根据你的系统环境来决定。
例如,如果你有很多用户,你可能更希望把你的/home目录独立出来,因为这样做可以增加安全性,备份起来也更容易。如果你安装Gentoo用来做邮件服务器 ......

对 Linux的协议栈理解

Linux的网络协议栈
       Linux的协议栈其实是源于BSD的协议栈,它向上以及向下的接口以及协议栈本身的软件分层组织的非常好。
       Linux的协议栈基于分层的设计思想,总共分为四层,从下往上依次是 :物理层,链路层,网络层,应用层。
  & ......

Linux 脚本编写基础(二)

1.1.5 Shell命令和流程控制
在shell脚本中可以使用三类命令:
1)Unix 命令:
虽然在shell脚本中可以使用任意的unix命令,但是还是由一些相对更常用的命令。这些命令通常是用来进行文件和文字操作的。
常用命令语法及功能
echo "some text": 将文字内容打印在屏幕上
ls: 文件列表
wc –l filewc -w filewc -c fi ......

linux实用命令收集

进程篇
查看某进程端口号
netstat -anp | grep 80
lsof -i :port
例:  注意":"后,紧跟端口号,没有空格
#lsof -i :443
COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
java    2731 root   35u  IPv6   7778       TCP *:https (LI ......

Linux主要性能指标监控

1.CPU&进程
 
1.1 top命令
 
top - 20:07:00 up 186 days,  3:47,  3 users,  load average: 0.01, 0.02, 0.00
Tasks:  82 total,   1 running,  80 sleeping,   1 stopped,   0 zombie
Cpu(s):  3.7% us,  0.0% sy,  0.0% ni, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号