Linux驅動開發之靜態申請裝置號

2021-08-20 22:38:09 字數 2049 閱讀 9629

一、

1、標頭檔案

include/linux/fs.h

2、api

靜態申請裝置號

int register_chrdev_region(dev_t, unsigned, const char *);

動態分配裝置號

int alloc_chrdev_region(dev_t *, unsigned, unsigned, const char *);

3、登出裝置號

void unregister_chrdev_region(dev_t, unsigned);

二、靜態申請裝置號例項

1、驅動源**

#include

#include

#include

#include

static int hello_major = 248; // 主裝置號

static int hello_minor = 0; // 次裝置號

static int number_of_devices = 1; // 裝置的數量

static __init char_driver_init(void)

printk(kern_info "char_driver_init\n");

return 0;

}static __exit char_driver_exit(void)

module_init(char_driver_init);

module_exit(char_driver_exit);

module_license("gpl");

module_version("v1.0");

module_author("[email protected]");

module_description("char driver module");

module_alias("char driver module");

2、makefile

ifeq ($(kernelrelease),)

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

pwd := $(shell pwd)

all:                               

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

clean:                                             

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

else

obj-m := char_reg.o

endif

3、驗證

1)make

2)sudo insmod char_reg.ko

3)cat /proc/devices

xiezhi@sdtpad-desktop:~/xiezhi/linux_drivers/char_reg$ cat /proc/devices

character devices:

1 mem

4 /dev/vc/0

4 tty

4 ttys

5 /dev/tty

5 /dev/console

5 /dev/ptmx

5 ttyprintk

6 lp

7 vcs

10 misc

13 input

14 sound

21 sg

29 fb

99 ppdev

108 ppp

116 alsa

128 ptm

136 pts

180 usb

189 usb_device

216 rfcomm

226 drm

248 hello

250 mei

251 hidraw

252 usbmon

253 bsg

254 rtc

4)sudo rmmod char_reg

Linux驅動開發之DRM驅動

qq群 852283276 b站 主頁 drm 驅動程式開發 開篇 drm 驅動程式開發 vkms 最簡單的drm應用程式 single buffer drm 驅動是如何建立 fb device 的 linux中的drm 介紹 linux graphic dri 顯示子系統 介紹1 xilinx d...

linux驅動開發之demo

linux版本 uname r 2.6.18 1.2798.fc6 編譯 進入模組 所在目錄 make c usr src kernels 2.6.18 1.2798.fc6 m pwd modules 載入 insmod test.ko 檢視主裝置號 自動分配為no 253 dmesg 建立裝置 ...

linux裝置驅動之PCIE驅動開發

pcie pci express 是intel提出的新一代的匯流排介面,目前普及的pcie 3.0的傳輸速率為8gt s,下一代pcie 4.0將翻番為16gt s,因為傳輸速率快廣泛應用於資料中心 雲計算 人工智慧 機器學習 視覺計算 顯示卡 儲存和網路等領域。pcie插槽是可以向下相容的,比如p...