网站开发自适应不同分辨率,如何拷贝服务器里面网站做备份,安装微信,附近网络维修以下内容源于朱友鹏《物联网大讲堂》课程的学习#xff0c;如有侵权#xff0c;请告知删除。 1、内核代码基本分为3块
#xff08;1#xff09;arch#xff1a;本目录下全是cpu架构有关的代码
#xff08;2#xff09;drivers#xff1a;本目录下全是硬件的驱动
如有侵权请告知删除。 1、内核代码基本分为3块
1arch本目录下全是cpu架构有关的代码
2drivers本目录下全是硬件的驱动
3其他相同点是这些代码都和硬件无关因此系统移植和驱动开发的时候这些代码几乎都是不用关注的。 2、架构相关的常用目录名及含义
1machmachine architecture arch/arm目录下的一个mach-xx目录就表示一类machine表明这类machine都用xx这个cpu来做主芯片譬如mach-s5pv210这个文件夹里面都是用s5pv210作为主芯片的开发板machinemach-xx目录里面的一个mach-yy.c文件中定义了一个开发板一个开发板对应一个机器码这个是可以被扩展的。2platplatform plat在这里可以理解为SoC也就是说这个plat目录下都是SoC里面的一些硬件内部外设相关的一些代码。在内核中把SoC内部外设相关的硬件操作代码就叫做平台设备驱动。3include 这个include目录中的所有代码都是架构相关的头文件。linux内核通用的头文件在内核源码树根目录下的include目录里。3、补充
1内核中的文件结构很庞大、很凌乱不同版本的内核可能一个文件存放的位置是不同的。
2头文件目录include有好几个譬如
kernel/include 内核通用头文件
kernel/arch/arm/include 架构相关的头文件
kernel/arch/arm/include/asm
kernel\arch\arm\include\asm\mach
kernel\arch\arm\mach-s5pv210\include\mach
kernel\arch\arm\plat-s5p\include\plat 3内核中包含头文件时有一些格式
#include linux/kernel.h kernel/include/linux/kernel.h #include asm/mach/arch.h kernel/arch/arm/include/asm/mach/arch.h #include asm/setup.h kernel\arch\arm\include\asm/setup.h #include plat/s5pv210.h kernel\arch\arm\plat-s5p\include\plat/s5pv210.h 4有些同名的头文件是有包含关系的有时候我们需要包含某个头文件时可能并不是直接包含他而是包含一个包含它的头文件。