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.

[参考译文] ARMCL 编译器中的 NO_STM 选项

Guru**** 2577385 points


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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1161849/no_stm-option-in-armcl-compilers

尊敬的乔治:

由于 TMS570 revA/B 上的硬件错误、任何使用 STMxx 指令写入外部存储器的操作都会 导致后续写入操作失败。 已修复了修订版 C 芯片上的硬件错误。  

TI ARMCL 编译器5.1.3和更高版本支持"--no_STM"编译选项、该选项可防止为任何写入存储器的操作生成 STMxx 指令。 我的一位客户喜欢了解:

1.最新的 ARMCL 编译器是否仍然支持此选项? 对于 exemple TI v20.2.x 在将--no_STM 选项添加到编译器编译标记后、我收到了此警告消息。 是否需要此消息?

2.使用--no_STM 时, 将为 memcpy 和 memset C/C++函数调用"no_stm_memcpy"和"no_stm_memset"。 这是否意味着只有 memcpy 和 memset 函数生成 STMxx 指令? STMxx 是否由任何其他 C/C++函数生成?

3、客户告知使用 LDMxx 指令时发现了问题。 是否有任何方法阻止 ARMCL 编译器生成 LDMxx 指令?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用 userid="45190" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1161849/no_stm-option-in-armcl-compilers "]此选项是否仍然受最新的 ARMCL 编译器支持?

    是的

    [引用 userid="45190" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1161849/no_stm-option-in-armcl-compilers ]]在编译器编译标记中添加--no_STM 选项后,我收到了此警告消息。 是否需要此消息?

    预计会出现 CCS 发出的警告。

    [引用 userid="45190" URL"~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1161849/no_stm-option-in-armcl-compilers 使用--no_STM 时、 将为 memcpy 和 memset C/C++函数调用"no_stm_memcpy"和"no_stm_memset"。 这是否意味着只有 memcpy 和 memset 函数生成 STMxx 指令?

    [引用 userid="45190" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1161849/no_stm-option-in-armcl-compilers "] STMxx 是否由任何其他 C/C++函数生成?

    是的。  但仅用于在堆栈上保留寄存器。  如果堆栈被分配给内部存储器、则不会出现问题。

    以上都是我的理解、器件勘误表文档包含了所有这些详细信息。  我找不到该文档。  因此、虽然我相信此帖子中的所有信息都是准确的、但我尚未确认。

    [引用 userid="45190" url="~/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/1161849/no_stm-option-in-armcl-compilers "]是否有任何方法阻止 ARMCL 编译器生成 LDMxx 指令?

    谢谢、此致、

    乔治

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

    尊敬的乔治:

    感谢您的快速响应。 我的所有问题都已得到解答!