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

找人做网站需要什么软件做网站和做网页的区别

找人做网站需要什么软件,做网站和做网页的区别,成都手机建站,wordpress 代码分享1、platform 平台总线模型就是把原来的驱动 C 文件给分成了两个, 一个是 device.c, 一个是 driver.c 。把稳定不变的放在 driver.c 里面, 需要变得就放在了 device.c 里面。平台总线模型将设备代码和驱动代码分离, 将和硬件设备相…

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_GPIO+0x0108,.end = PHY_BASEADDR_GPIO+0x010B,.flags = IORESOURCE_MEM ,.name = "PH_Config_Reg",},[1] = {.start = PHY_BASEADDR_GPIO+0x0114,.end = PHY_BASEADDR_GPIO+0x0117,.flags = IORESOURCE_MEM ,.name = "PH_Mul_Reg ",},[2] = {.start = PHY_BASEADDR_GPIO+0x010C,.end = PHY_BASEADDR_GPIO+0x010F,.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.yayakq.cn/news/558860/

相关文章:

  • 全国域名备案查询泰安seo
  • 电子商务的网站开发的工作内容秦皇岛海三建设没钱了
  • 网站做支付系统猪八戒网站怎么做任务
  • 代码统计网站网站搭建方案模板
  • 推荐企业手机网站建设asp源码下载
  • h5自适应网站建设是什么意思wordpress 媒体 路径
  • 网站建设的定位是什么意思百度推广 网站备案
  • 网站建设优化哪家公司好最新新闻热点事件国际
  • 郑州市做网站公司a汉狮路由器通过域名解析做网站
  • 关于中国幼教网站开发的经验做网站是什么公司
  • 微信官方版官方网站wordpress 中文附件
  • 项目网站开发js放的位置网站建设 教学大纲
  • 网站建设在商标第几类网站建设内页
  • 广州手机网站开发报价重庆传媒公司前十名
  • php网站开发设计系统泰州东方医院男科
  • 荆门住房建设厅网站重庆铜梁网站建设报价
  • 怎么做阿里巴巴英文网站公众号制作模板app
  • 防疫网站网页设计付费网站搭建
  • 注册一个做网站的公司好海南网站建设推广
  • 怎么在工商局网站查公司必应搜索引擎怎么样
  • 南沙区建设局网站扁平化的网站有哪些
  • 佛山做网站推广的公司阿里云WordPress一键安装
  • 网站建设明细建设品牌公司网站
  • 兴化网站建设价格全球搜索引擎排名2022
  • 做蛋糕视频的网站中小企业网站建设与推广分析
  • 濮阳做网站的电话理论网
  • seo怎么优化软件seo关键词排名优化销售
  • 网站建设的五大原则手机微信小程序免费制作平台
  • 固阳网站建设广告公司简介模板及介绍
  • 网站推广优化排名公司设计师服务平台破解