国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

迅為RK3568開(kāi)發(fā)板Linux MISC驅(qū)動(dòng)之編寫(xiě)驅(qū)動(dòng)例程

發(fā)布時(shí)間:2022-4-19 16:30    發(fā)布者:就是塔塔
首先我們回想一下注冊(cè)雜項(xiàng)設(shè)備的三大流程,我們?cè)?Windows 上面新建 misc.c 文件,并用 sourceinsight
打開(kāi)。我們可以將上次編寫(xiě)的 helloworld.c 里面的代碼拷貝到 misc.c 文件,并修改為如下圖所示:

添加頭文件
/*注冊(cè)雜項(xiàng)設(shè)備頭文件*/
#include
/*注冊(cè)設(shè)備節(jié)點(diǎn)的文件結(jié)構(gòu)體*/
#include
填充 miscdevice 結(jié)構(gòu)體
struct miscdevice misc_dev = {
.minor = MISC_DYNAMIC_MINOR, .name = "hello_misc", .fops = &misc_fops, };
上述代碼第 2 行的 minor 為 MISC_DYNAMIC_MINOR,miscdevice 核心層會(huì)自動(dòng)找一個(gè)空閑的次設(shè)備號(hào),
否則用 minor 指定的次設(shè)備號(hào)。上述代碼第 3 行 name 是設(shè)備的名稱,我們自定義為"hello_misc" 填充 file_operations 結(jié)構(gòu)體
struct file_operations misc_fops={
.owner = THIS_MODULE
};
THIS_MODULE 宏是什么意思呢?它在 include/linux/module.h 里的定義是
#define THIS_MODULE (&__this_module)
它是一個(gè) struct module 變量,代表當(dāng)前模塊,可以通過(guò) THIS_MODULE 宏來(lái)引用模塊的 struct module
結(jié)構(gòu),比如使用 THIS_MODULE->state 可以獲得當(dāng)前模塊的狀態(tài)。這個(gè) owner 指針指向的就是你的模塊。
注冊(cè)雜項(xiàng)設(shè)備并生成設(shè)備節(jié)點(diǎn)
在 misc_init()函數(shù)中填充 misc_register()函數(shù)注冊(cè)雜項(xiàng)設(shè)備,并判斷雜項(xiàng)設(shè)備是否注冊(cè)成功。
static int misc_init(void){
int ret;
ret = misc_register(&misc_dev); //注冊(cè)雜項(xiàng)設(shè)備
if(ret<0) //判斷雜項(xiàng)設(shè)備是否注冊(cè)成功
{
printk("misc registe is error \n"); //打印雜項(xiàng)設(shè)備注冊(cè)失敗
}
printk("misc registe is succeed \n"); //打印雜項(xiàng)設(shè)備注冊(cè)成功
return 0;
}
在 misc_exit()函數(shù)中填充 misc_deregister()函數(shù)注銷雜項(xiàng)設(shè)備。
static void misc_exit(void){
misc_deregister(&misc_dev); //注銷雜項(xiàng)設(shè)備
printk("misc gooodbye! \n"); //打印雜項(xiàng)設(shè)備注銷成功
}
完整的代碼如下圖所示:
/*
* @Descripttion: 最簡(jiǎn)單的雜項(xiàng)設(shè)備驅(qū)動(dòng)
* @version: 1.0
* @Author: topeet
*/
#include //初始化頭文件
#include //最基本的文件,支持動(dòng)態(tài)添加和卸載模塊。
#include /*注冊(cè)雜項(xiàng)設(shè)備頭文件*/
#include /*注冊(cè)設(shè)備節(jié)點(diǎn)的文件結(jié)構(gòu)體*/
struct file_operations misc_fops = { //文件操作集
.owner = THIS_MODULE};
struct miscdevice misc_dev = {
//雜項(xiàng)設(shè)備結(jié)構(gòu)體
.minor = MISC_DYNAMIC_MINOR, //動(dòng)態(tài)申請(qǐng)的次設(shè)備號(hào)
.name = "hello_misc", //雜項(xiàng)設(shè)備名字是 hello_misc
.fops = &misc_fops, //文件操作集
};
static int misc_init(void)
{ //在初始化函數(shù)中注冊(cè)雜項(xiàng)設(shè)備
int ret;
ret = misc_register(&misc_dev);
if (ret < 0)
{
printk("misc registe is error \n");
}
printk("misc registe is succeed \n");
return 0;
}
static void misc_exit(void)
{ //在卸載函數(shù)中注銷雜項(xiàng)設(shè)備
misc_deregister(&misc_dev);
printk(" misc gooodbye! \n");
}
module_init(misc_init);
module_exit(misc_exit);
MODULE_LICENSE("GPL");
現(xiàn)在最簡(jiǎn)單的雜項(xiàng)設(shè)備的驅(qū)動(dòng)就寫(xiě)完了,那么接下來(lái)我們可以把這個(gè)驅(qū)動(dòng)編譯一下,然后放到我們的
開(kāi)發(fā)板上面運(yùn)行。我們編譯驅(qū)動(dòng),可以將它編譯進(jìn)內(nèi)核里面,也可以將它編譯成模塊。

本文地址:http://m.qingdxww.cn/thread-787980-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 利用SAM E54 Xplained Pro評(píng)估工具包演示CAN轉(zhuǎn)USB橋接器以及基于CAN的主機(jī)和自舉程序應(yīng)用程序
  • 使用SAM-IoT Wx v2開(kāi)發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開(kāi)發(fā)培訓(xùn)教程
  • 集成高級(jí)模擬外設(shè)的PIC18F-Q71家族介紹培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)
關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 亚洲tv精品一区二区三区 | 日本成年免费网站 | 亚洲尹人香蕉网在线视颅 | 青草久久久 | jizz国产美女 | 久久福利资源站免费观看i 久久福利资源网站免费看 久久福利影院 | 日韩中文字幕一区二区不卡 | 狠狠色噜噜狠狠狠狠97老肥女 | 亚洲区视频在线观看 | 青青青国产色视频在线观看 | 久久久久国产一级毛片高清板 | 久久蜜桃亚洲一区二区 | 老师邪恶影院a啦啦啦影院 老师让我她我爽了好久老 老师感受到它在你里面了吗app | 国产特黄特色的大片观看免费视频 | 国产欧美一区视频在线观看 | 国产在线观看麻豆91精品免费 | 欧美国产另类 | 国产99欧美精品久久精品久久 | 国产一级特黄aa大片爽爽 | 一区二区三区亚洲视频 | 家庭教师动漫在线观看 | 这里都是精品 | 欧美日韩一级片在线观看 | 97青青| 日本一区二区三区四区不卡 | 婷婷射图| 精品国产三级a∨在线 | 九九九九热精品视频 | 亚洲一区在线观看视频 | 午夜在线观看视频在线播放版 | 免费韩国一级毛片 | 99热热久久这里只有精品166 | 啪影院免费线在线观看 | 国产成人一区二区精品非洲 | 色婷婷在线观看视频 | 国内精品自在自线视频香蕉 | 亚洲免费网站在线观看 | 久热爱免费精品视频在线播放 | 日本高清在线观看天码888 | 狠狠狠色丁香婷婷综合久久88 | 国产magnet |