Linux内核笔记

    xiaoxiao2021-03-25  117

    1、Linux的启动过程可以分为两部分:架构/开发板相关的引导过程、后续的通用启动过程。

    2、Linux内核目录结构说明

    3、Linux内核Makefile文件分类

    4、arch/arm/kernel/head.S是内核执行的第一个文件。U-Boot调用内核时,r1寄存器中存储“机器类型ID”, 内核会用到它。

    5、Device Tree是一种描述硬件的数据结构,在Linux2.6中,ARM架构的板级硬件细节过多的被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx,采用Device Tree后,许多硬件的细节可以直接透过它传递给Linux,而不再需要在kernel中进行大量的冗余编码。 Device Tree由一系列被命名的结点(node)和属性(property)组成,而结点本身可包含子节点。所谓属性,其实就是成对出现的name和value。在Device Tree中,可描述的信息包括:

    CPU的数量和类别内存基地址和大小总线和桥外设连接中断控制器和中断使用情况GPIO控制器和GPIO使用情况Clock控制器和Clock使用情况 它基本上就是画了一棵电路板上CPU、总线、设备组成的树,Bootloader会将这棵树传递给内核,然后内核可以识别这棵树,并根据它展开出Linux内核中的platform_device、 i2c_client、spi_device等设备,而这些设备用到的内存、IRQ等资源,也被传递给内核,内核会将这些资源绑定给展开的相应的设备。

    .dts文件是一种ASCII文本格式的Device Tree描述。一个.dts文件对应一个ARM的machine,一般放置在内核的arch/arm/boot/dts/目录。由于一个Soc可能对应多个machine,势必这些.dts文件需包含共同的部分一般提炼为.dtsi,类似于C语言的头文件。其他的machine对应的.dts就include这个.dtsi。

    转载请注明原文地址: https://ju.6miu.com/read-5495.html

    最新回复(0)