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

江苏住房建设厅主办网站wordpress 博客搬家

江苏住房建设厅主办网站,wordpress 博客搬家,岳阳公司网站制作,中国国际新闻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.w-s-a.com/news/8103/

相关文章:

  • 个人网站建设需求说明书微信域名防封在线生成
  • 专业网站建设的公司wordpress后台没有模板
  • 哈尔滨网站运营服务商制作外贸网站公司
  • 个人网站需要备案宁波网站推广工具
  • 苏州建设银行网站首页wordpress修改密码
  • 网站建设员工技能要求网站制作简单协议
  • 没有ipc备案的网站wordpress isux主题
  • 清远做网站电子商务网站建设需要的语言及特点6
  • 万州那家做网站c语言基础知识入门
  • 齐河网站建设公司价格网站建设包括什么
  • 论坛网站开发费用怎么把文件放到网站的根目录
  • 海南省零售户电商网站官渡区住房和城乡建设局网站
  • 怎么找淘宝客网站最新军事战况
  • 缺乏门户网站建设网页设计与制作项目教程第二版
  • 手机网站横竖屏一般做建设的是什么公司
  • 免费网站建设无广告网站开发 华景新城
  • 湖州网站制作报价西安网站开发有哪些公司
  • google 浏览器开源seo软件
  • 网站空间是什么意思自己怎样建设网站
  • 国外家装设计网站如何做软件开发
  • 凡科建站登录官网当当网网站建设策划书
  • 网站百度屏蔽关键词杭州排名优化公司
  • h5响应式网站模板下载wordpress鼠标指针
  • 摄影作品投稿网站目前最好的引流推广方法
  • 资源站源码永久dede网站搬家 空间转移的方法
  • 网站建设销售的技巧话语it培训机构
  • 自建本地网站服务器wordpress南充房产网最新楼盘最近房价
  • 郑州代做网站天津哪里能做网站
  • 网站如何做排名网站建设项目的工作分解
  • 洛阳网络建站公司网站开发主流语言