Linux设备驱动之Hello World!
Linux设备驱动之Hello World!
准备记录一下Linux驱动学习的点点滴滴!接触一段时间了,但是没有记录,恰巧想把手头的ARM11的板子整整!所以,准备从今天开始系统记录一下,主要就是学习驱动的架构,然后编写板子上面外设的驱动程序,并进行测试!
关于驱动学习最好的资料就是内核源码了,但是也推荐一本书。
《Linux设备驱动开发详解》
今天是作为一个系列的开篇,保持优良传统,写一个Hello World!的驱动程序。
- #include <linux/init.h>
- #include <linux/module.h>
- static int hello_init(void)
- {
- printk(KERN_INFO "hello world!\n");
- return 0;
- }
- static void hello_exit(void)
- {
- printk(KERN_INFO "Goodbye!\n");
- }
- module_init(hello_init);
- module_exit(hello_exit);
- MODULE_LICENSE("Dual BSD/GPL");
Makefile文件如下:
- ifneq ($(KERNELRELEASE),)
- # call from kernel build system
- obj-m := helloworld.o
- else
- KERNELDIR ?= /lib/modules/$(shell uname -r)/build
- PWD := $(shell pwd)
- default:
- $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
- endif
输入make命令进行编译,可以看看终端上编译的输出信息,这有助于我们对编译过程的了解:
|
评论暂时关闭