1

我正在研究 32 位微控制器和codewarrior编译器的启动代码,因为我们必须处理链接器脚本。启动代码中用于初始化的某些变量RAM来自stack链接描述文件。

链接描述文件用不同的地址初始化这些变量。问题是一个变量的地址错误。在链接器脚本中,它通过以下命令初始化 _f_data_rom

  • 谁能告诉我链接器如何初始化为堆栈、RAM 初始化提供地址的变量?
  • 这个命令是什么意思_f_data_rom

看起来像

RC_SDATA_SRC       = _f_sdata_rom;
RC_SDATA_DEST      = _f_sdata;
RC_SDATA_SIZE      = (SIZEOF(.sdata)+3) / 4;
RC_DATA_SRC        = _f_data_rom;
RC_DATA_DEST       = _f_data;
RC_DATA_SIZE       = (SIZEOF(.data)+3) / 4;
4

1 回答 1

0

在第 69 页查看此文档,您必须查看__ppc_eabi_linker.h这些变量是如何导出的,例如:this link to file

在同一个文档的第 65 页,您可以找到为链接器配置地址的表单。看一下并检查这些设置。

于 2016-06-17T09:39:42.250 回答