lk fdt_path_offset怎么用的作用是什么?


dts加载流程如下图所示:

主要的数據流包括: 

1汇编部分的代码分析 

/* 初始化的时候,并不是扫描到一个node或者property就分配相应的内存实际上内核是一次性的分配了一大片内存,這些内存包括了所有的struct device_node、node name、struct property所需要的内存*/

kernel引入统一设备模型之后,bus、driver和device形成了设备模型中的铁三角在驱动初始化的时候会将代表该driver的┅个数据结构(一般是xxx_driver)挂入bus上的driver链表。device挂入链表分成两种情况一种是即插即用类型的bus,在插入一个设备后总线可以检测到这个行为並动态分配一个device数据结构(一般是xxx_device,例如usb_device)之后,将该数据结构挂入bus上的device链表bus上挂满了driver和device,那么如何让device遇到“对”的那个driver呢就是bus的match函数。

controller的定义之后系统开始匹配过程。一旦匹配到了interrupt chip列表中的项次后就会调用相应的初始化函数


dts加载流程如下图所示:

主要的数據流包括: 

1汇编部分的代码分析 

/* 初始化的时候,并不是扫描到一个node或者property就分配相应的内存实际上内核是一次性的分配了一大片内存,這些内存包括了所有的struct device_node、node name、struct property所需要的内存*/

kernel引入统一设备模型之后,bus、driver和device形成了设备模型中的铁三角在驱动初始化的时候会将代表该driver的┅个数据结构(一般是xxx_driver)挂入bus上的driver链表。device挂入链表分成两种情况一种是即插即用类型的bus,在插入一个设备后总线可以检测到这个行为並动态分配一个device数据结构(一般是xxx_device,例如usb_device)之后,将该数据结构挂入bus上的device链表bus上挂满了driver和device,那么如何让device遇到“对”的那个driver呢就是bus的match函数。

controller的定义之后系统开始匹配过程。一旦匹配到了interrupt chip列表中的项次后就会调用相应的初始化函数

我要回帖

更多关于 offset怎么用 的文章

 

随机推荐