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

网站导航栏怎么做简单科技成果鉴定机构

网站导航栏怎么做简单,科技成果鉴定机构,qq网页版登录官网登录,下载地图导航手机版免流量费用系列文章目录 主要介绍linux系统下的驱动开发 文章目录 系列文章目录 文章目录 前言 一、驱动是什么#xff1f; 二、主要分类 2.读入数据 3.代码示例 总结 前言 对设备驱动最通俗的解释就是“驱使硬件设备行动”。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写…系列文章目录 主要介绍linux系统下的驱动开发 文章目录 系列文章目录 文章目录 前言 一、驱动是什么 二、主要分类 2.读入数据 3.代码示例 总结   前言 对设备驱动最通俗的解释就是“驱使硬件设备行动”。驱动与底层硬件直接打交道,按照硬件设备的具体工作方式,读写设备的寄存器,完成设备的轮询、中断处理、DMA通信,进重行物理内存向虚拟内存的映射等,最终让通信设备能收发数据,让显示设备能显示文字和画面,让存储设备能记录文件和 数据。 一、驱动是什么 由此可见,设备驱动充当了硬件和应用软件之间的纽带,应用软件时只需要调用系统软件的应用编程接口(API)就可让硬件去完成要求的工作。在系统没有操作系统的情况下,工程师可以根据硬件设备的特点自行定义接口,如对串口定义SerialSend()、SerialRecv(),对LED定义LightOn()、LightOff(),对Flash定义FlashWr()、FlashRd()等。而在有操作系统的情况下,驱动的架构则由相应的操作系统定义,驱动工程师必须按照相应的架构设计驱动,这样,驱动才能良好地整合入操作系统的内核中。驱动程序负责硬件和应用软件之间的沟通,而驱动工程师则负责硬件工程师和应用软件工程师之间的沟通。 二、主要分类 计算机系统的硬件主要由CPU、存储器和外设组成。随着IC制作工艺的发展,目前,芯片的集成度越来越高,往往在CPU内部就集成了存储器和外设适配器。譬如,相当多的ARM、PowerPC、MIPS等处理器都集成了UART、I2C控制器、SPI控制器、USB控制器、SDRAM控制器等,有的处理器 还集成了GPU(图形处理器)、视频编解码器等。驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU内核。Linux将存储器和外设分为3个基础大类。 ·字符设备。那些必须以串行顺序依次进行访问的设备,如触摸屏、磁带驱动器、鼠标等 · 块设备。块设备可以按任意顺序进行访问,以块为单位进行操作,如硬盘、eMMC等。 ·网络设备, 网络设备面向数据包的接收和发送而设计,它并不倾向于对应于文件系统的节点。内核与网络设备的通信与内核和字符设备、网络设备的通信方式完全不同,前者主要还是使用套接字接口。 2.读入数据 设备驱动与整个系统的关系除网络设备外,字符设备与块设备都被映射到Linux文件系统的文件和目录,通过文件系统的系统调用接口open()、write()、read()、close()等即可访问字符设备和块设备。所有字符设备和块设备都统一呈现给用户。Linux的块设备有两种访问方法:一种是类似dd命令对应的原始块设备,如“/dev/sdb1”等;另外一种方法是在块设备上建立FAT、EXT4、BTRFS等文件系统,然后以文件路径如“/home/barry/hello.txt”的形式进行访问。 3.代码示例 Linux下的LED驱动#include.../struct light_dev{ struct cdev cdev;/ 字符设备cdev结构体 unsigned char vaule;/ led亮是为1,熄灭时为0/ } struct light_dev *light_devp; int light_major LIGHT_MAJOR; MODULE_AUTHOR(“wuhuamingwhm128yeah.ney”) MODULE_LICENSE(“Dual BSD/GPL“)int light_open(struct inode *inode,struct file *filp) { struct light_dev *dev; devcontain_of(inode-i_cdev,struct light_dev,cc) filp-private_datadev; return 0; } int light_release(struct inode *inode,struct file *filp) { return 0; } ssize_t light_read(struct file *filp,char _user *buf,siloff_t *f_pos) { struct light_dev *devfilp-private_data; if(copy_to_user(buf,(dev-value),1)) return -EFAULT; return 1; ssize_t light_write(struct file *filp,char_user *buf,) 总结 我们只需要有一个感性认识,那就是,上述暂时陌生的元素都是Linux内核为字符设备定义的,以实现驱动与内核接口而定义的。Linux对各类设备的驱动都定义了类似的数据结构和函数。
http://www.hkea.cn/news/14520738/

相关文章:

  • 郑州建站费用十堰seo优化
  • 外贸网站建设及优化ppt灰色项目源码
  • 新手怎么优化网站wordpress忘記密碼
  • 网站开发不用框架?2017做电商做什么网站
  • 做付费网站好同个主体新增网站备案
  • 桂林象鼻山的传说东莞seo推广公司
  • 常见的网站推广方式有哪些想自学做网站
  • discuz网站模板鞍山招聘信息最新招聘
  • 电子商务网站的建设过程织梦网站tag怎么做
  • 湖北省两学一做网站婚庆 wordpress
  • 张家港市网站制作游戏开发公司哪家好
  • wordpress 社区模版石家庄网络seo推广
  • 自己做的网站打开慢wordpress 文章列表 分页
  • 服装公司网站背景图电商具体是做什么的上班
  • 南阳做网站多少电话wordpress加密修改
  • dedecms做网站视频建设网站的基本工作流程
  • 有做不锈钢工程的网站丹阳网站建设报价
  • 专业系统网站品牌推广策划方案案例
  • 互联网网站建设方案重庆铜梁网站建设费用
  • 武隆网站建设哪家好企业网站模板中文
  • 深圳公明网站建设企业免费建站软件
  • 吉林省网站制作公司有哪些禹城市建设局网站
  • 如何了解和掌握一个网站的权重医院网站建设论证报告
  • 阿里巴巴做特卖的网站盛泽网站建设
  • 怎么建立网站模版网站大图做多大尺寸
  • dw怎么做网站标题图标网站首页添加浮动飘窗
  • 霸屏seo服务亚马逊seo什么意思
  • 报送举报网站建设情况免费网站安全软件下载安装
  • 网络公司网站设计方案ppt铁岭网站开发公司
  • 建设网站 请示 报告wordpress 微信登录界面