Linux驱动开发(1)之环境搭建小试牛刀

一、环境搭建

最简单的方法就是:

1、Windows下安装VMware

2、WMware下安装Ubuntu(本人装的ubuntu-10.04-desktop-i386(ubuntu发行版的名字、10.04是10年04月、desktop是发行的版本、i386是cpu的型号和类型))

3、此时你的环境已经搭建好了,要多简单就多简单,是不是还没有做什么?怎么可能?这是因为Ubuntu已经帮我们做好了。

4、刚安装Ubuntu怎么配置屏幕分辨率呢?System-Preferences-Monitors

5、验证:打开终端(快捷键:ctrl+atl+t)输入uname -a或uname -r查看内核版本;源码目录:/usr/src

二、小试牛刀

1、在你的用户下新建一个目录:study(可以任意,本文以study为例)

2、建两个文件

第一个:hello.c

代码如下:

#include<linux/module.h>
#include<linux/init.h>


MODULE_LICENSE("Dual BSD/GPL");


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


static int hello_exit(void)
{
printk(KERN_ALERT "Goodbye.\n");
return 0;
}


module_init(hello_init);
module_exit(hello_exit);

第二个文件:Makefile(注意M大写且无后缀名,下面的all和clean下的那一行指令前的空白式一个Tab建)

内容如下:

obj-m := hello.o
KERNEL_DIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
all:
make -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
clean:
rm *.o *.ko
.PHONY:clean

3、执行(注意:当提示Operation not permitted请在指令前加sudo)

首先进入到目录study

然后执行:make

其次加载模块到内核:insmod ./hello.ko

查看是否有hello模块:lsmod

最后卸载模块:rmmod hello

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。