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.

[参考译文] TI-CGT:压缩段的链接器 CRC 表

Guru**** 2419530 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1533568/ti-cgt-linker-crc-table-for-compressed-section

器件型号:TI-CGT
主题中讨论的其他器件:MSP-CGT

工具/软件:

您好:

我无法让链接器为具有不同运行和加载地址的压缩段生成 CRC 表。

在链接器文件中、我具有:

.custom.data : {} LOAD=FLASH crc_table(CRC_TBL, algorithm=CRC16_802_15_4) RUN=RAM TABLE(CUSTOM_INIT, compression=lzss)

/*          */

.customInit	: {
   		*(.ovly:CUSTOM_INIT)
   	} > FLASH START(CUSTOM_INIT_BASE) END(CUSTOM_INIT_LIMIT) crc_table(CRC_TBL, algorithm=CRC16_802_15_4)

但当我构建它时、我得到:

warning #99922: PROJ.out: accessing the raw data of section ".custom.data" which is uninitialized according to its section attributes; changes to raw data may be lost

在映射文件中、可以看到.custom.data.load 正确创建了该文件(如果我反汇编 ELF 文件,也可以看到该文件)。 .custominit段(复制表)有一个正确的 CRC 条目。 但是、段源数据的 CRC 表条目不正确、它引用了段的运行地址和运行大小、但应该会引用该段。 .custom.data.load

在链接器命令文件中添加专用行来生成的 CRC 条目.custom.data.load不起作用。

有任何关于如何使其正常运行的提示? 我目前使用的是 MSP-21.6CG0.1.LTS。

谢谢!

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

    我不想...

    具有不同运行和加载地址的压缩段的 CRC 表

    支持...。  当我为您检查时、请告诉我您认为它应该如何起作用。  目前、应忽略它在链接器命令文件中的写入方式。  请描述运行时发生的情况。  请务必描述不同步骤的发生顺序。

    谢谢。此致、

    -乔治

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

    理想情况下、链接器会:

    1-压缩加载时间区段数据并执行最终放置。

    2 — 计算压缩加载时段数据的 CRC、并在指定 CRC 表中添加一个条目。

    有趣的是、 当用于该 .cinit段或未压缩的段时、CRC 运算符的工作方式是这样的。 我也在寻找相同的功能。

    在运行时、我会:

    1 — 对要加载的压缩数据执行 CRC 验证。

    2 — 调用函数以解压缩数据并将其加载到运行时位置。 copy_in

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

    我可以确认...

    具有不同运行和加载地址的压缩段的 CRC 表

    不支持...。  具体来说、“压缩“器件不受支持。  我提交了 EXT_EP-12699 以请求将此特性添加到链接器。  请理解、这只是一个请求。  请勿将其视为将添加的保证。

    谢谢。此致、

    -乔治