前面已經把學習linux的開發環境搭建好了,現在逐步開始學習開發過程。先從核心驅動開始,寫乙個網上已經被寫爛的實列程式。先把它編譯好,放進linux系統執行,看看是什麼樣子。
建立資料夾hello,在資料夾下面建立檔案hello.c**如下:
#includemakefile檔案**如下:#include
#include
static int hello_init(void)
static void hello_exit(void)
module_init(hello_init);
module_exit(hello_exit);
module_license("gpl");
module_author("youself");
得到hello.ko檔案後,準備打包進ramdisk檔案系統。利用qemu啟動linux系統後,裝載驅動hello.ko檔案。
打包進檔案系統,具體方法如圖:
insmod我們剛才編譯的hello.ko檔案,看看結果是什麼。先使用dmesg -c把一些快取列印資訊清除,方便檢視hello模組的資訊。
可以看到我們新寫的驅動程式hello.ko已經成功新增進linux核心,第乙個驅動程式看樣子還是比較簡單嘛。
第乙個驅動程式
原始出處 驅動程式的開發,向來是令人感到有所畏懼的,可能很多人像我一樣,看了很久卻還是一頭霧水,不得其門而入。我們今天就通過乙個簡單的程式來使讀者學會初步的驅動程式開發。在開發windows驅動程式之前,我們需要首先安裝ddk,win98及其以前的vxd我們就不要再考慮了 windows 2000 ...
第乙個驅動程式
從今天開始就要進入核心驅動程式部分了,在這一節裡就通過第乙個驅動程式來介紹一下核心驅動模組的編寫框架。static intfirst drv open struct inode inode,struct file file static ssize t first drv write struct ...
我的第乙個驅動程式
arm編譯器版本 3.32 核心版本 2.6.28.7 arm號 s3c2440 驅動原始碼 include include include include include include include include define device name leds define led majo...