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

下关网站建设阳江市建设路龙源学校网站

下关网站建设,阳江市建设路龙源学校网站,软件工程文档,seo薪酬水平1、platform 平台总线模型就是把原来的驱动 C 文件给分成了两个#xff0c; 一个是 device.c#xff0c; 一个是 driver.c 。把稳定不变的放在 driver.c 里面#xff0c; 需要变得就放在了 device.c 里面。平台总线模型将设备代码和驱动代码分离#xff0c; 将和硬件设备相…1、platform 平台总线模型就是把原来的驱动 C 文件给分成了两个 一个是 device.c 一个是 driver.c 。把稳定不变的放在 driver.c 里面 需要变得就放在了 device.c 里面。平台总线模型将设备代码和驱动代码分离 将和硬件设备相关的都放到 device.c 文件里面驱动部分代码都放到 driver.c 文件里面。 2、platform_device 1申请platform_device 结构体 struct platform_device {const char *name; //platform 设备的名字 用来和 platform 驱动相匹配。int id; //ID 是用来区分如果设备名字相同的时候(通过在后面添加一个数字来代表不同的设备)bool id_auto;struct device dev; //内置的 device 结构体u32 num_resources; //资源结构体数量struct resource *resource; //指向一个资源结构体数组const struct platform_device_id *id_entry;char *driver_override; /* Driver name to force a match *//* MFD cell pointer */struct mfd_cell *mfd_cell;/* arch specific additions */struct pdev_archdata archdata; };platform 设备的名字 用来和 platform 驱动相匹配。将会在/sys/bus 目录下生成以“name命名的总线。 注platform_device 结构体中的 struct device dev内容必须填写release相关内容否则会有警告。建议添加。 2填充platform_device 中resource 结构体 resource 结构体内容如下 struct resource {resource_size_t start;resource_size_t end;const char *name;unsigned long flags;struct resource *parent, *sibling, *child; };start 和 end 分别表示资源的起始和终止信息 对于内存类的资源 就表示内存起始和终止地址 name表示资源名字 flags 表示资源类型 可选的资源类型都定义在了文件 include/linux/ioport.h 里面。 常用 flags 宏定义如下所示 #define IORESOURCE_IO IO内存 #define IORESOURCE_MEM 一段物理内存 #define IORESOURCE_IRQ 中断3将设备信息注册到内核 然后使用platform_device_register 函数将设备信息注册到 Linux 内核中。 3、demo #include linux/init.h #include linux/module.h #include linux/platform_device.h#define PHY_BASEADDR_GPIO 0x01C20800struct resource led_res[]{[0] {.start PHY_BASEADDR_GPIO0x0108,.end PHY_BASEADDR_GPIO0x010B,.flags IORESOURCE_MEM ,.name PH_Config_Reg,},[1] {.start PHY_BASEADDR_GPIO0x0114,.end PHY_BASEADDR_GPIO0x0117,.flags IORESOURCE_MEM ,.name PH_Mul_Reg ,},[2] {.start PHY_BASEADDR_GPIO0x010C,.end PHY_BASEADDR_GPIO0x010F,.flags IORESOURCE_MEM ,.name PH_Data_Reg,}};void led_device_release(struct device *dev) {printk(led_device_release\n); };struct platform_device led_device{.name my_led_device,.id -1,.resource led_res,.num_resources ARRAY_SIZE(led_res),.dev {.release led_device_release}};static int led_device_init(void) {int ret;printk(platform device enter\n);ret platform_device_register(led_device);printk(ret %d\n,ret);return 0;}static void led_device_exit(void) {platform_device_unregister(led_device);printk(led_device_exit\n);}module_init(led_device_init); module_exit(led_device_exit); MODULE_LICENSE(GPL); 模块加载成功后可以在/sys/bus/platform/devices/ 路径下查看
http://www.hkea.cn/news/14441470/

相关文章:

  • 长沙设计网站排名wordpress侧边栏主题
  • 天津做网站多少钱桂林东西巷美食
  • 企业网站托管服务公司信用中国 网站谁建设的
  • ui做的好的公司网站网站建设 镇江
  • 搭建网站需要注意什么深圳包装设计有限公司
  • 电商网站建设网络公司青岛网站建设邓巴迪
  • 信用中国 网站 支持建设公司签约网站
  • 喀什网站建设公司免费企业名录
  • 泵阀网站建设门户类网站建设需要多少钱
  • 电信200m宽带做网站卡吗杭州做网站电话
  • 网站建设南京公司网站建设做网站属于什么学科
  • 荷塘网站建设做网站需要套模板
  • ip域名查询网站入口视频网站建设解决方案
  • 加强协会网站建设意义软件开发项目内容
  • h5做的分销网站asp网站后台模板
  • ps免费素材网站有哪些寄生虫网站怎么做
  • 网站集约化建设进度报告深圳网站建设公司哪里好
  • 中国各大网站玉器哪家网站做的好
  • 石家庄网站关键词推广互联网推广运营
  • 甘肃省专业做网站网站域名跳转怎么弄
  • 网站建设有那些步骤东莞网站建设模板报价
  • 2003网站服务器建设中云主机有什么用
  • windows 做网站服务器吗极酷wordpress
  • 微知微网站建设实训平台广州高端网页制作
  • 中国建设银行手机网站首页自己做的网站如何兼容ie11
  • 济南定制网站建设怎么在线上推广自己的产品
  • 专门做中式的设计网站wordpress wdone
  • 怎么上传网站在服务器上部署网站
  • 郴州企业网站建设郑州新闻发布
  • 台州外贸网站建设申请域名后怎么建设网站