kernel中对文件的读写【学习笔记】【原创】
/*1. 头文件 */ #include <linux/init.h> #include <linux/module.h> #include <linux/moduleparam.h> #include <linux/kernel.h> #include <linux/list.h> #include <linux/fs.h> #include <linux/uaccess.h>MODULE_PARM_DESC(ivar, "module kernel list");static char buf[] = "aa:aa:aa:aa:aa:aa"; static char readbuf[128]; /* 2.模块的加载函数*/ static int __init hello_init(void) {struct file *fp;mm_segment_t fs;loff_t pos;fp = filp_open("/sys/kernel/pax_ethernet/mac",O_RDWR|O_CREAT,0644);if(IS_ERR(fp)){printk("create file error\r\n");return -1;}fs = get_fs();set_fs(KERNEL_DS);pos = 0;vfs_write(fp,buf,sizeof(buf),&pos);pos = 0;vfs_read(fp,readbuf,sizeof(readbuf),&pos);printk("Read:%s\r\n",readbuf);filp_close(fp,NULL);set_fs(fs);return 0; }/* 3.模块的卸载函数*/ static void __exit hello_exit(void) {printk("Bye, drivers!\n"); }/*4. 模块的入口和出口*/ module_init(hello_init); module_exit(hello_exit);/*5.模块的许可声明*/ MODULE_LICENSE("GPL");
Makefile
ifeq ($(KERNELRELEASE),) KERNELDIR ?=/home/zhuangzb/project/rk3288-e810-android6.0/kernel #内核路径 PWD :=$(shell pwd) #当前路径modules:$(MAKE) -C $(KERNELDIR) M=$(PWD) modules#cp hello.ko /opt/fs210/filesystem/drivers/ -f modules_install:$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install clean:rm -rf *.o *~core *.ko *.mod.c .tmp_versions Module.symvers modules.order elseobj-m :=kernel_file.o #生成hello.ko
kernel中对文件的读写【学习笔记】【原创】相关推荐
- 文件和存储管理学习笔记-动态磁盘管理
Server 2008 R2 文件和存储管理学习笔记-动态磁盘管理 基本磁盘是包含基本分区.扩展分区或逻辑驱动器的一种物理磁盘 动态磁盘提供了基本磁盘不提供的一些高级功能,创建无限数量卷.跨越多个磁盘 ...
- linux 内核驱动中对文件的读写
转载地址 http://www.360doc.com/content/12/1224/10/3478092_255969804.shtml 有时候需要在Linux kernel--大多是在需要调试的驱 ...
- linux内核驱动中对文件的读写 【转】
本文转载自:http://blog.chinaunix.net/uid-13059007-id-5766941.html 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文 ...
- Linux 压缩、解压缩和文件切割的学习笔记
目录 Linux 压缩.解压缩和文件切割的学习笔记 单文件的压缩和解压缩 compress 和 uncompress gzip.gunzip 和 zcat bzip2.bunzip2.bzcat 和 ...
- java 二进制 文件比较_Java中对文件的读写操作之比较
Java 中对文件的读写操作之比较 作者:Jeru Liu 日期:November 29,2000 版本:1.0 纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分 ...
- 在VB中INI文件的读写、删除(对中文支持很好)
很多时候我们编一个程序不一定要用到注册表来保存设置(如果说一个程序没有设置就不算好程序了).INI是一个很好的选择.有人说,Savesetting是一个不错的选择,但是我了解到,不能永久的保存(起码在 ...
- 中移物联网onenet入门学习笔记2:中移物联的通信格式
中移物联网onenet入门学习笔记2:中移物联的通信格式 中移物联网硬件接入协议:LWM2M协议,EDP协议,MQTT协议,HTTP协议,TCP透传,MODBUS协议,JT/T808协议,RCMP协议 ...
- Java学习笔记(原创)
Java学习笔记(原创) 2011-12-01 16:37:00| 分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...
- Linux中常用的文件目录,Linux学习笔记2——Linux中常用文件目录操作命令
ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...
最新文章
- leetcode-452 用最少数量的箭引爆气球
- swift 浮点型字符串的运算
- bzoj 4711 小奇挖矿 ——“承诺”类树形dp
- 汇编中的条件转移指令
- 解决用navicate远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes...
- ad采样频率_使用AD5933分析复阻抗的时钟频率设置
- 文巾解题 136. 只出现一次的数字
- dojo Quick Start/dojo入门手册--xmlhttp dojo.xhrGet
- UE4异步编程专题 - 多线程
- python图像库_Python常用图像处理库整理
- 在HTML中取得请求中的参数
- 无法连接到SQL SERVER数据库
- 【数据库记录】数据库三大范式和BCNF范式
- mysql主从架构的实现
- 用C语言打印一个菱形图案!
- javaEE自驾游旅游景点管理系统ssm
- 对序列化器、“对象”的理解
- java-Effectively final
- 如果你35岁恐慌了,那你真的该反思自己了···
- 如何测试服务器及端口是否畅通?
热门文章
- Linux软件安装——安装软件的命令
- P4592 [TJOI2018]异或 (可持久化Trie)
- (0.2.6)Mysql安装——编译安装
- sqlserver操作geography方法
- 06jQuery-04-DOM操作
- Nginx+Php-fpm+MySQL+Redis源码编译安装指南
- tomcat运行问题解决方法
- 求解:nhibernate2.0操作oralce提交事务时报错
- U-Boot源码目录分析(VScode工程创建及文件夹过滤)
- 大数据工作流_大数据和人工智能时代下的数字化工作流