红联Linux门户
Linux帮助

使用ubuntu写hello驱动

发布时间:2016-01-04 16:08:46来源:linux网站作者:allen_osc

最近在学习linux,之前几年也有接触过,不过都半途而废了,这次我要坚持下来,好好学习。这两个根据网络写了一个hello驱动。


/* ===========================================
#     FileName: hello.c
#         Desc: hello world code
#       Author: Allen
#      Version: 0.0.1
#      History:
============================================== */
#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENSE("Dual BSD/GPL");

static int __init hello_init(void){
printk(KERN_ALERT "Hello, world\n");
return 0;
}

static void __exit hello_exit(void){
printk(KERN_ALERT "Goodbye, cruel world\n");
}

module_init(hello_init);
module_exit(hello_exit);

---------------------------------------------------
#hello__makefile
obj-m :=hello.o
KERNELDIR :=/usr/src/linux-headers-3.13.0-52-generic
PWD :=$(shell pwd)
all:
make -C $(KERNELDIR) M=$(PWD) modules          
.PHONY :clean
clean:
rm -rf *.o *ko


KERNELDIR后的路径,要根据自己的linux系统来决定,打开终端(Ctrl+Alt+T)

uname -r //查看自己的linux系统版本号,然后到/usr/src下找到自己的版本

然后就可以

make//编译成功就可以insmod hello.ko

现在还存在一个问题,就是不打印数据

使用dmesg可以看得到,但是加载驱动时候没有打印,也修改过printk(KERN_ALERT)的等级,即使最高级还是不打印,还在网络上找解决方案,到时候解决了会贴出来。


我的第一个Linux驱动hello world问题记录:http://www.linuxdiyf.com/linux/16290.html

Node.js入门基础知识:Hello world!:http://www.linuxdiyf.com/linux/12876.html

Linux(CentOS)下安装Java运行环境及输出Hello World:http://www.linuxdiyf.com/linux/12517.html

Linux下安装JDK并测试开发“Hello World!”:http://www.linuxdiyf.com/linux/12356.html

制作Ubuntu的deb格式包 从Hello World做起:http://www.linuxdiyf.com/linux/8110.html