设备驱动之HelloWorld-1

Posted 杨斌并

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设备驱动之HelloWorld-1相关的知识,希望对你有一定的参考价值。

设备驱动之HelloWorld

基本流程:

写hello.c 和 Makefile文件 —>make ——> sudo insmod hello.ko———> dmesg | tail 查看打印的文字 —-> lsmod查看 ———> sudo rmmod hello

插入模块后,/sys/module/下可以看到hello模块

  • #include <linux/module.h> 模块相关的操作

hello.c文件:

#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void){

    printk(KERN_ALERT "Hello , World\\n"); //内核空间里没有printf,用printk
    return 0;

}

static void hello_exit(void){
    printk(KERN_ALERT "Goodbye , World\\n");
}

//模块的注册
module_init(hello_init);
//模块的卸载
module_exit(hello_exit);

Makefile文件:

obj-m +=helloworld.o
KOIR:=/home/topeet/ybb/android/itop-3399_8.1/kernel
PWD?=$(shell pwd)
all:
	make -C $(KOIR) M=${PWD} modules
clean:
	rm -rf *.o
	rm -rf *.ko
	rm -rf *.mod.c
	rm -rf *.symvers
	rm -rf *.order

以上是关于设备驱动之HelloWorld-1的主要内容,如果未能解决你的问题,请参考以下文章

我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情

c_cpp 快速代码片段,用于在统计(阻止)/ dev / rdsk中的设备时验证fstat64和stat64的行为。

Linux之shell编程的基本使用

前端面试题之手写promise

关于mysql驱动版本报错解决,Cause: com.mysql.jdbc.exceptions.jdbc4Unknown system variable ‘query_cache_size(代码片段

JAVA之AOP