步驟一:新建資料夾mkdir mymodule 進入編輯器gedit mymodule.c檔案
#include #include module_license("gpl");
static int __init my_module_init(void)
static void __exit my_module_exit(void)
module_init(my_module_init);
module_exit(my_module_exit);
步驟二:gedit makefile檔案
obj-m =mymodule.o
all:
make -c /lib/modules/$(shell uname -r)/build m=$(shell pwd) modules
clean:
rm *.o *.symvers *.order *.mod.c
步驟三:make
步驟四:readelf mymodule.ko -a //檢視它的完整資訊
步驟五:載入模組到核心
man insmod //檢視insmod命令的功能
insmod mymodule.ko
步驟六:檢視核心模組的列印資訊(需要管理者許可權root)
su root
man dmesg
dmesg |tail
步驟七:解除安裝模組
man rmmod //檢視rmmod命令的功能
rmmod mymodule
dmesg |tail //檢視解除安裝函式中的列印資訊
嵌入式linux的驅動程式
摘至嵌入式linux裝置驅動開發詳解 1.4 嵌入式linux驅動程式 1.4.1 嵌入式linux的核心空間和使用者空間 目前,各種處理器都能防止資源的未經授權訪問,包括嵌入式處理器。一般都是給cpu劃分不同的操作模式。不同的模式有不同的作用,某些操作不允許在低級別模式使用。核心態和使用者態是在硬...
linux 嵌入式驅動程式測試例項
include include include include include include include int main fd open dev fs o rdwr if fd 0 else printf open ok nwrite write fd,buf,strlen buf if n...
嵌入式linux之按鍵驅動程式
1.寫出框架 2.硬體操作 操作虛擬位址ioremap 1.重要函式 trap init init irq asm do irq中斷總入口 分辨中斷,處理中斷,清中斷。讀一下wait event interruptible 的原始碼,不難發現這個函式先將 當前程序的狀態設定成task interru...