
驱动
驱动
~AI钢铁侠~
怕什么真理无穷,进一寸有进一寸的欢喜!
展开
-
cdev_init() / cedev_alloc() / cdev_del()
1)内核中每个字符设备都对应一个 cdev结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj; // 每个 cdev都是一个 kobjectstruct module *owner; //指向实现驱动的模块cons转载 2017-11-07 14:35:27 · 1015 阅读 · 0 评论 -
jiffies
全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。 系统运行时间以秒为单位,等于jiffies/Hz。 注意,jiffies类型为无符号长整型(unsigned long),其他任何类型存放它都不正确。转载 2017-11-08 09:48:19 · 436 阅读 · 0 评论 -
Linux 内核中的 cdev_alloc和cdev_add
内核中每个字符设备都对应一个 cdev 结构的变量,下面是它的定义:linux-2.6.22/include/linux/cdev.hstruct cdev {struct kobject kobj; // 每个 cdev 都是一个 kobjectstruct module *owner; // 指向实现驱动的模块const struct fi转载 2017-11-06 17:05:53 · 1190 阅读 · 0 评论 -
关于jiffies
iffies在内核中是一个全局变量,声明包含在#include 中,几个内核中常用的的概念:1. HZ内核常量,ARM架构HZ=100,X86架构HZ=1000例如HZ=100,表示硬件定时器1秒钟给CPU发送100个定时器中断信号每发生一次中断的时间间隔为10ms注意:不同的环境HZ的值都是可能不一样的,我曾经遇到过一个TI的开发板,他的jif转载 2017-11-06 17:10:25 · 390 阅读 · 0 评论 -
Linux内核中读写文件数据的方法
Linux内核中读写文件数据的方法 有时候需要在Linuxkernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read()vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/u转载 2017-11-06 17:14:41 · 1878 阅读 · 1 评论