1. 程式人生 > >Linux之裝置驅動模型學習筆記

Linux之裝置驅動模型學習筆記

 

提供了對許多模組支援,包括但不限於裝置驅動

每個模組由目的碼組成(沒有連線成一個完整可執行程式)

insmod將模組動態載入到正在執行的核心

rmmod程式移除模組 

#include <linux/init.h>
#include <linux/module.h>

MODULE_LICENCE("Dual BSD/GPL");

static int __init hello_init(void)
{
        printk(KERN_ALERT"Hello world\n");
        return 0;

}

static void __exit hello_exit(void)
{
        printk(KERN_ALERT"Hello world exit\n");
}

核心驅動模組與應用程式對比

應用程式是一個程序

程式設計從主函式main()開始

主函式main返回即是程序結束 

驅動程式是一系列核心函式

驅動程式向核心添加了一些函式,是核心的一部分:open() release() read() write()

這些函式由核心在適當的時候來呼叫

這些函式可以用來完成硬體訪問操作