section 详细说明
.text

按如下顺序,中断向量表vectors, 启动入口代码start.o,

普通text, glue (arm thumb2 相互调用时自动生成的代码)

        *(.vectors)
        CPUDIR/start.o (.text*)
        *(.text*)
        *(.glue*)

__image_copy_start 标记为text 段入口,
将code 搬到dram 时,从这开始搬

.rodata 

存储所有rodata 段,即只读变量,按对齐按名字排序

*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))

.data存储所有data 段,即已初始化可读可写变量
__u_boot_list

u-boot 中的各种init 入口会统一放在***list 区,由init 统一执行,

避免了在去维护一支文件来主动显式调用

binman_sym_table

binman,即binary manager, 用以维护生成的所有binary

__image_copy_end, 以下内容不会被搬到dram

.rel.dyn

重定位表,用于般code 时计算各段offset

_image_binary_end 标记为rel.dyn 结尾

.bss未初始化变量

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐