吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Linux內核的起始地址查看

麥辣雞腿堡 ? 來源:嵌入式Linux系統開發 ? 作者:Jasonangel ? 2023-09-28 16:57 ? 次閱讀

我們先看一下入口地址的確定,同一文件。

SECTIONS
{
 /*
  * XXX: The linker does not define how output sections are
  * assigned to input sections when there are multiple statements
  * matching the same input section name.  There is no documented
  * order of matching.
  *
  * unwind exit sections must be discarded before the rest of the
  * unwind sections get included.
  */
 /DISCARD/ : {
  *(.ARM.exidx.exit.text)
  *(.ARM.extab.exit.text)
  ARM_CPU_DISCARD(*(.ARM.exidx.cpuexit.text))
  ARM_CPU_DISCARD(*(.ARM.extab.cpuexit.text))
  ARM_EXIT_DISCARD(EXIT_TEXT)
  ARM_EXIT_DISCARD(EXIT_DATA)
  EXIT_CALL
#ifndef CONFIG_MMU
  *(.text.fixup)
  *(__ex_table)
#endif
#ifndef CONFIG_SMP_ON_UP
  *(.alt.smp.init)
#endif
  *(.discard)
  *(.discard.*)
 }

 . = PAGE_OFFSET + TEXT_OFFSET;
 .head.text : {
  _text = .;
  HEAD_TEXT
 }

這個 SECTIONS 比較長,只放一部分。在這里有個比較重要的東西:

. = PAGE_OFFSET + TEXT_OFFSET;

這一句表示了 Linux 系統真正的啟動地址。

PAGE_OFFSET 是 Linux 內核空間的虛擬起始地址,定義在:

linux4.14/arch/arm64/include/asm/memory.h

圖片

注意,這里的地址都很重要,很多地方會用到。當然,這里的地址可能會隨著 Linux 內核版本的不同和硬件的不同,會變化。這里沒有一個具體的數,因為 VA_BITS 中的數字是可選的,大家可以根據自己的平臺算一下。

TEXT_OFFSET 定義在:

linux4.14/arch/arm/Makefile 中:

圖片

圖片

這個值一般是 0x00008000 ,算出 PAGE_OFFSET 后加上這個值就是 Linux 內核的起始地址。

修改這個偏移量就可以使Linux內核拷貝到不同的地址,自己修改注意內存對齊。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • ARM
    ARM
    +關注

    關注

    134

    文章

    9165

    瀏覽量

    369187
  • 內核
    +關注

    關注

    3

    文章

    1382

    瀏覽量

    40422
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210389
  • 地址
    +關注

    關注

    1

    文章

    32

    瀏覽量

    10816
收藏 人收藏

    評論

    相關推薦

    Linux內核自解壓過程分析

    uboot完成系統引導以后,執行環境變量bootm中的命令;即,將Linux內核調入內存中并調用do_bootm函數啟動內核,跳轉至kernel的起始位置。
    的頭像 發表于 12-08 14:00 ?1000次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b>自解壓過程分析

    Linux內核地址映射模型與Linux內核高端內存詳解

    的數據可能不在內存中。 Linux內核地址映射模型 x86 CPU采用了段頁式地址映射模型。進程代碼中的地址為邏輯
    發表于 05-08 10:33 ?3481次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b><b class='flag-5'>地址</b>映射模型與<b class='flag-5'>Linux</b><b class='flag-5'>內核</b>高端內存詳解

    Linux內核教程

    本章學習目標掌握LINUX內核版本的含義理解并掌握進程的概念掌握管道的概念及實現了解內核的數據結構了解LINUX內核的算法掌握
    發表于 04-10 16:59 ?0次下載

    如何知道mac地址 怎么查看IP地址

    如何知道mac地址 怎么查看IP地址 步驟如下: 1 在“運行”中輸入 cmd 2 在打開的命令提示符界面中輸入 ipconfig/all 3 里面的rnet NIC里有你
    發表于 03-21 12:08 ?5.4w次閱讀
    如何知道mac<b class='flag-5'>地址</b> 怎么<b class='flag-5'>查看</b>IP<b class='flag-5'>地址</b>

    怎么查看物理地址

    怎么查看物理地址 點“開始”---“運行”-----輸入--"cmd"" --回車---輸入--"ipconfig /all" 如下圖:
    發表于 09-11 17:24 ?5883次閱讀
    怎么<b class='flag-5'>查看</b>物理<b class='flag-5'>地址</b>

    如何查看Linux中的ip地址

    在排除網絡問題,設置新連接或配置防火墻時,了解設備的 IP 地址非常重要。下面我們就來看看Linux查看ip地址的方法吧!
    發表于 05-25 09:35 ?2953次閱讀
    如何<b class='flag-5'>查看</b><b class='flag-5'>Linux</b>中的ip<b class='flag-5'>地址</b>

    虛擬機:Linux查看DNS服務器IP地址的方法

    虛擬機:Linux查看DNS服務器IP地址的方法
    的頭像 發表于 06-22 15:12 ?1.4w次閱讀
    虛擬機:<b class='flag-5'>Linux</b><b class='flag-5'>查看</b>DNS服務器IP<b class='flag-5'>地址</b>的方法

    IP地址查看

    IP地址查看器免費下載。
    發表于 07-08 10:19 ?2次下載

    Linux虛擬地址空間和物理地址空間的關系

    過程,這其實也是MMU的工作原理。 我們知道,在Linux中,每個進程都有自己獨立的地址空間,且互不干擾。每個進程的地址空間又分為用戶空間和內核空間,但這些
    的頭像 發表于 10-08 11:40 ?1257次閱讀
    <b class='flag-5'>Linux</b>虛擬<b class='flag-5'>地址</b>空間和物理<b class='flag-5'>地址</b>空間的關系

    linux系統查看ip地址命令

    Linux系統中,可以使用ifconfig命令來查看IP地址。ifconfig命令被用于配置和顯示網絡接口的網絡參數,包括IP地址。執行以下命令可以
    的頭像 發表于 11-08 15:09 ?2906次閱讀

    linux系統查看物理地址

    Linux系統中,訪問和查看物理地址是一個非常重要的任務,因為它提供了對硬件設備的直接訪問。本文將詳細介紹如何在Linux系統中查看物理
    的頭像 發表于 11-16 16:47 ?3626次閱讀

    linux 查看網卡狀態是否開啟

    如何查看 Linux 網卡狀態是否開啟 在 Linux 系統中,我們可以使用一些命令來查看網卡狀態是否開啟。本文將詳細介紹如何使用這些命令來查看
    的頭像 發表于 11-17 10:31 ?2734次閱讀

    linux查看網卡是down還是up

    Linux系統上,可以通過多種方式來查看網卡的狀態是否為down或up。下面將詳細介紹這些方法,并給出具體的步驟和示例。 ifconfig命令 ifconfig命令是Linux系統上最常用的
    的頭像 發表于 11-17 10:34 ?9597次閱讀

    linux怎么查看網卡的收光功率?

    linux怎么查看網卡的收光功率? 在Linux系統中,可以使用一些命令和工具來查看網卡的收光功率。本文將介紹如何使用這些命令和工具來查看
    的頭像 發表于 01-31 14:24 ?3965次閱讀

    Linux查看IP地址的方法

    ifconfig是一個網絡管理工具,用于配置、控制和查詢網絡接口。在許多舊的Linux發行版中,ifconfig是查看和配置網絡接口的主要工具。
    的頭像 發表于 08-07 15:16 ?7909次閱讀
    在<b class='flag-5'>Linux</b>中<b class='flag-5'>查看</b>IP<b class='flag-5'>地址</b>的方法
    威尼斯人娱乐场28gxpjwnsr| 博之道百家乐官网的玩法技巧和规则| 威尼斯人娱乐城赌博网| 百家乐官网扎金花现金| 人民币棋牌游戏| 百家乐娱乐城返水| 百家乐官网赌博出千| 百家乐平注法攻略| 百家乐官网投注五揽式| sz全讯网网址xb112| 百家乐官网九| 津南区| 百家乐牌壳| 澳门百家乐官网路单| 长宁区| 威尼斯人娱乐网代理注| 风水24山头| 宝格丽百家乐官网娱乐城| 大发888娱乐博盈投资| 百家乐视频游戏聊天| 百家乐官网投注很好| 晓游棋牌游戏大厅下载| 时时博百家乐娱乐城| 百家乐官网大赌城| 球讯网| 威尼斯人娱乐城真人赌博| 百家乐没有必胜| 百家乐官网投注技巧公式| 六合彩特码开奖| 百家乐官网制胜绝招| 阳新县| 全讯网财运| 利来百家乐官网娱乐| 百家乐官网网真人真钱群| 棋牌游戏赚钱| 福布斯百家乐的玩法技巧和规则| 免费百家乐官网统计| 太阳城百家乐官网下载网址| 永利娱乐场| 大发888 34| 百家乐免费送现金|