c - _f_data_rom 链接描述文件符号

标签 c embedded microcontroller codewarrior

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

链接器脚本使用不同的地址初始化这些变量。问题是一个变量有错误的地址。在链接器脚本中,它通过以下命令初始化 _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;

最佳答案

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

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

关于c - _f_data_rom 链接描述文件符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37877554/

相关文章:

c - 初始化 Malloc 结构

c - AVR C编程延迟按下按钮的两个功能

embedded - 通过 USB 模拟 UART

c - 我如何使用 crt0.o 在我的裸机 C 程序中设置 .bss 和 .data?

javascript - 从网络调试 - 嵌入式板

c++ - 如何在一个类中同时运行某些东西(在单线程平台中)?

c - 写入超过 2.5GB 后,fputs 的性能下降。为什么?

C、XPMEM和锁

embedded - 嵌入式编程的替代语言

c - 使用 HCS12 微 Controller 防止读取撕裂