Linux裝置驅動程式(第三版) 忙等待

2021-05-26 13:08:00 字數 1177 閱讀 5644

#include #include #include #include #include #include #include #include #include #include //jiffies

#include #include //u64

#include //file_operations, file

#include #include //copy_to_user & copy_from_user

int delay = hz;

enum jit_files ;

int jit_fn(char *buf, char **start, off_t offset, int len, int *eof, void *data)

j1 = jiffies;

len = sprintf(buf, "%9li %9li\n", j0, j1);

*start = buf;

return len;

}int jit_currentime(char *buf, char **start, off_t offset, int len, int *eof, void *data)

int __init jit_init(void)

void __exit jit_exit(void)

module_license("dual bsd/gpl");

module_init(jit_init);

module_exit(jit_exit);

obj-m:= jit.o

modules-objs:= jit.o

kdir:= /usr/src/linux-headers-2.6.31-14-generic/

pwd:= $(shell pwd)

default:

make -c $(kdir) m=$(pwd) modules

clean:

rm -rf *.ko *.mod.c *.mod.o *.o *.markers *.symvers *.order

insmod jit.ko
dd bs=20 count=5 < /proc/jitbusy
rmmod jit

linux裝置驅動程式(第三版)閱讀筆記(三)

第三章 字元裝置驅動程式 1 裝置編號的內部表示 在核心中,dev t 型別 在 中定義 用來持有裝置編號 主次 部分都包括.對於 2.6.0 核心,dev t 是 32 位的量,前12 位用作主編號,後 20 位 用作次編號.當然,對於裝置編號的內部組織從不做任何假設 相反,應當利用在中的一套巨集...

Linux裝置驅動程式 第三版 的學習 一

為自己編寫的模組配置並構造好核心樹 1.應用程式和核心模組的區別 應用程式 1 應用程式從頭到尾執行單個任務 2 應用程式在退出時,可以不管資源的釋放或者其他的清除工作 3 應用程式可以呼叫它並未定義的函式,這是因為在鏈結過程能夠解析外部引用從而使用適當的函式庫.4 應用程式開發過程中的段錯誤是無害...

編譯apue 第三版

想要直接使用作者提供的源 就需要編譯下,這個檔名是src.3e.tar.gz 很簡單的幾步就搞定了.解壓src.3e.tar.gz 進入apue.3e make 進入apue.3e lib目錄,複製libapue.a到 usr local lib目錄 進入 apue.3e include目錄,複製 ...