helloworld驅動簡單插入和刪除

2021-10-06 14:20:47 字數 885 閱讀 4824

1.先寫個核心**demo;

2.寫對應的makefile;

3.make編譯**;

4.用insmod命令插入編譯好的.ko模組;(need :sudo)

5.用lsmod,檢視插入模組是否成功;

6.用dmesg指令檢視剛剛插入模組在核心中的列印資訊;

7.用rmmod解除安裝掉剛剛插入的模組;(need :sudo)

8.執行第6步操作,檢視列印資訊。

核心**如下:

//#include #include #include #include //編寫核心模組要新增

static int __init lkm_init(void) //入口函式

static void __exit lkm_exit(void) //出口函式

module_init(lkm_init); //入口點

module_exit(lkm_exit); //出口點

module_license("gpl"); //許可證宣告

makefile**如下:

obj-m:=helloworld.o

current_path:=$(shell pwd)

linux_kernel:=$(shell uname -r)

linux_kernel_path:=/usr/src/linux-headers-$(linux_kernel)

all:

make -c $(linux_kernel_path) m=$(current_path) modules

clean:

make -c $(linux_kernel_path) m=$(current_path) clean

驅動版的「Hello World」

我們學習程式設計,都是從 hello world 開始的,驅動程式也不例外,今天我就寫乙個驅動版的 hello world 來熱熱身,目的希望大家能對驅動程式的基本框架有所了解。驅動程式分為2類,乙個是kernel模式驅動,另乙個是windows模式驅動,2種模式本質是相同,但細節不同,本文介紹的是...

helloworld驅動程式

mkdir opt embedsky modules cd modules mkdir hello cd hello vim hello.c hello 驅動 如下 hello.c qudong duopin 2012.4.22 include include module license gpl ...

驅動學習筆記 Hello World !

編譯環境用xp下vc6 ddk 新建乙個資料夾當作工程目錄,路徑是e lingdux 從別的工程copy過來兩個檔案,乙個是makefile,它用來指定檔案之間的依賴關係,確定專案中哪些檔案時需要重新編譯的,那些事已經編譯過的。裡面的內容不用改,直接預設就ok 另乙個是source,它用來儲存一些配...