【发布时间】:2019-04-11 17:45:57
【问题描述】:
我一直在阅读sections documentation for ld,但有些不清楚。
鉴于部分链接器脚本:
MEMORY
{
FLASH1 (rx) : ORIGIN = 0x000FB000, LENGTH = 0x05000
FLASH2 (r) : ORIGIN = 0x000FA000, LENGTH = 0x01000
}
SECTIONS
{
.some_code :
{
KEEP(*(SORT(.some_code*)))
} > FLASH1
}
SECTIONS
{
.my_page :
{
KEEP(*(SORT(.my_page*)))
} > FLASH2
}
有没有理由在上面的单个链接器脚本中包含 2 个部分命令,而不是在下面的 1 个部分命令中包含所有命令?
SECTIONS
{
.some_code :
{
KEEP(*(SORT(.some_code*)))
} > FLASH1
.my_page :
{
KEEP(*(SORT(.my_page*)))
} > FLASH2
}
或者它们是等价的。是否还有其他情况需要像这样拆分?
补充说明:我要求有单独的“SECTIONS”命令(每个都有自己的部分定义块)的原因,而不是一般情况下要求单独的部分的原因。
【问题讨论】: