IT培训机构|91免费精品视频|专注编程培训|91免费精品|软件开发培训_91免费国产视频_华清远见教育

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 字符設備驅動框架搭建流程

字符設備驅動框架搭建流程 時間:2014-11-05      來源:未知

字符設備驅動框架編寫流程如下:

(1)創建并注冊設備號

1—創建設備號dev_t
        static int hello_major = 250; //主設備號
        static int hello_minor = 0; //次設備號
        dev_t devno = MKDEV(hello_major, hello_minor);

2—申請設備號
        ret = register_chrdev_region(devno, number_of_device, "hello");
        if (ret < 0) {
        printk("failed from register_chrdev_region\n");
        return ret;
        }

3—釋放設備號
        unregister_chrdev_region(devno, 1);

(2)設置操作集合ops
        定義file_operations 
        struct file_operations hello_ops = {
        .owner = THIS_MODULE,
        };

(3)注冊字符設備結構體cdev
        1、定義 
        a、struct cdev cdev; ----推薦
        b、struct cdev *cdev;
        cdev = cdev_alloc();
        2、初始化
        cdev_init(&cdev, &hello_ops);
        cdev.owner = THIS_MODULES;
        3、字符設備注冊
        cdev_add(&cdev, devno, 1);
        4、字符設備的注銷
        cdev_del(&cdev);

程序如下:

#include < linux/module.h>
  #include < linux/kernel.h>
  #include < linux/init.h>
  #include < linux/fs.h>
  #include < linux/cdev.h>
  MODULE_LICENSE ("GPL");
  int hello_major = 250;
  int hello_minor = 0;
  int number_of_devices = 1;
  struct cdev cdev;
  dev_t dev = 0;
  struct file_operations hello_fops = {
   .owner = THIS_MODULE
  };
  static void char_reg_setup_cdev (void)
  {
  int error, devno = MKDEV (hello_major, hello_minor);
  cdev_init (&cdev, &hello_fops);
  cdev.owner = THIS_MODULE;
  cdev.ops = &hello_fops;
  error = cdev_add (&cdev, devno , 1);
  if (error)
  printk (KERN_NOTICE "Error %d adding char_reg_setup_cdev", error);
  }
  static int __init hello_2_init (void)
  {
  int result;
  dev = MKDEV (hello_major, hello_minor);
  result = register_chrdev_region (dev, number_of_devices, "hello");
  if (result< 0) {
  printk (KERN_WARNING "hello: can't get major number %d\n", hello_major);
  return result;
  }
  char_reg_setup_cdev ();
  printk (KERN_INFO "Registered character driver\n");
  return 0;
  }
  static void __exit hello_2_exit (void)
  {
  dev_t devno = MKDEV (hello_major, hello_minor);
  cdev_del (&cdev);
  unregister_chrdev_region (devno, number_of_devices);
  printk (KERN_INFO "char driver cleaned up\n");
  }
  module_init (hello_2_init);
  module_exit (hello_2_exit);

上一篇:WindowsPhone自定義控件詳解(一) - 控件類庫分析

下一篇:final關鍵字的一點研究

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

回到頂部

主站蜘蛛池模板: 河南三特炉业科技有限公司 | 西安宣传片拍摄,陕西艺景网络科技有限公司资料备份,西安影视公司,视频拍摄制作,抖音视频制作,纪录片拍摄西安短视频摄影团队,西安抖音视频拍摄 | 芜湖液压配件-液压过滤器滤芯-水过滤器-芜湖新俊液压设备有限公司 | 钻床,数控钻床,摇臂钻床,立式钻床_滕州市高地机床有限公司 | 苏州宣传片制作_企业展厅设计_博物馆设计_展馆设计_方行舟设计公司 | 生活污水处理工程安装承包-江苏富瑞源环境工程有限公司 | 潍坊博发动力设备有限公司 | 宁波华路德|交通信号灯|交通信号机|太阳能信号灯|交通警示灯|交通信号灯厂家 | 江西省力速数控机械有限公司丨火花机丨龙门加工中心丨镜面火花机丨卧式加工中心 | 陕西散花照明-西安太阳能路灯,陕西太阳能路灯,西安太阳能路灯厂家,陕西太阳能路灯厂家 | 新能源洗扫车、新能源压缩垃圾车_新能源路面养护车_电动树叶收集车_电动扫地机_电动洗地机_高尔夫球车 | 联塑管代理,联塑管厂家批发,中财管总代理,康泰管代理,康泰管厂家批发-邯郸市中枢贸易有限公司 | 展馆周边酒店_会展中心附近酒店_展览旅游酒店预订官网-盟友云 | 日本国际高中学校招生【立学仕日本留学服务】日语中学学校|美术生|艺术生|高中生|本科|研究生|语言学校留学择校申请 | 威学一百-专注国际学校择校备考-DSE-A-level-雅思-托福-OSSD-港澳台联考-AP-IGCSE-IB-AMC-多邻国-PTE-SAT-SSAT-小语种(如日语,韩语,德语,法语,西班牙语,意大利语,俄语,泰语)等考试培训,为出国留学学生提供个性化定制性学习方案,线下实体面授+线上网络课程, 提供一对一,小班课等多种班型 | 武汉凯美隆窗帘厂家_定做商用窗帘_家用遮阳帘_涵盖电动窗帘_天棚帘_遮阳棚_凯美隆-专注遮阳产品 武汉净化机-武汉全热新风换气机-武汉静音送风机-武汉东信新风节能设备有限公司 | 欧美日韩人妻精品一区二区三区_欧美成人精品欧美一级乱黄_亚洲欧美日韩高清一区二区三区_国产一级做a爰片久久毛片_日韩一级视频在线观看播放_精品一区二区三区免费毛片爱_完整观看高清秒播国内外精品资源 | 上海森信实验仪器有限公司| 河北万岁药业有限公司| 营口新北方制糖有限公司| 水性漆_水性漆厂家_水性涂料加盟代理_两只璧琥全漆定制官网 | 长沙变频器维修,变频器维修,ABB变频器维修,西门子变频器维修,施耐德变频器维修,伺服驱动器维修,工业机器人维修,20年专业工控电气维修,长沙文铖电气设备有限公司_长沙文铖电气设备有限公司 | 上海希喆机械有限公司-Schunk雄克,雄克卡盘, 雄克机械手, B+R贝加莱, ELCIS编码器,艾西斯编码器, TWK编码器,Nexen,Joyce dayton升降机,Thomson汤姆森,TPG减速机,INA导轨。 | 汽车标签|医疗标签|电子标签|手机电池标签|电脑电池标签|电源标签|耐高温标签|防静电标签|手机出厂膜|手机全裹膜|手机包裹膜|手机卖点膜|热转印标签|遮阳板标签|天势科技|-标签印制专家! | 起名字典|宝宝新生儿男孩女孩起名免费网-诗经周易生辰八字取名字大全 | 云南打砂机_昆明制砂机_云南砂石生产线_昆明洗砂机_昆明除尘设备_云南昆明滇重矿山机械设备有限公司 | 气体灭火安装,气体灭火系统安装,七氟丙烷灭火系统安装,消防气体灭火控制系统 | 弯箍机_钢筋弯箍机_全自动钢筋弯箍机_数控弯箍机-建科智能装备制造(天津)股份有限公司 | 重庆监控-监控系统-大型弱电工程-重庆万建电子工程有限责任公司是智能化一级工程公司 | 上海钧尚电器有限公司 - Faulhaber电机 AMETEK pittman电机 AMETEK ROTRON军用航空风机 Exlar电动缸 MAE电机 MCG电机 CP电动工具 马头工具 AMCI驱动器 直流电机 减速箱 直流伺服电机,无刷电机,直线电机 直流防爆电机 防爆电机 汽车助力转向电机 EPS电机 faulhaber motor faulhaber gearbox NANOTEC电机 ELWOOD电机 PHYTRON电机 EXLAR伺服电动缸 高力矩、高性能直流电机,音圈电机,风机,直流风机,航空风机 | 英格索兰空压机_英格索兰空压机配件_英格索兰空压机维修—商天机械 | 长沙思辰仪器科技有限公司| 医盟网-全国首家医疗信息化行业门户网站| 天津安检机-天津安检门-安检设备租赁-安检设备厂家-华创永信 | 湖南净声源环保科技有限公司是一家专业从事噪声治理和建筑声学设计生态环境综合治理服务的企业,专业从事株洲电梯隔音治理,湘潭中央空调降噪处理,衡阳邵阳冷却塔噪音治理,岳阳常德大型风机噪声隔音降噪,张家界空压机噪声治理,益阳配电房变压器噪声治理,专业郴州永州工厂企业车间噪声治理,怀化娄底专业机械设备减振降治理,武汉噪音治理隔音降噪公司,孝感噪音治理,立式球磨机的噪声控制,专业隔音降噪公司,、以及各类机械动力设备减振降噪噪声治理的公司,同时为客户提供咨询与解决方案 | 上海希喆机械有限公司-Schunk雄克,雄克卡盘, 雄克机械手, B+R贝加莱, ELCIS编码器,艾西斯编码器, TWK编码器,Nexen,Joyce dayton升降机,Thomson汤姆森,TPG减速机,INA导轨。 | 珠海希玛林顺潮眼科医院| 上海家博会_2025上海家博会时间表_5月31-6月2日_上海家博会门票_免费领取入口 | 食品油炸机_葱酥油炸机_蒜酥油炸机-山东世联机械厂家 | 视频监控|安防监控|智能防火|智慧城市-浩海科技 | 耐磨复合钢板_堆焊复合钢板_堆焊耐磨钢板-北京耐默公司 |