乙個最簡單的linux模組
//標頭檔案
#include
#include
module_license("gpl");
module_author("can");
int test_module_init()
void test_module_exit()
module_init(test_module_init);
module_exit(test_module_exit);
當系統呼叫insmod的時候將執行module_init函式,rmmod 模組解除安裝時呼叫module_exit函式,所有模組都需包含上述標頭檔案,裝置驅動模型的**須指定為gpl協議,否則無法載入到核心中。
makefile:
obj-m := test_module.o
kdir :=/home/can/tiny4412/linux-3.8
# arm
all:
make -c $(kdir) m=$(pwd) modules arch=arm cross_compile=arm-linux-
clean:
rm -f *.ko *.o *.mod.o *.mod.c *.symvers modul* *oper
編譯的三種情況:
obj-不編入核心
obj -y編入核心
obj-m編譯成模組
執行make編譯後將生成的.ko檔案拷貝到開發板 進入目錄執行 insmod與rmmod 載入與解除安裝該模組
insmod 模組.ko 引數1=值1 引數2=值2 引數3=值3在載入hello.ko後檔案系統發生的變化modprobe 命令是比較高階的載入和刪除模組命令,其可以解決模組之間的依賴性問題
lsmod 命令列出已經載入的模組和資訊。在insmod hello.ko 之前和之後執行該命令可知道hello.ko是否被載入
modinfo 命令用於查詢模組的相關資訊,比如作者 、版權等
Andorid linux模組編譯和載入 一)
在達到能直接修改linux核心的程度之前,我們寫的 都需要以模組的方式新增到核心中去執行。本節就介紹最 簡單的模組編寫和載入方法。1 首先建立乙個目錄modules,以存放以後編寫的模組。再在其下建立乙個子目錄hello,最為本節建立模組的位置。2 編寫原始檔hello.c,如下。cpp view ...
nodejs中如何建立和載入模組
在nodejs中,建立乙個模組非常簡單,因為乙個檔案就是乙個模組,我們要關注的就是如何在其他檔案中獲取到這個模組。在node.js中提供了exports和require兩個物件,其中exports是模組公開的介面,require用於從外部獲取乙個模組的介面。下面就是乙個具體的使用例子 首先定義了乙個...
nginx php動態編譯載入模組
nginx動態編譯載入模組步驟 檢視目前nginx版本及編譯模組 nginx version nginx 1.12.0 built by gcc 4.8.5 20150623 red hat 4.8.5 11 gcc built with openssl 1.0.2k 26 jan 2017 tls...