歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> 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!\n");  
  7.     return 0;  
  8. }  
  9.   
  10. static void hello_exit(void)   
  11. {  
  12.     printk(KERN_INFO "Goodbye!\n");  
  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命令進行編譯,可以看看終端上編譯的輸出信息,這有助於我們對編譯過程的了解:

Copyright © Linux教程網 All Rights Reserved