Linux驅動程式設計(一)

2021-06-08 14:55:58 字數 784 閱讀 1398

簡單的linux驅動**:

// mem.c檔案

#include #include module_license("gpl");

static int mem_init(void)

static void mem_exit(void)

module_init(mem_init);

module_exit(mem_exit);

makefile:

ifneq ($(kernelrelease),)

obj-m := mem.o

else

kerneldir ?= /lib/modules/$(shell uname -r)/build

pwd := $(shell pwd)

default:

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

endif

clean:

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

編譯好後,用insmod和rmmod裝載和解除安裝驅動模組。

如:sudo insmod mem.ko

注意,要在命令前加sudo,否則會報錯:insmod: error inserting 'mem.ko': -1 operation not permitted

要檢視已裝載到模組,用命令:lsmod

要看printk到輸出,在終端裡輸入命令:dmesg

linux驅動程式設計(一) linux介紹

1.uboot 引導程式 2.linux核心 3.檔案系統 andrioid qt ubuntu 驅動程式 位於作業系統與硬體之間 linux裝置 字元裝置,塊裝置 bsp板級支援包 網路裝置 bsp板級支援包 1.gpio 2.記憶體管理單元 mmu mcu 微控制器 mpu 微處理器 虛擬位址 ...

linux驅動程式設計

program for block device driver of devfs type 對linux的devfs型別的驅動程式的編寫可以從以下幾大內容理解和入手 通過分析驅動程式源 可以發現驅動程式一般可分三部分 核心資料結構 核心資料和資源的初始化,註冊以及註消,釋放 底層裝置操作函式 還有d...

Linux驅動程式設計(十) 驅動註冊

驅動註冊使用結構體platform driver,該結構體在 include linux platform device.h 中,使用命令開啟 vim include linux platform device.h驅動註冊函式platform driver register,驅動解除安裝函式plat...