第一个设备驱动hello
来源:互联网 发布:淘宝文翼多论文怎么样 编辑:程序博客网 时间:2024/06/14 12:06
编写hellol.c文件
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL"); //许可
static int hello_init(void)
{
printk(KERN_ALERT "Hello, Wrold\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "Goodbye, cruel world\n");
}
module_init(hello_init); //insmod里调用它
module_exit(hello_exit); //rmmod时调用
Makefile文件:在ubuntu环境下,由于配置了相应的./vimrc文件,使得使用vi编写出来的makefile文件格式不对,出现如下的错误:
root@glose-desktop:~# make
make: 没有什么可以做的为 `all'。
后面通过在WINDOWS平台下用TXT方式重新写了一个makefile才能使用,在其中主要是由于tab键的问题。
编译成功后,使用insmod hello.ko,在终端没有输出,这应该与相应的系统环境的一些配置文件有关,通过查看log文件可以看到相应的输出。
root@glose-desktop:~# cat /var/log/syslog|grep Hello
Aug 19 16:17:43 glose-desktop kernel: [ 6510.102642] Hello, Wrold
root@glose-desktop:~# rmmod hello
root@glose-desktop:~# cat /var/log/syslog|grep Hello
Aug 19 16:17:43 glose-desktop kernel: [ 6510.102642] Hello, Wrold
root@glose-desktop:~# cat /var/log/syslog|grep Goodby
Aug 19 16:20:13 glose-desktop kernel: [ 6660.017955] Goodbye, cruel world
相应的makefile文件如下:
obj-m := hello.o
CURRENT_PATH:=$(shell pwd)
LINUX_KERNEL:=$(shell uname -r)
LINUX_KERNEL_PATH:=/usr/src/linux-headers-$(LINUX_KERNEL)
all:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) modules
clean:
make -C $(LINUX_KERNEL_PATH) M=$(CURRENT_PATH) clean
- 第一个设备驱动hello
- 第一个设备驱动--Hello,world
- linux设备驱动第一个模块hello,world
- LDD3linux设备驱动源码树的安装和第一个hello wolrd驱动的编写
- LDD3linux设备驱动源码树的安装和第一个hello wolrd驱动的编写
- 第一个字符设备驱动
- 第一个linux 设备驱动程序 hello.ko
- 第一个hello驱动开发简介
- 驱动开发(第一个程序Hello World)
- 第一个hello world 驱动实验总结
- 第一个模块,hello world 驱动编写
- Linux第一个驱动:Hello World
- 调用Uefi第一个驱动--hello world
- 第一个hello word 驱动加载失败--------
- 第一个hello world驱动模块
- 第一个Linux字符设备驱动
- windows驱动编程学习(2)--------第一个驱动 hello
- Linux 设备驱动的第一个例子:Hello World
- Ubuntu10.04自带Document Viewer看中文PDF的问题解决
- Flash/Flex中旋转文字,但不嵌入字体的研究
- identifier of an instance of Object is altered from 2 to 5
- js和php的异步传输
- vc6.0 打开文件的时候出现Microsoft Visual C++:MSDEV.EXE 应用程序错误
- 第一个设备驱动hello
- union all和union
- 提交表单的数组形式单元值
- Windows 7 快捷键大全 (转载收藏一下)
- 多级反向代理[Squid]下获取客户端真实IP地址
- VMware安装Mac调整分辨率
- TCP/IP和Socket的关系
- 杭电 hdu 2896 病毒侵袭
- 解决gedit中文乱码