以下内容源于朱有鹏《物联网大讲堂》课程的学习整理,如有侵权,请告知删除。
主要涉及class_create和device_create函数。
1、sys文件系统简介
(1)sys文件系统的设计思想
将内核的一些信息,以文件的形式列在sys目录下。应用层通过读写该目录下的文件,可以和内核进行一些信息交互。
(2)设备类的概念
/sys/class,内核将驱动进行分类,比如和声音有关的、和时钟有关的;class_creat() 创建的;
(3)/sys/class/xxx/ 中的文件的作用
目录下有dev,event,power,subsystem等文件;例如cat dev,得知dev中内容是设备号;例如event是内核给udev传递的信息的地方;这表明可以在应用层得知内核的一些数据结构、状态,这也是sys文件系统的意义。
2、函数追踪
(1)class_createclass_create __class_create __class_register kset_register kobject_uevent:内核发送uevent给应用层 (2)device_create
device_create device_create_vargskobject_set_name_vargs:设置设备的名字device_register:注册设备 device_add kobject_add device_create_file:这些函数都是用来创建/sys/class/xxx/中的内容的 device_create_sys_dev_entry devtmpfs_create_node device_add_class_symlinks device_add_attrs device_pm_add kobject_uevent