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

学校网站构建百度关键词多少钱一个月

学校网站构建,百度关键词多少钱一个月,4k高清视频素材网站,景德镇seo平台总线 1.平台总线模型也叫platform总线模型,平台总线是Linux系统虚拟出来的总线, 引入总线的概念可以对驱动代码和设备信息进行分离。平台总线模型将一个驱动分成了两个部分:platform_device和platform_driver,例如可使用文件device.c和d…
平台总线

1.平台总线模型也叫platform总线模型,平台总线是Linux系统虚拟出来的总线, 引入总线的概念可以对驱动代码和设备信息进行分离。平台总线模型将一个驱动分成了两个部分:platform_device和platform_driver,例如可使用文件device.c和driver.c来分别描述这两部分,device.c用来描述硬件,driver.c用来控制硬件,平台总线通过字符串比较来match,将name相同的device.c和driver.c匹配到一起来控制硬件。

2.platform设备驱动(device.c)里面写的是硬件资源,这里的硬件资源指的是寄存器地址,中断号以及其他硬件资源等。在Linux内核里面用struct platform_device结构体来描述硬件资源。这个结构体定义在include/linux/platform_device.h文件当中,如下图:

在struct platform_device中,name为设备名称,总线进行匹配时,会比较设备和驱动的名称是否一致。设备驱动注册成功之后,可以在/sys/bus/platform/devices/目录下看到对应的name;id是一个编号,Linux用这个id来区分同名设备,id会跟在设备名后面以后缀形式显示,若将id设置为-1表示设备名后面没有后缀;id_auto表示是否自动设置id,若设置了设备名后面会跟上auto的后缀;dev表示设备的通用属性部分,struct device结构定义在include/linux/device.h中,必须实现该结构体中的void  (*release)(struct device *dev);成员函数,否则驱动会报错;resource用于定义硬件资源信息,struct resource定义在include/linux/ioport.h中,如下图:

在struct resource结构体中,start和end分别表示资源的起始信息和终止信息,name表示存储的资源名,flags表示存储资源的类型,可取下图中的值(只截取了一部分,具体参考include/linux/ioport.h):

struct platform_device中的num_resources记录资源的总个数。/sys/bus/platform/devices/目录下的内容示例如下:

如上图中的alarmtimer.0.auto表示一个名为alarmtimer的设备,编号为0,标号是自动分配的。int platform_device_register(struct platform_device *device)和void platform_device_unregister(struct platform_device *device)函数分别用于注册和卸载platform设备(device.c)(可参考讯为Linux驱动视频第六期P2)。

3.platform设备驱动(driver.c)里面写的是软件驱动,在driver.c文件中首先需要定义一个platform_driver结构体,然后去实现这个结构体中的各个成员变量,当driver.c和device.c匹配成功以后,会执行driver.c里面的probe函数,所以probe函数是必须被实现的。platform_driver定义在include/linux/platform_device.h文件当中,如下图:

struct platform_driver结构体中的probe函数在device.c和driver.c匹配成功时会被自动执行,不论先insmod加载device.ko还是先insmod加载driver.ko都会执行probe函数。remove函数在platform_driver_unregister()被调用时会被执行。id_table用于记录一组待匹配的设备名。struct device_driver定义在include/linux/device/driver.h,它也有一个name成员记录设备名,但是优先级没有id_table高,匹配时会优先使用id_table中的名字。int platform_driver_register(struct platform_driver *driver)和void platform_driver_unregister(struct platform_driver *driver)函数分别用于注册和卸载platform设备(driver.c)。设备驱动注册成功之后,可以在/sys/bus/platform/drivers/目录下看到对应的name(可参考讯为Linux驱动视频第六期P4)。在probe函数中可以通过其实参直接获取platform_device中的硬件信息,也可以通过函数struct resource *platform_get_resource(struct platform_device *,unsigned int,unsigned int);获取,该函数的第一个参数是指向目标platform_device的指针,第二个参数是目标资源的类型,例如IORESOURCE_IRQ,第三个参数是目标资源在同类资源中的索引号(注意是同类资源,索引从0开始,具体可参考讯为Linux驱动视频第六期P6)。可以将平台总线模型与前几期的字符设备、杂项设备、并发与竞争、中断等知识结合起来使用,具体可参考讯为Linux驱动视频第六期P8、P10。

http://www.dtcms.com/wzjs/144566.html

相关文章:

  • 深圳 建设银行国际互联网站免费推广方式都有哪些
  • 网站做跳转微信打开网站推广渠道
  • 网站更换主机注意阿里巴巴国际贸易网站
  • 大麦网网站建设的功能定位百度获客平台
  • 女的和男的做那个视频网站b2b网站推广排名
  • 网站建设公司价格差别写一篇推广商品的软文
  • 关于做网站的搞笑段子如何做好营销
  • 东莞网站优化公司推荐域名购买平台
  • 网站做贩卖毕业论文合法吗俄罗斯搜索引擎入口 yandex
  • 一个主机建多少个网站万江专业网站快速排名
  • 音乐模板wordpressseo关键词优化推广外包
  • 做网店好还是网站开网站需要投资多少钱
  • 西部数码网站助手教程北京百度seo工作室
  • python 自己做网站网站统计数据
  • 扁平化网站下载推广引流
  • 建设网站需要多少人傻瓜式自助建站系统
  • 做橡胶应该看什么网站凡客建站
  • 怎么在网上查网站空间是双线还是单线模拟搜索点击软件
  • 众筹网站建设报价谷歌商店下载官方正版
  • 成都哪家做网站公司好长春做网站推荐选吉网传媒好
  • 渭南企业网站建设怎么做好推广
  • tumblr插件wordpressseo整站优化推广
  • 网站可以做弹窗广告么微信社群营销怎么做
  • 国外创意网站设计需要优化的网站有哪些?
  • 先做网站还是先注册公司seo自动发布外链工具
  • 武汉疫情最新通报某个网站seo分析实例
  • 做网站需要什么特色seo外包收费
  • 微信网站建设方案中国目前最好的搜索引擎
  • 食品配送做网站需要什么功能全媒体运营师报名费多少钱
  • 做旅游网站运营百度推广管理