日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

内核中架构相关代码简介

發布時間:2023/12/20 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 内核中架构相关代码简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下內容源于朱友鵬《物聯網大講堂》課程的學習,如有侵權,請告知刪除。


1、內核代碼基本分為3塊

(1)arch:本目錄下全是cpu架構有關的代碼

(2)drivers:本目錄下全是硬件的驅動

(3)其他:相同點是這些代碼都和硬件無關,因此系統移植和驅動開發的時候這些代碼幾乎都是不用關注的。


2、架構相關的常用目錄名及含義

(1)mach(machine architecture)

  • arch/arm目錄下的一個mach-xx目錄就表示一類machine,表明這類machine都用xx這個cpu來做主芯片(譬如mach-s5pv210這個文件夾里面都是用s5pv210作為主芯片的開發板machine);
  • mach-xx目錄里面的一個mach-yy.c文件中定義了一個開發板(一個開發板對應一個機器碼),這個是可以被擴展的。

(2)plat(platform)

  • plat在這里可以理解為SoC,也就是說這個plat目錄下都是SoC里面的一些硬件(內部外設)相關的一些代碼。在內核中把SoC內部外設相關的硬件操作代碼就叫做平臺設備驅動。

(3)include

  • 這個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)有些同名的頭文件是有包含關系的,有時候我們需要包含某個頭文件時可能并不是直接包含他,而是包含一個包含它的頭文件。







總結

以上是生活随笔為你收集整理的内核中架构相关代码简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。