偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

闡述Linux驅(qū)動程序“Hello world!”

運維 系統(tǒng)運維
學習Linux,你可能會遇到嵌入式Linux問題,下面介紹第一個Linux驅(qū)動程序“Hello world!”,“Hello world”也許是第一個程序員寫的程序吧,這里我也從寫它開始,盡管它很簡單,但它記錄了學習Linux驅(qū)動程序的過程。

學習Linux,你可能會遇到嵌入式Linux問題,下面介紹第一個Linux驅(qū)動程序“Hello world!”,“Hello world”也許是第一個程序員寫的程序吧,這里我也從寫它開始,盡管它很簡單,但它記錄了學習Linux驅(qū)動程序的過程。

  1. /*hello_module.c*/  
  2. #include <linux/module.h> 
  3. #include <linux/init.h> 
  4. static int __init mini2440_hello_module_init(void)  
  5. {  
  6.     printk("Hello, Mini2440 module is installed !\n");  
  7.     return 0;  
  8. }  
  9. static void __exit mini2440_hello_module_cleanup(void)  
  10. {  
  11.     printk("Good-bye, Mini2440 module was removed!\n");  
  12. }  
  13. module_init(mini2440_hello_module_init);  
  14. module_exit(mini2440_hello_module_cleanup);  
  15. MODULE_LICENSE("GPL"); 

簡單的分析:本程序中所用到的頭文件“l(fā)inux/module.h”和“l(fā)inux/init.h”在所有的模塊代碼中都應該包含。MODULE_LICENSE("GPL");是內(nèi)核模塊所遵循的許可證。函數(shù)用__init來修飾,標明函數(shù)僅在初始化期間使用,當模塊被裝載后將該初始化函數(shù)扔掉,把函數(shù)占用的內(nèi)存釋放出來。初始化函數(shù)也可以不加__init修飾,只是占用一部分內(nèi)存而已,并且該初始化函數(shù)還可以被其它函數(shù)調(diào)用。__exit修飾詞標記該代碼用于模塊卸載,其它的任何時候調(diào)用該函數(shù)將出錯。

模塊的Makefile文件如下:

  1. obj-m:=hello_module.o  
  2. CURRENT_PATH:=$(shell pwd)  
  3. ARM_LINUX_KERNEL:=/opt/linux-2.6.29.1  
  4. all:  
  5. $(MAKE) -C $(ARM_LINUX_KERNEL) SUBDIRS=$(CURRENT_PATH) modules  
  6. clean:  
  7. rm -RF *.cmd *.o *.ko *.mod.c *.symvers *.order 

以上就是Linux驅(qū)動程序“Hello world!”的介紹。

【編輯推薦】

  1. 輕松掌握Linux關(guān)機命令
  2. 講解Linux操作系統(tǒng)進入與退出系統(tǒng)方法
  3. 闡述Linux操作系統(tǒng)不足和發(fā)展趨勢
  4. 關(guān)于Linux應用范圍的介紹
  5. 讓你深入了解Linux常用軟件
責任編輯:小霞 來源: CSDN
相關(guān)推薦

2011-01-10 18:21:38

linux編寫程序

2011-01-06 16:29:08

linuxtasklet機制

2009-12-07 09:39:04

Linux設備驅(qū)動硬件通信

2013-10-31 16:29:10

Linux內(nèi)核

2009-07-06 18:17:46

JDBC驅(qū)動程序

2021-11-29 07:55:45

Linux GPIO Linux 系統(tǒng)

2021-12-06 07:47:36

Linux 驅(qū)動程序Linux 系統(tǒng)

2017-06-26 08:55:52

2009-12-10 10:25:12

Linux觸摸屏驅(qū)動

2015-10-27 09:47:11

2009-10-23 10:25:27

驅(qū)動程序技巧

2011-08-16 16:32:13

Linux驅(qū)動程序

2023-09-26 07:44:52

JavaJVM

2012-03-06 10:22:00

程序

2009-12-17 09:56:26

Linux添加驅(qū)動模塊

2018-11-26 08:45:29

Linux驅(qū)動程序命令

2009-11-30 14:51:00

Linux設置無線網(wǎng)卡

2016-12-13 14:12:25

程序機制

2016-12-14 14:41:20

Hello World程序運行機制

2011-06-08 17:59:43

Qt Creator
點贊
收藏

51CTO技術(shù)棧公眾號