最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

一文解析Linux驅(qū)動(dòng) | 在驅(qū)動(dòng)中創(chuàng)建sysfs接口

2023-04-07 17:36 作者:補(bǔ)給站Linux內(nèi)核  | 我要投稿

前言

在一些linux開發(fā)板中,經(jīng)??梢钥吹酵ㄟ^echo的方式來直接控制硬件或者修改驅(qū)動(dòng),例如:

這是怎么做到呢?

實(shí)際上,這是因?yàn)樵隍?qū)動(dòng)中提供了sysfs接口給用戶使用,使得用戶可以通過cat或者echo命令來查看和修改驅(qū)動(dòng)中某些變量的值。

下面介紹驅(qū)動(dòng)中創(chuàng)建sysfs接口的方法。

sysfs接口創(chuàng)建

基本步驟:

1、使用DEVICE_ATTR聲明一個(gè)sys節(jié)點(diǎn)

led_status:在sys接口中顯示的節(jié)點(diǎn)名字

0600:表示操作這個(gè)led_status節(jié)點(diǎn)的權(quán)限

led_status_show:使用cat命令查看sys接口時(shí)調(diào)用的函數(shù)

led_status_store:使用echo命令往sys接口寫入內(nèi)容時(shí)調(diào)用的函數(shù)

2、完成sys節(jié)點(diǎn)的讀寫函數(shù)

示例中,led_status_show()函數(shù)和led_status_store()函數(shù)的作用分為打印led變量的值修改led變量的值.

3、定義struct attributestruct attribute_group數(shù)組

上述使用了DEVICE_ATTR聲明節(jié)點(diǎn)名字為led_status, 則struct attribute名字應(yīng)為:dev_attr_ + (節(jié)點(diǎn)名) + .attr。所以名字為dev_attr_led_status.attr。


【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【749907784】整理了一些個(gè)人覺得比較好的學(xué)習(xí)書籍、視頻資料共享在群文件里面,有需要的可以自行添加哦?。。。ê曨l教程、電子書、實(shí)戰(zhàn)項(xiàng)目及代碼)? ?


4、在probe函數(shù)中調(diào)用sysfs_create_group()函數(shù)注冊sysfs接口

完整例子

設(shè)備樹:

驅(qū)動(dòng):


驅(qū)動(dòng)加載后,就可以在linux終端中,使用catecho命令來查看和修改驅(qū)動(dòng)中led變量的值。例如:


原文作者:嵌入式Linux充電站


一文解析Linux驅(qū)動(dòng) | 在驅(qū)動(dòng)中創(chuàng)建sysfs接口的評(píng)論 (共 條)

分享到微博請遵守國家法律
忻州市| 琼结县| 延边| 镇江市| 巴东县| 临泉县| 保康县| 理塘县| 出国| 井研县| 沙洋县| 威远县| 九龙坡区| 庐江县| 故城县| 田阳县| 凤山县| 建宁县| 苏尼特右旗| 钦州市| 宜宾县| 巨鹿县| 拜泉县| 昭通市| 宝坻区| 陵川县| 来安县| 沈阳市| 乐业县| 临沭县| 龙江县| 安陆市| 昌黎县| 浦北县| 盐池县| 金乡县| 凤城市| 油尖旺区| 祁连县| 平度市| 宜昌市|