色yeye在线视频观看_亚洲人亚洲精品成人网站_一级毛片免费播放_91精品一区二区中文字幕_一区二区三区日本视频_成人性生交大免费看

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 如何編寫塊設備驅動

如何編寫塊設備驅動 時間:2018-09-28      來源:未知

首先參考內核代碼中的z2ram.c   

用內存模擬一個塊設備驅動 

具體的塊設備驅動流程:

1、向內核注冊塊設備

int register_blkdev(unsigned int major, const char *name)

參數1:major寫0表示自動獲取主設備號

參數2:注冊的名稱

返回值:當參數1寫0時 返回申請的主設備號

2、分配disk個數

struct gendisk *alloc_disk(int minors)

返回值: 通用的塊設備數據結構指針 

3、初始化alloc_disk返回的gendisk指針成員

1) major  主設備號的初始化

2) first_minor 第一個次設備號的初始化 一般為0

3) struct block_device_operations *fops;

向上提供的接口

4) disk_name 名稱的初始化

5) 設置disk容量 

static inline void set_capacity(struct gendisk *disk, sector_t size)

6) struct request_queue *queue;

請求隊列的初始化

使用如下函數進行初始化:

struct request_queue *blk_init_queue(request_fn_proc *rfn, spinlock_t *lock)

參數1:回調函數  

參數2:用于解決競態的 

回調函數 request_fn_proc *rfn

1.獲取請示 req = blk_fetch_request(q);

2.根據請求判斷讀和寫操作 進行相應的memcpy

blk_init_queue

---->blk_init_queue_node

----> blk_init_allocated_queue

---> blk_queue_make_request(q, blk_queue_bio);

--->blk_queue_bio 電梯優化算法

4、將已初始化好的gendisk指針添加到內核 

add_disk(struct gendisk *)

5、  blk_register_region 在dev目錄下創建設備結點 名稱為disk_name

6、 反向操作

blk_unregister_region 銷毀設備結點

unregister_blkdev 注銷塊設備

del_gendisk(z2ram_gendisk); 刪除gendisk

put_disk(z2ram_gendisk); 釋放disk

blk_cleanup_queue(z2_queue); 釋放請求隊列

測試方法:

1、mkdosfs /dev/fs_blk0

2、mount /dev/fs_blk0 /mnt

3、cd /mnt 

touch 1.c 2.c 3.c

4、cd ..

umount /mnt

ls查看/mnt下內容 

5、再次掛載查看mnt下內容 有1.c 2.c 3.c

上一篇:對進程的理解

下一篇:Linux進程的睡眠和喚醒簡析

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5,京公海網安備11010802025203號

回到頂部

主站蜘蛛池模板: 无码一区二区三区AV免费蜜桃 | 2020人妻中文字字幕在线乱码 | 最新永久免费AV无码网站 | 99久久久国产精品无码免费 | 精品麻豆国产色欲色欲色欲WWW | 亚洲国产精品毛片AV不卡在线 | 凸凹隐藏撒尿xxxx偷拍 | 亚洲Aⅴ天堂Av在线观看 | 精品一区二区国产在线观看 | 亚洲国产欧美国产综合久久 | 久久99精品久久久久久hb无码 | 特大巨黑吊av在线播放 | zzzwww免费看片免费软件 | 欧美二区精品 | xxxx性按摩bbbb | 理论片麻豆 | 俄罗斯ZOOM与人性ZOOM | 久久99国产精品久久99小说 | 欧美激情精品 | 美女啪网站 | wwww.国产| 亚洲制服丝袜欧美 | 97精品一区二区视频在线观看 | 久久亚洲美女精品国产精品 | 四虎国产成人 | 桃乃木香奈视频在线播放 | 成人免费无码大片A毛片 | 国产极品久久久久久久久 | 曰韩无码A级成人毛片 | 狠狠色狠狠色综合日日不卡 | 在线中文字幕国产 | 91i在线| 欧美一区二区片 | 欧美老熟妇AAAAAA | 美女网站免费福利视频 | 极品少妇被猛的白浆直喷白浆 | 成年无码AV片在线狼人 | 一本色道无码道DVD在线观看 | 亚洲综合色自拍一区 | 自拍偷拍第9页 | 在线播放免费人成视频在线观看 |