IMX6ULL移植篇-Linux内核源码目录分析一

一.  Linux内核源码目录

之前文章对 Linux内核源码的文件做了大体的了解,如下:

IMX6ULL移植篇-Linux内核源码文件表_凌肖战的博客-CSDN博客

本文具体说明 Linux内核源码的一些重要文件含义。

二.   Linux内核源码中重要文件分析

1.  arch 目录

这个目录是和架构有关的目录,比如 arm arm64 avr32 x86 等等架构。每种架构都对应
一个目录,在这些目录中又有很多子目录,比如 boot common configs 等等。
arch/arm 为例,其子目录如下:
IMX6ULL移植篇-Linux内核源码目录分析一_第1张图片

以上是 arch/arm 的一部分子目录,这些子目录用于控制系统引导、系统调用、动态调 频、主频设置等。

arch/arm/boot 目录下会保存编译出来的 Image zImage 镜像文件,而 zImage 就是我们要
用的 linux 镜像文件。

arch/arm/boot/dts 目录下,存放 Linux内核所有设备树文件,包括 dts 编译后对应的设备树文件.dtb文件)。

arch/arm/configs 目录是不同平台的默认配置文件:xxx_defconfig。 arch/arm/configs 中就包含有 I.MX6U-ALPHA 开发板的默认配置文件: imx_v7_defconfig,执行 “ make imx_v7_defconfig ” 即可完成配置。

arch/arm/mach-xxx 目录分别为相应平台的驱动和初始化文件,比如 mach-imx 目录里面就是 I.MX 系列 CPU 的驱动和初始化文件。

2. block目录

block Linux 下块设备目录,像 SD 卡、EMMCNAND、硬盘等存储设备就属于块设备, block 目录中存放着管理块设备的相关文件。

3.  crypto 目录

crypto 目录里面存放着加密文件,比如常见的 crc crc32 md4 md5 hash 等加密算法。

4.  Documentation 目录

此目录里面存放着 Linux 相关的文档,如果要想了解 Linux 某个功能模块或驱动架构的功 能,就可以在 Documentation 目录中查找有没有对应的文档。

Documentation/devicetree/bindings 目录下的文档很重要!是设备树的绑定信息。

5. drivers 目录

驱动目录文件,此目录根据驱动类型的不同,分门别类进行整理,比如 drivers/i2c 就是 I2C
相关驱动目录, drivers/gpio 就是 GPIO 相关的驱动目录,这是我们学习的重点。

6.  firmware 目录

此目录用于存放固件。 有一些外设或模块需要加载的固件。

7.  fs 目录

此目录存放文件系统,例如 fs/ext2 fs/ext4 fs/f2fs 等,分别是 ext2 ext4 f2fs 等文件系
统。

8. include 目录

存放头文件的目录。

下一篇继续了解 Linux内核源码文件。

你可能感兴趣的:(系统移植篇,linux,arm开发)