Linux之裝置驅動模型學習筆記
阿新 • • 發佈:2018-12-23
提供了對許多模組支援,包括但不限於裝置驅動
每個模組由目的碼組成(沒有連線成一個完整可執行程式)
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()
這些函式由核心在適當的時候來呼叫
這些函式可以用來完成硬體訪問操作