自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

運(yùn)維 系統(tǒng)運(yùn)維
學(xué)習(xí)Linux,你可能會(huì)遇到嵌入式Linux問(wèn)題,下面介紹第一個(gè)Linux驅(qū)動(dòng)程序“Hello world!”,“Hello world”也許是第一個(gè)程序員寫(xiě)的程序吧,這里我也從寫(xiě)它開(kāi)始,盡管它很簡(jiǎn)單,但它記錄了學(xué)習(xí)Linux驅(qū)動(dòng)程序的過(guò)程。

學(xué)習(xí)Linux,你可能會(huì)遇到嵌入式Linux問(wèn)題,下面介紹第一個(gè)Linux驅(qū)動(dòng)程序“Hello world!”,“Hello world”也許是第一個(gè)程序員寫(xiě)的程序吧,這里我也從寫(xiě)它開(kāi)始,盡管它很簡(jiǎn)單,但它記錄了學(xué)習(xí)Linux驅(qū)動(dòng)程序的過(guò)程。

  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"); 

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

模塊的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ū)動(dòng)程序“Hello world!”的介紹。

【編輯推薦】

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

2011-01-10 18:21:38

linux編寫(xiě)程序

2009-12-07 09:39:04

Linux設(shè)備驅(qū)動(dòng)硬件通信

2013-10-31 16:29:10

Linux內(nèi)核

2011-01-06 16:29:08

linuxtasklet機(jī)制

2021-12-06 07:47:36

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

2009-07-06 18:17:46

JDBC驅(qū)動(dòng)程序

2015-10-27 09:47:11

2009-10-23 10:25:27

驅(qū)動(dòng)程序技巧

2021-11-29 07:55:45

Linux GPIO Linux 系統(tǒng)

2017-06-26 08:55:52

2009-12-10 10:25:12

Linux觸摸屏驅(qū)動(dòng)

2018-11-26 08:45:29

Linux驅(qū)動(dòng)程序命令

2009-11-30 14:51:00

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

2016-12-13 14:12:25

程序機(jī)制

2016-12-14 14:41:20

Hello World程序運(yùn)行機(jī)制

2011-06-08 17:59:43

Qt Creator

2012-03-06 10:22:00

程序

2023-09-26 07:44:52

JavaJVM

2009-12-17 09:56:26

Linux添加驅(qū)動(dòng)模塊

2011-08-16 16:32:13

Linux驅(qū)動(dòng)程序
點(diǎn)贊
收藏

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