#include /*模組的初始化和退出檔案*/
#include /*__init 和 __exit 資料段*/
/* 模組安裝函式 */
static int __init drive_test_init(void)
/* 模組解除安裝函式 */
static void __exit drive_test_exit(void)
module_init(drive_test_init);
module_exit(drive_test_exit);
module_license("gpl"); /* 模組的許可證 描述 */
module_author("dubilu"); /* 模組的作者 描述 */
module_description("module drive_test"); /* 模組的介紹資訊描述 */
module_alias("module test"); /* 模組的別名資訊描述 */
makefile
linux核心的原始碼樹目錄在ubuntu 下編譯生成.ko檔案kern_dir = /home/dubilu/nuc970bsp/linux-3.10.x
obj-m += drive_test.o
all:
make -c $(kern_dir) m=`pwd` modules
cp: cp *.ko /root/rootfs/ -rf
.phony: clean
clean:
make -c $(kern_dir) m=`pwd` modules clean
然後開發板開機
掛載nfs檔案伺服器後 將ko檔案拷貝進nfs客戶端資料夾,然後在開發板串列埠控制平台下進行裝載。
Linux裝置驅動 模組
模組檔案 在檔案系統中可以被直接插入到核心的檔案 模組三要素 模組載入函式 必須 當在檔案系統中使用insmod或者該模組在核心被執行的時候,自動執行該函式 函式方式 1 預設方式 int init module void 2 使用者自定義 int test init void module ini...
Linux裝置驅動之《字元裝置驅動》
linux裝置中最大的特點就是裝置操作猶如檔案操作一般,在應用層看來,硬體裝置只是乙個裝置檔案。應用程式可以像操作檔案一樣對硬體裝置進行操作,如open close read write 等。下面是乙個字元裝置驅動程式的簡單實現test.c 模組分析 1.初始化裝置驅動的結構體 struct fil...
Linux裝置驅動之字元裝置驅動
一 linux裝置的分類 linux系統將裝置分成三種基本型別,每個模組通常實現為其中某一類 字元模組 塊模組或網路模組。這三種型別有 字元裝置 字元裝置是個能夠像位元組流 類似檔案 一樣被訪問的裝置,由字元裝置驅動程式來實現這種特性。字元裝置可以通過檔案系統節點來訪問,比如 dev tty1等。這...