This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TMS320F280025C:无法链接 f28002x_globalvariabledefs.c

Guru**** 2431560 points
Other Parts Discussed in Thread: C2000WARE

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1531509/tms320f280025c-unable-to-link-f28002x_globalvariabledefs-c

器件型号:TMS320F280025C
主题:C2000WARE 中讨论的其他器件

工具/软件:

您好:

在工程中、我想链接 f28002x_globalvariabledefs.c 中的全局变量定义 我试用了 c2000Ware、版本 5.02、5.04 和 5.05、所有这些都具有非常相同的结果:f28002x_globalvariabledefs.c 中的 UidRegsFile 段不适合 UID 存储器、如 f28002x_headers_nonbios.cmd 中所定义:

"/Applications/ti/c2000/C2000Ware_5_05_00_00/device_support/f28002x/headers/cmd/f28002x_headers_nonBIOS.cmd", line 224: error #10099-D: 
   program will not fit into available memory, or the section contains a call
   site that requires a trampoline that can't be generated for this section.
   run placement with alignment/blocking fails for section "UidRegsFile" size
   0x10 page 1.  Available memory ranges:
   UID          size: 0x10         unused: 0x10         max hole: 0x10      

`UidRegs`定义如下:

#ifdef __cplusplus
#pragma DATA_SECTION("UidRegsFile")
#else
#pragma DATA_SECTION(UidRegs,"UidRegsFile");
#endif
volatile struct UID_REGS UidRegs;

在链接器脚本 (f28002x_headers_nonbios.cmd) 中、`UidRegsFile`放置在`UID`中:

   UidRegsFile                : > UID, type=NOINIT

在非常相同的链接器脚本中、`UID`定义为:

   UID                        : origin = 0x000701F4, length = 0x00000010

根据`struct UID_REGS`(取自 f28002x_OTP.h)的定义、结构的大小为 0x10(8 个 UINT32 成员)。 这“应该“适合 UID 存储器,所以我怀疑问题不是数据结构的大小,而是结构的对齐(并且错误消息有点误导)。 将 UID 存储器的大小更改为 0x20。 链接有效、根据映射文件、UID_REGS 放置在 00070200(不是 00701F4)!

我要编写“TMS320F28002x 实时微控制器“参考手册 (SPRUIN7C)、据此、 UidRegs 应从 0x0007_01E8(不是 00701F4)开始 。 将 UID 存储器的链接器脚本条目更改为该起始地址可以修复链接器 错误。

这是已知问题吗? 我的分析是否正确?

此致

Torsten

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的  Torsten:

    感谢您指出这一点。 链接器脚本似乎存在某种问题。 让我与我的团队核实 此原始地址是否是有意的 、然后返回给您。 请给我们更多时间、因为开发人员目前正在休假。

    谢谢。此致、

    Sudesshna

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Torsten:

    此问题将在下一个版本中修复。

    谢谢。此致、

    Sudesshna