*(EXCLUDE_FILE (*crtend.o) .ctors)EXCLUDE_FILE(文件列表)表示剔除指定的输入文件,即不包含这些文件的指定段。 *(.text .rdata)这种方法两个段顺序是不定的。 *(.text) *(.rdata)这种方法两个段顺序是固定的。 data.o(.data)指定某个文件的某个段。 3.3.7 输入段 通用符号(common symbols) 在许多...
其中*符号为多字符通配符,加入.text*是因为如果编译器开启-ffunction-sections选项,会给所有的函数生成单独的text段,例如main函数会生成.text.main段,加入.text*就可以覆盖这些text段。 假如我们想把目标文件中test.o这个文件从中取出来放在另外的FLASH2地址,可以这么实现: (1)在FLASH段的描述中使用EXCLUDE_FILE把该...
其内容如下,这里是告诉 FreeMarker 不要将 critical_code.o 里的 RO data 段放进主 RO data 段里一起处理。 *(EXCLUDE_FILE(*critical_code.o) .rodata) *(EXCLUDE_FILE(*critical_code.o) .rodata.*) *(EXCLUDE_FILE(*critical_code.o) .constdata) *(EXCLUDE_FILE(*critical_code.o) .constdata.*...
其内容如下,这里是告诉 FreeMarker 不要将 critical_code.o 里的 RO data 段放进主 RO data 段里一起处理。 *(EXCLUDE_FILE(*critical_code.o) .rodata) *(EXCLUDE_FILE(*critical_code.o) .rodata.*) *(EXCLUDE_FILE(*critical_code.o) .constdata) *(EXCLUDE_FILE(*critical_code.o) .constdata.*...
KEEP (*(.fini_array EXCLUDE_FILE (*crtbegin.o *crtbegin?.o *crtend.o *crtend?.o ) .dtors)) PROVIDE_HIDDEN (__fini_array_end = .); } .ctors : { /* gcc uses crtbegin.o to find the start of the constructors, so we make sure it is ...
the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) ...
ARMCM4.S and Device/ARM/ARMCM4/Source/GCC/gcc_arm.ld) 没有修改,但我也尝试修改闪存和 .ld ...
*crtbegin.o(.ctors)*crtbegin?.o(.ctors)*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)...
the crtend.o file until after the sorted ctors. The .ctor section from the crtend file contains the end of ctors marker and it must be last */ KEEP (*(EXCLUDE_FILE (*crtend.o *crtend?.o ) .ctors)) KEEP (*(SORT(.ctors.*))) ...
gcc -o gcc_create_map_file gcc_create_map_file.c -Wl,-Map=gcc.map 测试输出,完全没有问题: 编辑 我们对比2个编译命令可以发现,其实就是在原编译命令的后面加上了"-Wl,-Map=gcc.map";其中-Wl,是告诉gcc编译器,这个是ld的选项参数;而-Map=xxx.map就是指定map文件输出的文件名称,这个名称xxx可以...