C _f_数据_rom链接器脚本符号
我正在编写微控制器32位和C _f_数据_rom链接器脚本符号,c,embedded,microcontroller,codewarrior,C,Embedded,Microcontroller,Codewarrior,我正在编写微控制器32位和codewarior编译器的启动代码,因为我们必须处理链接器脚本。启动代码中用于初始化RAM和stack的某些变量来自链接器脚本 链接器脚本使用不同的地址初始化这些变量。问题是一个变量的地址错误。在链接器脚本中,它通过以下命令初始化\u f\u data\u rom 有人能告诉我链接器是如何初始化变量的吗 堆栈地址,RAM初始化 此命令的含义是什么 看起来像 RC_SDATA_SRC = _f_sdata_rom; RC_SDATA_DEST
codewarior
编译器的启动代码,因为我们必须处理链接器脚本。启动代码中用于初始化RAM
和stack
的某些变量来自链接器脚本
链接器脚本使用不同的地址初始化这些变量。问题是一个变量的地址错误。在链接器脚本中,它通过以下命令初始化\u f\u data\u rom
- 有人能告诉我链接器是如何初始化变量的吗 堆栈地址,RAM初始化
- 此命令的含义是什么
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;
查看第69页,您必须查看这些变量的导出方式,例如:
在同一文档的第65页,您可以找到为链接器配置地址的表单。查看并检查这些设置。查看第69页,您必须查看这些变量的导出方式,例如:
在同一文档的第65页,您可以找到为链接器配置地址的表单。查看并检查这些设置。您应该发布整个链接器脚本。顺便说一句,我猜这是闪存中静态数据位置的地址。通常被定义为闪存地址空间中的某个部分。这些变量似乎是源(闪存)和目标(ram)地址,用于在启动时复制bss部分分配变量的值(例如start.s)。是的,您是对的,它正在执行相同的工作。但问题是“数据rom”获取错误的闪存地址。所以我很担心,这个commad“数据rom”是如何工作的?如何修复它获取闪存的正确地址。我猜这些值是根据项目设置自动计算的。请看我在回答中提到的第65页。你应该发布整个链接器脚本。顺便说一句,我猜这是闪存中静态数据位置的地址。通常被定义为闪存地址空间中的某个部分。这些变量似乎是源(闪存)和目标(ram)地址,用于在启动时复制bss部分分配变量的值(例如start.s)。是的,您是对的,它正在执行相同的工作。但问题是“数据rom”获取错误的闪存地址。所以我很担心,这个commad“数据rom”是如何工作的?如何修复它获取闪存的正确地址。我猜这些值是根据项目设置自动计算的。请看一下我在回答中提到的第65页。