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

西安网站建设制作价格低客户crm管理系统

西安网站建设制作价格低,客户crm管理系统,美工是做什么的难学吗,网站建设 三乐2.6内核以后的多数驱动都是基于平台总线驱动模型(platform)#xff0c;对于平台总线来说#xff0c;无非是两块组成 platform_driver和platform_device#xff0c;在a5d2的bsp中#xff0c;因为引入了device tree#xff0c;因此#xff0c;代码里已经看不到 platform_…2.6内核以后的多数驱动都是基于平台总线驱动模型(platform)对于平台总线来说无非是两块组成 platform_driver和platform_device在a5d2的bsp中因为引入了device tree因此代码里已经看不到 platform_device了下面以mac驱动为实例来分析device tree 1. 下面两段代码实现了macb平台驱动的注册 driver/net/ethernet/cadence/macb.c include/linux.h 2. macb平台设备的创建是由设备树实现 3. 当注册驱动的时候回调用platform_match这个函数进行driver和device的匹配 static int platform_match(struct device *dev, struct device_driver *drv) static inline int of_driver_match_device(struct device *dev, const struct device_driver *drv) const struct of_device_id *of_match_device(const struct of_device_id *matches, const struct device *dev) const struct of_device_id *of_match_node(const struct of_device_id *matches, const struct device_node *node) static const struct of_device_id *__of_match_node(const struct of_device_id *matches, const struct device_node *node) static int __of_device_is_compatible(const struct device_node *device,const char *compat, const char *type, const char *name) 通过上面的调用流程最终会匹配设备树的compatible与platform_driver的of_match_table(下图) 从上图可以看到最终回匹配到sama5d2-gen匹配成功后便会调用macb_probe函数 在macb_probe函数中进行mdiobus的注册mdiobus的实现在mdio_bus.c 接下来就是从设备树中读取管脚配置并配置管脚复用 int pinctrl_bind_pins(struct device *dev) struct pinctrl *devm_pinctrl_get(struct device *dev) struct pinctrl *pinctrl_get(struct device *dev) static struct pinctrl *create_pinctrl(struct device *dev) int pinctrl_dt_to_map(struct pinctrl *p) static int dt_to_map_one_config(struct pinctrl *p, const char *statename, struct device_node *np_config) static int dt_remember_or_free_map(struct pinctrl *p, const char *statename, struct pinctrl_dev *pctldev,        struct pinctrl_map *map, unsigned num_maps) 最终在这个函数的for循环里可以打印出解析好的管脚配置 map[i].data.mux.group   为管脚的名字如PB14 map[i].data.mux.function 为管脚的功能为GPIO,A,B,C,D,E,F对应sama5d2-pinfunc.h中0,1,2,3,4,5,6 map[i].dev_name 为设备节点名称如 f8008000.ethernet map[i].name 为 pinctrl-names 的值 map[i].ctrl_dev_name 管脚复用节点父节点的名称如fc038000.pinctrl 上面的函数调用完成了设备树管脚配置的解析解析完成后调用 static int atmel_pmx_set_mux(struct pinctrl_dev *pctldev, unsigned function, unsigned group) 来实现真正的管脚配置寄存器的写入
http://www.zqtcl.cn/news/308265/

相关文章:

  • 什么是网站的域名jquery素材网站
  • 课程网站建设ppt模板百度seo推广
  • 网站建设需要用到什么怎么在电脑上用手机app软件
  • 公司做网站有意义么网站认证必须做么
  • 网站虚拟空间更新缓存php外贸网站建设
  • 河南省建设执业资格注册中心网站门户定制网站建设公司
  • 网站开发比较厉害wordpress中文 插件
  • 文化投资的微网站怎么做个人微信公众号如何推广
  • 单位的网站怎样设计才美观网页设计图片的代码
  • 长沙专业做网站排名济南手机网站定制费用
  • 西安专题门户响应式网站建设系统网站有哪些
  • 山东省建设局网站监理员考试asp.net mvc6电商网站开发实践
  • 做网站需要提供什么资料网站备案是什么意思
  • 河南网站建设及推广东莞百度代做网站联系方式
  • 大型企业网站制作浦东新区做网站
  • 简单大气网站源码织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名
  • 电子商务型网站建设线上推广营销策划
  • 网站建设管理工作情况的通报网站开发vs设计报告
  • 嘉定网站网站建设公司官网制作
  • 做旅游广告在哪个网站做效果好财经网站建设
  • 网站样式下载网站地图定位用什么技术做
  • 自己做网站怎么做的百中搜优化软件
  • 南宁建站平台与网站建设相关的论文题目
  • 足球网站建设意义做股权众筹的网站
  • 北京网站建设设计一流的锦州网站建设
  • 专业手机移动网站建设什么网站可以做期刊封面
  • cms建站系统哪个好网站建设 柳州
  • 安徽省住房与城乡建设部网站八戒电影在线观看免费7
  • 江苏省建设考试网站准考证打印佛山网站建设锐艺a068
  • 展示型网站功能如何设计网站风格