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

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 學習筆記 > 嵌入式學習筆記:創建設備文件詳解

嵌入式學習筆記:創建設備文件詳解 時間:2018-09-27      來源:未知

1 自動創建設備文件創建設備文件類

#define class_create(owner, name)

設備可以有多個子設備,class_create這個宏相當于創建一

個子設備的一個父類,通過它來創建多個子設備 owner :模塊本身 THIS_MODULE name : name

返回值 : struct class 類型指針, 出錯:NULL,成功:有效的struct class指針

創建設備文件

struct device *device_create(struct class *class, struct device *parent,

dev_t devt, void *drvdata, const char

*fmt, ...)

class :通過 class_create 創建的設備文件類指針 parent :父設備,一般NULL

devt :設備號,包含主設備號和次設備號 drvdata :私有數據

fmt :設備文件名

返回值:Returns &struct device pointer on success, or ERR_PTR() on error.

失敗時需要用 ERR_PTR 函數判斷

銷毀設備文件

void device_destroy(struct class *class, dev_t devt)

class :設備文件類指針

devt :設備號,包含主設備號和次設備號

銷毀設備文件類

extern void class_destroy(struct class *cls); cls :設備文件類指針

設備類查看

ls /sys/class/xxxxx

ls /dev/xxx

2 區分設備文件 struct inode {

......

dev_ti_rdev; inode結構體保存的設備號

......

void

*i_private; inode 的私有數據

}

ptintk("open device num majour : %d , min min : %d\r\n", MAJOR(pNode->i_rdev), MINOR(pNode->i_rdev)

dmesg | tail -20

3 ioctl

命令碼構建,內核使用32位表達了4種信息 dir:讀寫,size:

ioctl第三個參數時類型所占的字節數

,type(可以做命令的一個分段,類似于使用枚舉的錯誤碼分段), nr:命令碼

*0xE0000000DIR

*0x80000000DIR = WRITE

*0x40000000DIR = READ

*0x20000000DIR = NONE

* 0x3FFF0000 SIZE (overlaps NONE bit)

* 0x0000FF00 TYPE

* 0x000000FF NR (CMD)

4 互斥鎖

# define mutex_init(mutex)

mutex :要初始化的鎖,注意傳的是 struct mutex 類型指

mutex_lock

mutex_unlock

5 信號量

static inline void sema_init(struct semaphore *sem, int val) sem :信號量結構體指針

val :信號量持有資源個數

down 申請資源,當沒有資源時,休眠等待,不可中斷 extern void down(struct semaphore *sem)

down_interruptible 申請資源,當沒有資源時,休眠等待,可中

extern int __must_check down_interruptible(struct semaphore *sem)

up 釋放資源

extern void up(struct semaphore *sem)

6 原子變量

ATOMIC_INIT(0) 初始化

atomic_dec_and_test 減1并測試,為0返回true,否則返回

false

atomic_inc 加1

7 自旋鎖

spin_lock_init(&g_SpinLock); 初始化 spin_lock(&g_SpinLock); 加鎖 spin_unlock(&g_SpinLock); 解鎖

上一篇:嵌入式學習筆記:什么叫驅動模塊,這里告訴你

下一篇:嵌入式學習筆記:gcc和gdb學習總結

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

回到頂部

主站蜘蛛池模板: 亚洲国产福利成人一区 | 国产成人精品无码一区二区蜜柚 | 国产呻吟久久 | 国产丝袜视频一区二区三区 | 熟女乱中文字幕熟女熟妇 | 日本a级片视频 | 野花社区影视在线www官网 | 啊灬灬用力灬嗯灬3p黑人 | 成人做爰A片免费看视频暗夜 | 又黄又湿免费高清视频 | 怡红院日韩 | 男女啪啪永久免费网站 | 亚洲精品综合第一国产综合 | 亚洲国产高清在线一区二区三区 | 少妇被躁爽到高潮 | 国产AV无码精品色午夜 | 欧洲精品码一区二区三区 | 午夜精品久久久久久久2023 | 强奷漂亮少妇高潮a片 | 娇软高h哭宫交双性怀孕攻失忆 | 噜噜综合亚洲AV中文无码 | 国产精品久久久久蜜臀 | 欧美激欧美啪啪片 | 校花高潮抽搐冒白浆视频 | 日本人与黑人做爰视频网站 | 97久人人做人人妻人人玩精品 | 蜜臀AV色欲无码A片一区 | 无码av高潮抽搐流白浆 | 夜夜穞天天穞狠狠穞AV美女按摩 | 亚洲国产日韩欧美高清片 | 国产乱理伦片在线观看 | 久久99久久99精品免视看看 | 亚洲最大日夜无码中文字幕 | 无码熟熟妇丰满人妻啪啪 | 欧美丰满熟妇xxxx性 | 亚洲日韩国产精品第一页一区 | 日产a一a区二区www | 国产肥白大熟妇bbbb | 久久久国产精品消防器材 | 国产精品无码天天爽视频 | 五月天婷五月天综合网 |