📄 ldscript
字号:
/*
======================================================================
======================================================================
SECTIONS
{
. = 0x000000; 赋当前地址
.text : { *(.text) } .text段表示代码段,也就是从0开始放置程序代码
Image_RO_Limit = .; RO(只读)长度,符号,程序中要用到
Image_RW_Base = .; RW(读写)基地址,符号,程序中要用到
.data : { *(.data) } .data段表示数据段, 你的全局变量等放在这里, 目前在RAM中调试,所以可以紧根在代码段后
.rodata : { *(.rodata) } .rodata段表示只读数据段, 你的静态全局变量等不变值放在这里
Image_ZI_Base = .; ZI基地址, 需要清零的区域 zero init
.bss : { *(.bss) } 堆栈段,前面是堆,malloc用,后面是栈,函数调用是参数压栈等
Image_ZI_Limit = .; ZI长度
__bss_start__ = .; bss的基地址
__bss_end__ = .; bss的结束地址
__EH_FRAME_BEGIN__ = .; FRAME开始地址(基地址)
__EH_FRAME_END__ = .; FRAME结束地址,gcc编译器使用
PROVIDE (__stack = .); 当前地址赋给栈, 栈地址一般是可读写区域的最高处
end = .; 结束地址
_end = .; 下面的都是调试信息输出段,不用关心
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_abbrev 0 : { *(.debug_abbrev)}
.debug_frame 0 : { *(.debug_frame) }
}
======================================================================
======================================================================
*/
SECTIONS
{
. = 0x00000000;
.text : { *(.text) }
Image_RO_Limit = .;
Image_RW_Base = .;
.data : { *(.data) }
.rodata : { *(.rodata) }
Image_ZI_Base = .;
.bss : { *(.bss) }
Image_ZI_Limit = .;
__bss_start__ = .;
__bss_end__ = .;
__EH_FRAME_BEGIN__ = .;
__EH_FRAME_END__ = .;
PROVIDE (__stack = .);
end = .;
_end = .;
.debug_info 0 : { *(.debug_info) }
.debug_line 0 : { *(.debug_line) }
.debug_abbrev 0 : { *(.debug_abbrev)}
.debug_frame 0 : { *(.debug_frame) }
}
/*
SECTIONS
{
ROM_EXEC 0x00000000 :
AT (0x00000000)
{
Load__text__base = .;
Image__text__Base = .;
*(.text)
*(.glue_7)
*(.glue_7t)
*(.rodata)
*(.rodata.str1.4)
. = ALIGN(4);
}
Image_RO_Limit = SIZEOF(ROM_EXEC);
.data 0x30500000 :
AT( SIZEOF(ROM_EXEC) )
{
Image_RW_Base = .;
*(.data)
}
.bss (NOLOAD) :
{
Image_ZI_Base = .;
*(.bss)
*(COMMON)
. = ALIGN(4);
*(Heap)
. = ALIGN(4);
Image_ZI_Limit = .;
__end__ = . ;
end = .;
}
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -