Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Linux设备驱动之Hello World!

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