平台设备和驱动-基于himawari-8卫星的沙尘监测

时间:2024-06-29 20:21:02
【文件属性】:

文件名称:平台设备和驱动-基于himawari-8卫星的沙尘监测

文件大小:7.57MB

文件格式:PDF

更新时间:2024-06-29 20:21:02

嵌入式linux 周立功

2.10 平台设备和驱动 2.6 内核引入了 platform 机制,能够实现对设备所占用的资源进行统一管理。Platform 机制抽象出了 platform_device 和 platform_driver 两个核心概念,与此相关的还有一个重要概 念就是资源 resource。 2.10.1 资源 资源 resource 是对设备所占用的硬件信息的抽象,目前包括 I/O、内存、IRQ、DMA、 BUS 这 5 类。在内核中,用 resource 结构来对资源进行描述。resource 结构在 文件中定义,如程序清单 2.34 所示。 程序清单 2.34 resource 数据结构 struct resource { resource_size_t start; /* 资源在 CPU 上的物理起始地址 */ resource_size_t end; /* 资源在 CPU 上的物理结束地址 */ const char *name; /* 资源名称 */ unsigned long flags; /* 资源的标志 */ struct resource *parent, *sibling, *child; /* 资源的父亲、兄弟和子资源 */ }; flags通常被用来表示资源的类型,可用的资源类型有 IO、MEM、IRQ等,在 中定义,各资源类型和定义如下: #define IORESOURCE_TYPE_BITS 0x00001f00 /* 资源类型 */ #define IORESOURCE_IO 0x00000100 #define IORESOURCE_MEM 0x00000200 #define IORESOURCE_IRQ 0x00000400 #define IORESOURCE_DMA 0x00000800 #define IORESOURCE_BUS 0x00001000


网友评论