国嵌驱动课程
EmbeddedGuru
懒癌
展开
-
国嵌——内核驱动模型——第二天kobject
sysfs文件系统: sysfs被挂载在/sys/目录 block目录: 块设备,里面有属性文件,描述块设备各方面的属性 (loop块设备是使用文件来模拟的) bus目录:内核中注册的每条总线,如: ide pci scsi usb pcmcia 每个总线目录内又包含两个子目录: devices和drivers class目录:将设备按照功能进行分类,如:/sys/原创 2013-11-24 14:32:03 · 664 阅读 · 0 评论 -
国嵌——内核驱动——第二天(kset)
kset是具有相同类型的kobject的集合,在sysfs中体现成一个目录。 struct kset { struct list_head list;//连接该kset中所有kobject的链表头 spinlock_t list_lock; struct kobject kobj;//内嵌的kobject const struct kset_uevent_原创 2013-11-24 15:25:09 · 708 阅读 · 0 评论 -
国嵌——内核驱动——第二天(总线-驱动-设备模型)
总线-驱动-设备模型 总线是处理器和设备之间的通道,在设备模型中,所有的设备都通过总线相连, 甚至是内部的虚拟"platform"总线。在Linux设备模型中,总线由bus_type结构表示, 定义在 struct bus_type { const char *name; /* 总线名称 */ struct bus_attri原创 2013-11-24 17:59:37 · 744 阅读 · 0 评论 -
国嵌驱动——硬件访问——第一天
mmap设备操作: void *mmap(void *addr, size_t len, int port, int flags, int fd, off_t offset); 内存映射函数,负责把文件内容映射到进程的虚拟内存空间,通过对这段内存的修改来实现对文件的修改。 addr:指定映射的起始地址,通常为NULL,由系统指定 len :文件中映射到内存的长度 port:原创 2013-11-24 12:37:10 · 681 阅读 · 0 评论 -
国嵌——虚拟总线之platform
platform总线是一种虚拟总线。 有platform_device和platform_driver组成。 platform驱动与传统的设备驱动模型相比, 优势在于platform机制将设备本身的资源注册进内核, 由内核统一管理,在驱动程序使用这些资源时使用统一的接口, 这样提高了程序的可移植性。 通过platform机制开发底层设备驱动的流程: 1.定义platform_原创 2013-11-25 20:23:30 · 656 阅读 · 0 评论