Linux学习
文章平均质量分 57
退休的功成师
这个作者很懒,什么都没留下…
展开
-
MODULE_LICENSE模块声明
编写模块时的声明(含MODULE_LICENSE等)编写模块必须先声明下面两句:#include <linux/module.h> //这个头文件包含了许多符号与函数的定义,这些符号与函数多与加载模块有关#include <linux/init.h> //这个头文件包含了你的模块初始化与清除的函数另外,如果你的模块需要用到参数传递,那么你可能就要声明moduleparam.h这个头文件了。再者,模块里常包原创 2021-03-05 13:42:07 · 1323 阅读 · 1 评论 -
Linux字符设备驱动file_operations详解
struct _file_operationsstruct _file_operations在Fs.h这个文件里面被定义的,如下所示:struct file_operations { struct module *owner;//拥有该结构的模块的指针,一般为THIS_MODULESloff_t (*llseek) (struct file *, loff_t, int);//用来修改文件当前的读写位置ssize_t (*read) (struct file *, char __user *,转载 2021-02-03 13:41:28 · 992 阅读 · 0 评论 -
linux 驱动使用 sleep
linux 系统提供了一个延时头文件 #include <linux/delay.h>驱动中使用这个头文件就可以使用msleep函数使进程进入休眠void msleep(unsigned int millisecs);unsigned long msleep_interruptible(unsigned int millisecs);void ssleep(unsigned int seconds)这类方法获得毫秒(和更长)延时而不用涉及到忙等待,前2 个函数使调用进程进入睡眠给定的毫原创 2021-02-02 14:14:48 · 1242 阅读 · 0 评论 -
Linux中断 - 驱动申请中断API
Linux中断 - 驱动申请中断API一、前言本文主要的议题是作为一个普通的驱动工程师,在撰写自己负责的驱动的时候,如何向Linux Kernel中的中断子系统注册中断处理函数?为了理解注册中断的接口,必须了解一些中断线程化(threaded interrupt handler)的基础知识,这些在第二章描述。第三章主要描述了驱动申请 interrupt line接口API request_threaded_irq的规格。第四章是进入request_threaded_irq的实现细节,分析整个代码的执行过转载 2021-02-01 14:13:08 · 414 阅读 · 0 评论 -
Linux压缩命令(zip/gz/bz2/tar/tar.gz/tar.bz2)
Linux压缩命令(zip/gz/bz2/tar/tar.gz/tar.bz2)一、Linux的压缩格式.zip 、 gz 、 bz2 、tar1、.zip格式(Linux和Windows是可以互传的)压缩命令语法:zip 文件名.zip 文件名 ------压缩文件语法: zip -r 文件名.zip 文件名 ------压缩目录解压缩命令语法:unzip 解压缩文件2、gz格式压缩(Linux特有的,但是Windows可以时间.gz)压缩命令:gzip 源文件转载 2021-01-29 14:04:46 · 161 阅读 · 0 评论 -
linux 驱动中加入一个定时器驱动循环执行
#include <linux/timer.h>struct timer_list mytimer;//定义一个定时器void mytimer_ok(unsigned long arg){printk(KERN_ERR"Mytimer is ok\r\n");//重新再次设定时间,让定时器周期执行mytimer.expires = jiffies+1*HZ;//设定超时时间,代表1秒mytimer.data = 1 ; //传递给定时器超时函数的值mytimer.func原创 2021-01-18 19:49:35 · 541 阅读 · 0 评论