歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux設備驅動之Hello World!

Linux設備驅動之Hello World!

日期:2017/3/1 10:27:25   编辑:Linux編程

准備記錄一下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. static int hello_init(void)
  4. {
  5. printk(KERN_INFO "hello world!\n");
  6. return 0;
  7. }
  8. static void hello_exit(void)
  9. {
  10. printk(KERN_INFO "Goodbye!\n");
  11. }
  12. module_init(hello_init);
  13. module_exit(hello_exit);
  14. MODULE_LICENSE("Dual BSD/GPL");

Makefile文件如下:

  1. ifneq ($(KERNELRELEASE),)
  2. # call from kernel build system
  3. obj-m := helloworld.o
  4. else
  5. KERNELDIR ?= /lib/modules/$(shell uname -r)/build
  6. PWD := $(shell pwd)
  7. default:
  8. $(MAKE) -C $(KERNELDIR) M=$(PWD) modules
  9. endif

輸入make命令進行編譯,可以看看終端上編譯的輸出信息,這有助於我們對編譯過程的了解:

Copyright © Linux教程網 All Rights Reserved