Linux驱动(一)——驱动的基本框架

/ *源代码文件称为:xxx.c * /
#包括 < LINUX / module.h中>
#包括 < LINUX / kernel.h当>
#包括 < LINUX / init.h里>
#包括 < LINUX / fs.h文件>
#包括 < LINUX / uaccess.h中>

static  int __init shanwuyan_init(void)	 //驱动入口函数
{
	printk(KERN_EMERG “ shanwuyan_init \ r \ n ”);
	返回 0 ;
}

static  void __exit shanwuyan_exit(void)	 //驱动出口函数
{
	printk(KERN_EMERG “ shanwuyan_exit \ r \ n ”);
}

module_init(shanwuyan_init);	//注册入口函数
module_exit(shanwuyan_exit);	//注册出口函数

MODULE_LICENSE(“ GPL ”);	//同意GPL开源协议
MODULE_AUTHOR(“ shanwuyan ”);	//添加作者名称
Makefile
#!/bin/bash

obj-m += shanwuyan.o

KDIR := /home/topeet/Android/itop4412_kernel_4_14_2_bsp/linux-4.14.2_iTop-4412_scp #这里要对应你的Linux内核目录

PWD ?= $(shell pwd)

all:
	make -C $(KDIR) M=$(PWD) modules

clean:
	make -C $(KDIR) M=$(PWD) clean

应用:
编译,并加载生成的“shanwuyan.ko”文件,加载驱动和卸载驱动的命令如下。

1 insmod shanwuyan.ko #加载驱动
2 rmmod shanwuyan.ko #卸载驱动,如果该命令不起作用,请用下方的命令
3 rmmod shanwuyan    #卸载驱动

在这里插入图片描述
进入到驱动文件所在的路径下,并在命令行输入加载驱动的命令“insmod shanwuyan.ko”,可以看到驱动入口函数打印出来的字符串信息“shanwuyan_init”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值