你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32MP157 Linux系统移植开发篇7:Linux内核目录结构详解

[复制链接]
STMCU小助手 发布时间:2022-9-30 19:31
Linux内核目录结构% @, g! ]6 H' A" @+ S
Linux内核源代码非常庞大,随着版本的发展不断增加。它使用目录树结构,并且使用Makefile组织配置编译。& k, w$ |' ^% |$ f7 ?, K

# L$ S" l0 ~. w! O9 H0 z" {9 W初次接触Linux内核,最好仔细阅读顶层目录的readme文件,它是Linux内核的概述和编译命令说明。readme的说明更加针对X86等通用的平台,对于某些特殊的体系结构,可能有些特殊的地方。
% v* d4 w  |6 n/ H. W. q' q# Y' j. n! I& ]. j/ w1 P
内核源码很复杂,包含多级目录,形成一个庞大的树状结构,通常称为Linux源码目录树。本章节以linux 5.4.31为例来介绍一下linux内核目录结构。2 [  I9 t, d" m$ q; y7 ~* s2 i& F
2 j1 n# J2 ~, y5 Y
顶层目录的Makefile是整个内核配置编译的核心文件,负责组织目录树中子目录的编译管理,还可以设置体系结构和版本号等。
6 X: J; @% i) b( G
& m- w9 _2 Q: [2 h5 G. v" C* ^首先来看第一级目录
9 V. @0 w: F5 R2 n
: [; k# A, s$ `( T* ~' P7 ^ a29bcadf77d8932fcfaf9846a824d7a5.png
& _+ t, I9 C7 C* }0 h# X8 j- @. m% a MR2K$[DZ7P~C1{8Z3ADA6D2.png
. U, C+ W- [/ X3 z& Q% m# ] [65`W7SBP%W59F`E8U`9WP7.png 1 Z8 Y. h; l0 ], @& n
)7G]FJP7(`C9D2JYN~SP$}Q.png
& H+ |# O* Z8 s( C! C* Z8 {' s8 `- ]6 U8 S( _6 b( P2 I

9 |& p" d; U" h( M- f- zLinux内核源码中接近一半的代码量是驱动,对某一个特定主板的系统而言,驱动也占据很大的比例,底层开发的很大一部分是驱动相关工作。掌握从众多驱动中找到正确的驱动源码文件,并根据产品的实际需求进行修改调整的方法,能有效促进产品开发的进度。
' D) M" M  Z* i. i. J' c! Y# ?7 S& z1 Y+ ?5 O% z% Z
Linux内核源码树drivers目录很复杂,包含了各种外设的驱动。对嵌入式Linux开发而言,通常需要关注如下目录。
6 c/ ]5 i+ F  _! F# _8 N' h6 N6 F# R7 x# I9 ~) P8 m5 p; G  b0 E
C69{FBZ4}A_2_9(3)8N2M.png
. k' l4 q$ K# U$ f8 X RP_)@@NMX}](E5GY82G_ZO1.png
6 N: Y! U- `8 |% k9 ~2 z( X. I E72P8T$B)73PCOE_Q@SE%VM.png ; [' _+ @- K$ [+ Y9 Y; ]
& Y$ V$ p* T3 F. m0 N; ?/ D* [
————————————————
7 M4 V# j: a' s# B+ b3 p版权声明:华清远见IT开放实验室
6 W& k" t. T& h5 G3 I
4 v2 F: l, p4 b+ e( ~( V3 D
5 U3 s2 H; @- V4 I
收藏 评论0 发布时间:2022-9-30 19:31

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版