UBOOT內存地址分析圖

電腦雜談  發布時間:2021-03-13 05:10:12  來源:網絡整理

UBOOT-內存地址分析圖

內存地址圖

內存地址圖

回想一下有關內存的四個區域的知識:在執行C語言程序時,該程序將只有“內存的四個區域”(堆區域,堆棧區域,全局區域和代碼區域)。

其中,堆棧區域由編譯器自動分配,用于存儲函數的形式參數,局部變量等,并在執行函數時自動釋放。

堆區域:程序員手動分配和釋放(常見的malloc,free和其他涉及的功能)。

全局區域:存儲全局變量和(靜態)靜態變量,其中細分了一個常量區域,字符串常量和其他常量也存儲在此處。程序結束后,操作系統將釋放該區域,

補充:全局變量和靜態變量的存儲放在一起,已初始化的全局變量和靜態變量在一個區域中,未初始化的全局變量和未初始化的靜態變量在另一相鄰區域中。

代碼區:一個存儲程序執行代碼的存儲區,其中包含二進制代碼。存儲區通常是只讀的。一些體系結構還允許代碼段可寫。實際上,它們存儲代碼框架或函數主體,即代碼主體的位置。

上面的uboot內存映射如何對應于C的四個內存區域?全球區域如何構成?

代碼區域= start.o + *(。text)

全局區域= *(。rodata *)+ *(。data)+ *(。u_boot_cmd)+ *(。rel *)+ *(。dynsym)+ *(。mmutable)+ *(。bss)

全局區域= *(。rodata *)+ *(。data)+空+ *(。bss)

重定位后的Uboot內存分布圖:

內存地址圖


本文來自電腦雜談,轉載請注明本文網址:
http://www.cvs5.com/a/shoujiruanjian/article-364151-1.html

    相關閱讀
    發表評論  請自覺遵守互聯網相關的政策法規,嚴禁發布、暴力、反動的言論

    熱點圖片
    拼命載入中...
    岛国动作片AV在线网站_亚洲精品欧美综合一区二区_2021年最新无码福利视频