当前位置: 首页 > news >正文

网站建设 合肥深圳广告设计公司网站

网站建设 合肥,深圳广告设计公司网站,wordpress建站属于前端,浙江省城乡住房建设厅网站一、驱动流程 驱动需要以下几个步骤才能完成对硬件的访问和操作#xff1a; 模块加载函数 module_init注册主次设备号 应用程序通过设备号找到设备驱动设备文件 应用程序访问驱动的方式 1、手动创建 #xff08;mknod#xff09;2、程序自动创建file_oper…一、驱动流程 驱动需要以下几个步骤才能完成对硬件的访问和操作 模块加载函数 module_init注册主次设备号 应用程序通过设备号找到设备驱动设备文件 应用程序访问驱动的方式 1、手动创建 mknod2、程序自动创建file_operations 驱动对硬件的读、写、释放等模块卸载函数 module_exit 二、举例详解 #include linux/module.h // module_init module_exit #include linux/init.h // __init __exit #include linux/fs.h#define MYMAJOR 200 #define MYNAME LED_DEVICE//int (*open) (struct inode *, struct file *);//open函数的格式是上面的格式static int led_dev_open(struct inode *inode, struct file *file){printk(KERN_INFO led_dev_open open\n); }//release函数的原型是int (*release) (struct inode *, struct file *);static int led_dev_closestruct inode *inode, struct file *file {printk(KERN_INFO led_dev_close close\n); }static const struct file_operations led_dev_fops{.opne led_dev_open,.release led_dev_close, }static int __init leddev_init(void) {int ret -1;printk(KERN_INFO leddev_init);ret register_chrdev(MYMAJOR, MYNAME, led_dev_fops);if(ret) {printk(KERN_ERR led devices rigister failed);retunt -EINVAL;}printk(KERN_INFO led regist sucess);return 0; }static int __exit leddev_exit(void) {printfk(KERN_INFO led device exit);unregister_chrdev(MYMAJOR, NAME) }module_init(leddev_init);module_exit(leddev_exit);// MODULE_xxx这种宏作用是用来添加模块描述信息 MODULE_LICENSE(GPL); // 描述模块的许可证 MODULE_AUTHOR(bhc); // 描述模块的作者 MODULE_DESCRIPTION(led test); // 描述模块的介绍信息 MODULE_ALIAS(alias xxx); // 描述模块的别名信息注 通过对驱动的流程进行分析以上代码中缺少对设备节点的创建也就是说上边的代码应用程序是没有方法进行访问和操作的这时我们可以通过手动的方式进行处理即使用mknod进行创建 应用调用驱动是通过驱动设备文件来调用驱动的我们首先要用mknod /dev/xxx c 主设备号 次设备号 命令来创建驱动设备文件 安装好驱动以后主设备号可以在/proc/devices文件中查看但是由于不同的设备主设备号占用的不一样有时候需要系统来自动分配 主设备号这个如何实现呢 我们可以在register_chrdev函数的major变量传参0进去因为这个函数的返回值为主设备号所以我们定义一个全局变量来接受这个值即可 static int mymajor;//注册的时候mymajor register_chrdev(0, MYNAME, ded_dev_fops); # 返回的是自动分配的主设备号//释放的时候unregister_chrdev(mymajor, MYNAME);这样即可 register_chrdevmajor, name, struct file_openrations # 注册设备号缺点是只能注册主设备号 unregister_chrdevmajor, name # 注销设备号
http://www.hkea.cn/news/14281576/

相关文章:

  • 网站怎么做需要花钱吗濮阳开公司怎么找客户
  • 专门 做鞋子团购的网站广东网站建设科技
  • 旅游网站建设与翻译网站软件应用大全
  • 智慧团建官网pc端佛山做网站优化公司
  • 简述网站建设及维护全过程郑州app开发
  • 建设企业网站官网u盾东莞品牌网站设计公司
  • 网站网页设计在哪找微商城网站建设渠道
  • 海外建站平台wordpress 分享到微信二维码
  • 游戏网站怎么建设网站建设合同解除函
  • 广告型网站怎么用phpcmf做网站
  • wordpress主题空白安徽网站优化
  • 让别人做的网站不给源代码h5工具
  • 网站用什么语言做湖南常德师范学校
  • 网站建设(信奈辉煌电商)凡客优品家居官方网站
  • 焦作网站seo中国做网站最大的公司
  • 网站公司简介模板免费下载成都互联网制作
  • 先锋设计网站什么是网站静态页面
  • 外贸推广建站公司微网站建设最新报价
  • 济南想做网站淘宝付费推广
  • 微网站的案例手机app制作网站模板
  • 邯郸网站制作设计网站排版
  • 傻瓜做网站软件wordpress全站广告位
  • 自学做网站的做网站的挣钱么
  • 做网站直接开二级域名做网站挂广告赚多少
  • 做网站最烂公司企业网络营销是什么
  • 有哪些基于网站开发的报表设计器七牛云wordpress 代码
  • 网站设置专栏网站建设客户案例
  • 外国网站设计风格网站是com好点还是cn
  • 微网站怎么免费做网站建设实现功能
  • 上海网站建设报价单艺术创意设计图片大全