//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
//建立裝置
mknod /dev/test c no 0
//修改許可權
chmod 666 /dev/test
//寫入字元
echo -n abcdef >/dev/test
//檢查內容(該程式還有些問題,讀不停止....ctrl+c)
cat /dev/test
//解除安裝模組
rmmod test
rm -rf /dev/test
源**:
test.c
#include
#include
#include
#include
#include
#include
#include
unsigned int fs_major = 0;
static char *data;
static ssize_t test_read(struct file *file, char *buf, size_t count, loff_t *fpos);
static ssize_t test_write(struct file *file, const char *buffer, size_t count, loff_t *f_pos);
static int test_open(struct inode *inode, struct file *file);
static int test_release(struct inode *inode, struct file *file);
int test_init(void);
void test_exit(void);
static struct file_operations chr_fops=;
static ssize_t test_read(struct file *file, char *buf, size_t count, loff_t *f_pos)
static int test_release(struct inode *inode, struct file *file)
int test_init(void)
if(fs_major==0)
return 0;
}void test_exit(void)
module_init(test_init);
module_exit(test_exit);
makefile:
obj-m:=test.o
Linux驅動開發之DRM驅動
qq群 852283276 b站 主頁 drm 驅動程式開發 開篇 drm 驅動程式開發 vkms 最簡單的drm應用程式 single buffer drm 驅動是如何建立 fb device 的 linux中的drm 介紹 linux graphic dri 顯示子系統 介紹1 xilinx d...
linux裝置驅動之PCIE驅動開發
pcie pci express 是intel提出的新一代的匯流排介面,目前普及的pcie 3.0的傳輸速率為8gt s,下一代pcie 4.0將翻番為16gt s,因為傳輸速率快廣泛應用於資料中心 雲計算 人工智慧 機器學習 視覺計算 顯示卡 儲存和網路等領域。pcie插槽是可以向下相容的,比如p...
Linux驅動開發之字元裝置驅動例項
1 驅動標頭檔案mem dev.h ifndef memdev h define memdev h ifndef memdev major define memdev major 238 預設的mem的主裝置號 endif ifndef memdev nr devs define memdev nr...