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

淄博市网站建设_网站建设公司_Angular_seo优化

有后台的网站,php中网站搜索功能实现,佛山网络公司哪家最好,山东网站建设优化在linux使用platform_driver_register() 注册 platform_driver 时#xff0c; 需要在 platform_driver 的probe() 里面知道设备的中断号#xff0c; 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中#xff0c; 相同的资源存放在一个树形树形数据结构中 需要在 platform_driver 的probe() 里面知道设备的中断号 内存地址等资源。这些资源的描述信息存放在 resource 数据结构中 相同的资源存放在一个树形树形数据结构中 通过父节点 兄弟节点 子节点相连。 比如中断资源 IO端口资源 IO内存资源 DMA资源有不同资源树。Linux使用 struct resource 来描述一个resoucestruct resource {resource_size_t start;      资源范围的开始resource_size_t end;        资源范围的结束const char *name;   //资源拥有者名unsigned long flags; 资源属性标识struct resource *parent, *sibling, *child;  资源树的父节点 兄弟节点 字节点指针};resource_size_t 由系统决定 为uint32_t 或uint64_t 。在platform机制里 使用platform_get_resource()来获取指定的资源类型。比如获取想获取中断号irq platform_get_irq(pdev, 0);int platform_get_irq(struct platform_device *dev, unsigned int num){struct resource *r platform_get_resource(dev, IORESOURCE_IRQ, num);return r ? r-start : -ENXIO;}EXPORT_SYMBOL_GPL(platform_get_irq);platform_get_irq() 会返回一个start, 即可用的中断号。之后便可使用request_irq() 来注册中断服务函数。再比如想要获取IO内存资源struct resource *res_mem platform_get_resource(pdev, IORESOURCE_MEM, 0);即可得到一个IO内存资源节点指针 包括了地址的开始结束地址等, 该IO内存的长度可用 resource_size() 来获取 但这段资源只是一个描述 想真正使用这段IO内存 还要经过先申请 再映射的过程。例如可使用devm_request_mem_region()申请出使用这段IO内存 再使用ioremap() 将其映射出来 供用户空间使用。devm_request_mem_region(pdev-dev, res_mem-start, resource_size(res_mem),res_mem-name))addr_start ioremap(res_mem-start, resource_size(res_mem));ioremap() 的返回值即为该资源的虚拟地址。IO内存的资源是在设备树源(Device Tree Source)文件(以.dts结尾)里给出的.dts文件就是用来描述目标板硬件信息的 在uboot启动后 使用uboot提供的特定API将其获取出来 如fdt_getprop() fdt_path_offset() 这些API包含在uboot 的头文件 里面。uboot将.dts文件里的描述解析出来 再对相应寄存器赋值 在linux启动后 使用  platform_get_resource() 即可获取到这些给定的资源 在驱动里使用。例如一个在.dts文件中关于gpio资源的描述gpio: gpio-controller1070000000800 {#gpio-cells 2;compatible cavium,octeon-3860-gpio;reg 0x10700 0x00000800 0x0 0x100;gpio-controller;…根据其描述 可知道gpio控制器的IO内存起始地址为0x107900000800 长度为0x100.即从 0x107900000800 到 0x1079000008ff.在目标板里使用  cat /proc/iomem  可以看到1070000000800-10700000008ff : /soc0/gpio-controller1070000000800关于i2c 的描述twsi0: i2c1180000001000 {#address-cells 1;#size-cells 0;compatible cavium,octeon-3860-twsi;reg 0x11800 0x00001000 0x0 0x200;interrupts 0 45;clock-rate 100000;IO内存起始地址为 0x118000001000, 长度为0x200.从 0x118000001000 到 0x1180000011ff.在目标板里使用  cat /proc/iomem  可以看到1180000001000-11800000011ff : /soc0/i2c1180000001000
http://www.ihoyoo.com/news/67617.html

相关文章:

  • 企业网站建设开发公司郑州企业网站建设团队
  • 永春县住房和城乡规划建设局网站wordpress自定义右键
  • 山东住房建设厅官网站WordPress上传图片提示无效
  • wordpress 子站关键词优化快速
  • 免费制作公司网站百度排行
  • 外资做网站的公司wordpress 微博秀
  • 企业网站备案资料填写单工商注册登记系统官网
  • 邯郸个人网站建设海口网
  • 如何做优化网站的原创性文章网站编辑难做吗
  • 大连网站建设公司排名做网站建设公司怎么样
  • 本地建设网站软件邯郸吧
  • 荷城网站制作公司网站建设分组任务
  • 潍柴新建站登录网址中信建设有限责任公司陶扬
  • 苍山做网站智联招聘网站怎么做微招聘
  • 卖建材的网站有哪些手机上做网站的软件
  • 视频网站开发教程摄影师个人网站制作
  • 鹤壁集团网站建设做网站和微信公众号需要多少钱
  • 南宁网站建设公司招聘wordpress 编辑代码
  • 优化网站推广排名桃城区网站制作公司
  • 通州免费网站建设张家港网站seo
  • 佛山制作网站软件仓库管理用什么软件
  • 怎么把自己做的网站放到网上三网合一的模板网站
  • 营销型网站设计论文南通网站建设制作公司
  • 做电影网站看电影算网站流量吗网页免费模板
  • 网站开发的总结wordpress微信货源网
  • 网站seo收录工具小松 建设项目 网站
  • 个人网站设计论文phpwordpress 网站打开速度慢
  • 建网站做联盟手机登录不了建设银行网站
  • 个人简历网站开发wordpress 标题居中
  • 建立房产门户网站需要多少钱微信朋友圈的广告怎么投放