首页 > 编程知识 正文

关于树的设备机器,设备布置图的基本内容

时间:2023-05-04 15:24:39 阅读:27543 作者:2408

一,

由于每个制造商的平台不同,每个制造商可能都有自己的触发器信息目录下,如果是/arch/arm/arch-中的触发器信息,则有很多重复的代码

目的:加快linux内核的bsp开发,以避免各厂商代码重复(注: bsp :board support packge ) )。

设备树:描述板硬件信息的数据结构

文件(二进制文件)在lk (引导装载器)中不同)加载相应的)内核。

内容: dts源文件--------DTC编译生成--------dtb文件-----------可以用引导装载器加载到内核中。

源文件:包含cpu总线、串行端口、物理内存、GPIO控制器等信息。 (类似于以前的扳机信息mach-xxx。 )

从open firmware派生的

lk--引导内核对该文件结构进行适当的文件语法分析,并且当内核启动时,一些适当的设备可以获得适当的触发信息。 mach-xxx都是垃圾,实际使用的是/arch/arm/boot/dts

二、

设备树和以前的触发信息mach-xxx的区别

probe函数配置(总线、设备、驱动程序三者之间的绑定)匹配不同

设备树: of _ match _ table=qup _ I2C _ dt _ match,的。 兼容性值匹配。

以前的扳机信息mach-xxx:driver={

. name='i2c_qup '

}

基于name的匹配

进来之后

启用了struct device _ node * node=pdev-dev.of _ node的设备树中的节点

of_property_read_u32(node,' chocl-frequency ',clk_freq );

2 .分析不同

设备数量:从唯一函数接口获取硬件信息

以前的扳机信息

s3c24xx_uda134x_probe函数获取平台数据

s3c 24 xx _ uda 134 x _ L3 _ pins=pdev-dev.platform _ data;

. platform _ data=mini 2440 _ audio _ pins,

静态结构3c 24 xx _ uda 134 x _ platform _ data mini 2440 _ audio _ pins={

. L3_clk=S3C2410_gpb(4、

. L3_mode=S3C2410_gpb(2、

. L3_data=S3C2410_gpb(3、

. model=UDA134X_UDA1341

(;

3 .扳机信息---保管位置不同

CPU、存储器、外围设备控制器(i2c、spi、i2s )总线、GPIO地址等

设备树:保存到dts----编译为dtb二进制文件

提供内存所在的-LK加载到kernel时将这些硬件信息加载到内核中(触发信息可以独立编译生成)

以前的触发信息mach-xxx将以前的触发信息mach-xxx硬件信息编译集成到内核中。 (需要与内核进行编译。 )

如何在linux3.x内核中编译设备树

1 .设备树的好处

usage-model.txt (内核源代码中有这样一个词

第一个是平台验证

第二个是内核运行时的配置信息吗? 构成什么样的信息

三是平台设备信息

LK一起识别机器(板)

过程:在加载linux内核的过程中,bootloader会将设备树的二进制文件复制或复制到内存中,并在加载linux内核时解析设备树的DTB文件。 主要由勇敢的LK传递的参数(r0、r1、r2寄存器)分别为r0、r1:机器码、machinetyppper

以前没有设备数时是TAGLIST的地址

加载linux后,内核会将设备树(dtb )文件分析或扩展到) device_node结构列表。 然后,进行一系列操作(总线设备驱动程序注册)。

如何生成结构列表(设备节点) )

用driver/of/fdt.c中名为of_fdt_unflatten_tree的函数

linux如何执行一系列操作

在我们系统的初始化过程中,平台总线上的设备-------API接口-----与驱动程序/of/platform.c相对应的of_platform_populate

设备树是哪种文件格式

加载过程中内核为裸机代码。 每个程序都在硬件上运行。

如果是程序,就必须配置内存、缓存、中断、终端打印等信息

这个布局由谁来完成

所有操作都是对处理器寄存器的操作。 要写多久? 地址是多少? 这个时候linux必须知道这个数据。 linux是怎么知道这个数据的? 没有设备树的时代:指定在内核代码中写入代码的数据。 存储器(如果存在设备树,则将字节数据结构(dtb )复制到RAM ();已知将物理存储器传递到linux内核) )从标准平台接口获取

一个设备树DTB对应于一个触发信息

文件DTS-源文件DTSI头文件DTB---源代码由DTC编译生成的二进制文件

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。