1

我的 COSMIC-C 链接器为我的 STM8S 微控制器项目生成了一个映射文件,尽管有一些熟悉的部分,但有点缺乏表达力。

这是地图文件输出和一些模块:

                                --------
                               Segments
                               --------

start 00008080 end 00008084 length     4 segment .const
start 00008087 end 00008298 length   529 segment .text
start 00004000 end 00004000 length     0 segment .eeprom
start 00000000 end 00000000 length     0 segment .bsct
start 00000000 end 0000000a length    10 segment .ubsct
start 0000000a end 0000000a length     0 segment .bit
start 0000000a end 0000000a length     0 segment .share
start 00000100 end 00000100 length     0 segment .data
start 00000100 end 00000100 length     0 segment .bss
start 00000000 end 000003be length   958 segment .info.
start 00008000 end 00008080 length   128 segment .const
start 00008084 end 00008087 length     3 segment .init


                               -------
                               Modules
                               -------

D:\Program Files (x86)\COSMIC\FSE_Compilers\CXSTM8\lib\crtsi0.sm8:
start 00008087 end 000080d7 length    80 section .text
start 00000100 end 00000100 length     0 section .bss
start 00000000 end 00000000 length     0 section .ubsct
start 00000000 end 00000034 length    52 section .info.

Release\clockcontrol.o:
start 000080d7 end 000080f7 length    32 section .text
start 00000034 end 000000c1 length   141 section .info.

Release\main.o:
start 000080f7 end 00008145 length    78 section .text
start 000000c1 end 00000146 length   133 section .info.
start 00008080 end 00008084 length     4 section .const

我知道.text.data。我可以假设bsctubsctdatabss(尽管已经有 .data 和 .bss );还有关于.eeprom.const可能代表它们明显的内存部分。但 :

  1. .info、.bit、.share、.init 是什么?
  2. 我对 .bsct 和 .ubsct 的假设是否正确?如果不是,这些部分是什么,如果是,为什么我们同时拥有 .bsct/.ubsct 和 .data/.bss ?
  3. 为什么我们有两个.const?(它们是连续的)
  4. 尽管已定义,但问题 1 中提到的所有项目都没有出现在我的代码的任何模块中。它们只是标准吗?
  5. 这些部分是否遵循命名约定,或者它们只是 COSMIC 之外的东西?我的意思是它们是否是标准的。

有很多thanx。

更新

COSMIC 链接器文档有很多关于如何制作链接器脚本的描述,但没有预定义的表格。似乎脚本是由 STVD(IDE)编辑的。尽管如此,有一个示例(与我的问题不太相关)可能会有所帮助:

在此处输入图像描述

4

0 回答 0