/*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中对文件的读写【学习笔记】【原创】相关推荐

  1. 文件和存储管理学习笔记-动态磁盘管理

    Server 2008 R2 文件和存储管理学习笔记-动态磁盘管理 基本磁盘是包含基本分区.扩展分区或逻辑驱动器的一种物理磁盘 动态磁盘提供了基本磁盘不提供的一些高级功能,创建无限数量卷.跨越多个磁盘 ...

  2. linux 内核驱动中对文件的读写

    转载地址 http://www.360doc.com/content/12/1224/10/3478092_255969804.shtml 有时候需要在Linux kernel--大多是在需要调试的驱 ...

  3. linux内核驱动中对文件的读写 【转】

    本文转载自:http://blog.chinaunix.net/uid-13059007-id-5766941.html 有时候需要在Linux kernel--大多是在需要调试的驱动程序--中读写文 ...

  4. Linux 压缩、解压缩和文件切割的学习笔记

    目录 Linux 压缩.解压缩和文件切割的学习笔记 单文件的压缩和解压缩 compress 和 uncompress gzip.gunzip 和 zcat bzip2.bunzip2.bzcat 和 ...

  5. java 二进制 文件比较_Java中对文件的读写操作之比较

    Java 中对文件的读写操作之比较 作者:Jeru Liu 日期:November 29,2000 版本:1.0 纪念在chinaasp积分过一百呕心原创一篇(Java 中对文件的读写操作之比较)拿分 ...

  6. 在VB中INI文件的读写、删除(对中文支持很好)

    很多时候我们编一个程序不一定要用到注册表来保存设置(如果说一个程序没有设置就不算好程序了).INI是一个很好的选择.有人说,Savesetting是一个不错的选择,但是我了解到,不能永久的保存(起码在 ...

  7. 中移物联网onenet入门学习笔记2:中移物联的通信格式

    中移物联网onenet入门学习笔记2:中移物联的通信格式 中移物联网硬件接入协议:LWM2M协议,EDP协议,MQTT协议,HTTP协议,TCP透传,MODBUS协议,JT/T808协议,RCMP协议 ...

  8. Java学习笔记(原创)

    Java学习笔记(原创) 2011-12-01 16:37:00|  分类: Java|举报|字号 订阅 下载LOFTER客户端 基本知识 一. Java基础 1. java语言的特点: ①简单:没有 ...

  9. Linux中常用的文件目录,Linux学习笔记2——Linux中常用文件目录操作命令

    ls 显示文件和目录列表 -l 列出文件的详细信息 -a 列出当前目录所有文件,包含隐藏文件 mkdir 创建目录 -p 父目录不存在情况下先生成父目录 cd 切换目录 touch 生成一个空文件 e ...

最新文章

  1. leetcode-452 用最少数量的箭引爆气球
  2. swift 浮点型字符串的运算
  3. bzoj 4711 小奇挖矿 ——“承诺”类树形dp
  4. 汇编中的条件转移指令
  5. 解决用navicate远程连接数据库出现1045 access denied for user 'root'@'localhost' using password yes...
  6. ad采样频率_使用AD5933分析复阻抗的时钟频率设置
  7. 文巾解题 136. 只出现一次的数字
  8. dojo Quick Start/dojo入门手册--xmlhttp dojo.xhrGet
  9. UE4异步编程专题 - 多线程
  10. python图像库_Python常用图像处理库整理
  11. 在HTML中取得请求中的参数
  12. 无法连接到SQL SERVER数据库
  13. 【数据库记录】数据库三大范式和BCNF范式
  14. mysql主从架构的实现
  15. 用C语言打印一个菱形图案!
  16. javaEE自驾游旅游景点管理系统ssm
  17. 对序列化器、“对象”的理解
  18. java-Effectively final
  19. 如果你35岁恐慌了,那你真的该反思自己了···
  20. 如何测试服务器及端口是否畅通?

热门文章

  1. Linux软件安装——安装软件的命令
  2. P4592 [TJOI2018]异或 (可持久化Trie)
  3. (0.2.6)Mysql安装——编译安装
  4. sqlserver操作geography方法
  5. 06jQuery-04-DOM操作
  6. Nginx+Php-fpm+MySQL+Redis源码编译安装指南
  7. tomcat运行问题解决方法
  8. 求解:nhibernate2.0操作oralce提交事务时报错
  9. U-Boot源码目录分析(VScode工程创建及文件夹过滤)
  10. 大数据工作流_大数据和人工智能时代下的数字化工作流